liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -1,11 +1,11 @@
package com.doumee.api.web;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.model.crm.CrmCustomerListRequest;
import com.doumee.biz.zbom.model.crm.response.CRMBaseResponse;
import com.doumee.biz.zbom.model.crm.response.CRMCustomerListResponse;
import com.doumee.biz.zbom.model.zhongtai.ZTCatalogListRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest;
import com.doumee.biz.zbom.model.zhongtai.*;
import com.doumee.biz.zbom.model.zhongtai.response.*;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.config.annotation.UserLoginRequired;
@@ -16,12 +16,12 @@
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.dao.web.reqeust.EditMemberRequest;
import com.doumee.dao.web.reqeust.EditShopDTO;
import com.doumee.dao.web.reqeust.EditUsersRequest;
import com.doumee.dao.web.reqeust.ContentShareImgDto;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.web.reqeust.*;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.*;
import com.doumee.service.system.SystemDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -32,7 +32,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.Objects;
/**
 * Created by IntelliJ IDEA.
@@ -62,6 +64,7 @@
    @Autowired
    private GetZhongTaiDataService getZhongTaiDataService;
    @ApiOperation(value = "小程序登陆", notes = "员工端小程序")
    @GetMapping("/loginByWx")
    @ApiImplicitParams({
@@ -84,15 +87,15 @@
    }
    @ApiOperation(value = "手机号验证码登陆", notes = "员工端小程序")
    @GetMapping("/loginByPhone")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "短信验证码", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "openid", required = false),
    })
    public ApiResponse<AccountResponse> loginByPhone(@RequestParam String phone,@RequestParam String code) {
        return  ApiResponse.success(usersService.phoneLogin(phone,code));
    public ApiResponse<AccountResponse> loginByPhone(@RequestParam String phone,@RequestParam String code,String openid) {
        return  ApiResponse.success(usersService.phoneLogin(phone,code,openid));
    }
@@ -101,12 +104,20 @@
    @GetMapping("/bindingOpenid")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "openid", required = true),
    })
    public ApiResponse bindingOpenid(@RequestParam String code) {
        usersService.bindingOpenid(code,getUserId());
    public ApiResponse bindingOpenid(@RequestParam String openid) {
        usersService.bindingOpenid(openid,getUserId());
        return  ApiResponse.success("操作成功");
    }
    @ApiOperation(value = "手机号快捷登录", notes = "员工端小程序")
    @PostMapping("/getWxMiniPhoneLogin")
    public ApiResponse<AccountResponse> getWxMiniPhone(@Valid @RequestBody WxPhoneRequest wxPhoneRequest) {
        return  ApiResponse.success("获取成功",usersService.getWxMiniPhoneLogin(wxPhoneRequest));
    }
    @UserLoginRequired
    @ApiOperation(value = "获取个人信息详情", notes = "员工端小程序")
@@ -114,9 +125,8 @@
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse getUserDetail() {
        usersService.usersDetailById(getUserId());
        return  ApiResponse.success("操作成功");
    public ApiResponse<Users> getUserDetail() {
        return  ApiResponse.success("操作成功",usersService.usersDetailById(getUserId()));
    }
    @UserLoginRequired
@@ -130,6 +140,7 @@
        usersService.editUserInfo(editUsersRequest);
        return  ApiResponse.success("更新成功");
    }
    @UserLoginRequired
    @ApiOperation(value = "门店分页", notes = "员工端小程序")
    @PostMapping("/shopPage")
@@ -138,6 +149,16 @@
    })
    public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) {
        return ApiResponse.success(shopService.findPage(pageWrap));
    }
    @UserLoginRequired
    @ApiOperation(value = "获取员工管理门店列表", notes = "员工端小程序")
    @GetMapping("/userShopList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<Shop>> userShopList () {
        return ApiResponse.success(shopService.getUserShopList(getMemberId()));
    }
    @UserLoginRequired
@@ -153,7 +174,7 @@
    @UserLoginRequired
    @ApiOperation(value = "修改门店信息", notes = "员工端小程序")
    @GetMapping("/updShop")
    @PostMapping("/updShop")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
@@ -162,14 +183,40 @@
        return ApiResponse.success("操作成功");
    }
    @UserLoginRequired
    @ApiOperation(value = "获取个人名片", notes = "员工端小程序")
    @PostMapping("/getUserCard")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<String> getUserCard() {
        return  ApiResponse.success(usersService.getUserCard(this.getLoginUserInfo()));
    }
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "更新token", notes = "员工端小程序")
    @GetMapping("/updateToken")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse updateToken () {
        systemDictDataBiz.updWxMiniToken();
        return ApiResponse.success("操作成功");
    }
    @UserLoginRequired
    @ApiOperation(value = "获取内容分享海报", notes = "获取内容分享海报,加小程序码")
    @PostMapping("/getContentShareImg")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<String> getContentShareImg(@RequestBody ContentShareImgDto param) {
        return  ApiResponse.success(usersService.getContentShareImg(this.getLoginUserInfo(),param));
    }
@@ -187,104 +234,33 @@
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "分类数据 - 中台", notes = "客户端小程序")
    @PostMapping("/getCatalogList")
    @ApiOperation(value = "批量添加喜欢给客户", notes = "员工端小程序")
    @PostMapping("/batchAddLike")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<ZTCatalogInfoResponse>> getCatalogList (@RequestBody ZTCatalogListRequest ztCatalogListRequest ) {
        List<ZTCatalogInfoResponse> ztCatalogInfoResponseList = getZhongTaiDataService.getCatalogList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztCatalogInfoResponseList);
    public ApiResponse batchAddLike(@RequestBody ZTBatchAddListRequest ztBatchAddListRequest) {
        ztBatchAddListRequest.setUserType(getUserType());
        ztBatchAddListRequest.setUserId(getUserId().toString());
        getZhongTaiDataService.batchAddLike(ztBatchAddListRequest);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "标签数据 - 中台", notes = "客户端小程序")
    @PostMapping("/getCataLogTagList")
    @UserLoginRequired
    @ApiOperation(value = "用户注销", notes = "员工端小程序")
    @PostMapping("/logOff")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<List<ZTTagInfoResponse>> getCataLogTagList(@RequestBody ZTCatalogListRequest ztCatalogListRequest ) {
        List<ZTTagInfoResponse> ztTagInfoResponseList = getZhongTaiDataService.getCataLogTagList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztTagInfoResponseList);
    }
    @LoginRequired
    @ApiOperation(value = "内容分页 - 中台", notes = "客户端小程序")
    @PostMapping("/pageContentList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTContentListResponse>> pageContentList(@RequestBody ZTContentListRequest ztContentListRequest) {
        ZTBasePageResponse<ZTContentListResponse>  ztBasePageResponse= getZhongTaiDataService.pageContentList(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @LoginRequired
    @ApiOperation(value = "内容详情 - 中台", notes = "客户端小程序")
    @GetMapping("/getContentInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse<ZTContentInfoResponse> getContentInfo(@RequestParam String id) {
        ZTContentInfoResponse ztContentInfoResponse= getZhongTaiDataService.getContentInfo(id,Constants.BUSINESS,getUserId());
        return ApiResponse.success("查询成功",ztContentInfoResponse);
    }
    @LoginRequired
    @ApiOperation(value = "内容收藏 - 中台", notes = "客户端小程序")
    @GetMapping("/collectContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse collectContent(@RequestParam String id) {
        getZhongTaiDataService.collectContent(getUserId(),Constants.BUSINESS,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容喜欢 - 中台", notes = "客户端小程序")
    @GetMapping("/likeContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse likeContent(@RequestParam String id) {
        getZhongTaiDataService.likeContent(getUserId(),Constants.BUSINESS,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容分享 - 中台", notes = "客户端小程序")
    @GetMapping("/shareContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse shareContent(@RequestParam String id) {
        getZhongTaiDataService.shareContent(getUserId(),Constants.BUSINESS,id);
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "内容浏览 - 中台", notes = "客户端小程序")
    @GetMapping("/viewContent")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
    })
    public ApiResponse viewContent(@RequestParam String id) {
        getZhongTaiDataService.viewContent(getUserId(),Constants.BUSINESS,id);
        return ApiResponse.success("操作成功");
    public ApiResponse logOff() {
        ZTBaseRequst ztBaseRequst = usersService.logOff(getUserId(),getToken());
        if(Objects.nonNull(ztBaseRequst)){
            getZhongTaiDataService.userLogout(ztBaseRequst);
        }
        return  ApiResponse.success("操作成功");
    }
}