From 7915bccb915fad88e885d54832b120cf2d36a036 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 17 七月 2024 18:26:56 +0800
Subject: [PATCH] 代码提交

---
 server/web/src/main/java/com/doumee/api/web/CustomerApi.java |  328 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 309 insertions(+), 19 deletions(-)

diff --git a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java b/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
index 0e9ba35..cf30f0d 100644
--- a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -1,15 +1,18 @@
 package com.doumee.api.web;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.biz.zbom.ZbomCRMService;
+import com.doumee.biz.zbom.model.zhongtai.ZTCatalogListRequest;
+import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest;
+import com.doumee.biz.zbom.model.zhongtai.ZTDataDetailRequest;
+import com.doumee.biz.zbom.model.zhongtai.response.*;
 import com.doumee.config.annotation.LoginRequired;
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.model.CustomerLog;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Shop;
-import com.doumee.dao.business.model.Users;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.reqeust.*;
 import com.doumee.dao.web.response.AccountResponse;
 import com.doumee.dao.web.response.BjParamConfigResponse;
@@ -19,12 +22,18 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.beans.Customizer;
+import java.io.InputStream;
+import java.util.List;
 
 /**
  * Created by IntelliJ IDEA.
@@ -39,7 +48,6 @@
 @Slf4j
 public class CustomerApi extends ApiController{
 
-
     @Autowired
     private MemberService memberService;
 
@@ -50,13 +58,30 @@
     private CustomerService customerService;
 
     @Autowired
-    private ZbomCRMService zbomCRMService;
+    private GetZhongTaiDataService getZhongTaiDataService;
 
     @Autowired
     private ShopService shopService;
 
     @Autowired
     private UsersService usersService;
+    @Autowired
+    private ZbomCRMService zbomCRMService;
+
+    @Autowired
+    private CustomerUserService customerUserService;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private CustomerLogService customerLogService;
+
+    @Autowired
+    private NewsService newsService;
+
+    @Autowired
+    private ActionsService actionsService;
 
     @ApiOperation(value = "瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭")
     @GetMapping("/wxLoginCustomer")
@@ -83,10 +108,41 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse updMemberDetail(@RequestBody EditMemberRequest editMemberRequest) {
-        editMemberRequest.setMemberId(getMemberId());
-        memberService.updMemberDetail(editMemberRequest);
-        return  ApiResponse.success("鏇存柊鎴愬姛");
+    public ApiResponse<Member> editMember(@RequestBody EditMemberRequest editMemberRequest) {
+        editMemberRequest.setId(getMemberId());
+        //鍚屾瀵艰喘缁戝畾淇℃伅
+        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
+            customerUserService.syncByPhone(editMemberRequest.getPhone());
+        }
+        return  ApiResponse.success("鏇存柊鎴愬姛",memberService.updMemberDetail(editMemberRequest));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "缁戝畾鎵嬫満鍙蜂俊鎭�", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/binDingPhone")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<Member> binDingPhone(@RequestBody EditMemberRequest editMemberRequest) {
+        editMemberRequest.setId(getMemberId());
+        //鍚屾瀵艰喘缁戝畾淇℃伅
+        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
+            customerUserService.syncByPhone(editMemberRequest.getPhone());
+        }
+        return  ApiResponse.success("鏇存柊鎴愬姛",memberService.updMemberPhone(editMemberRequest));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鍚屾瀵艰喘缁戝畾淇℃伅", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/syncCustomerUser")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "鎵嬫満鍙蜂俊鎭�", required = true),
+    })
+    public ApiResponse syncCustomerUser(@RequestParam String phone) {
+        customerUserService.syncByPhone(phone);
+        return  ApiResponse.success("鍚屾鎴愬姛");
     }
 
     @LoginRequired
@@ -134,7 +190,7 @@
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
-    @LoginRequired
+   /* @LoginRequired
     @ApiOperation(value = "娴嬭瘯瑁呬慨椋庢牸", notes = "瀹㈡埛绔皬绋嬪簭")
     @PostMapping("/saveTestTrimStyle")
     @ApiImplicitParams({
@@ -145,13 +201,13 @@
         CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO);
         zbomCRMService.dealCustomerLogData(customerLog);
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
-    }
+    }*/
 
     @LoginRequired
     @ApiOperation(value = "鐢ㄦ埛娉ㄩ攢", notes = "瀹㈡埛绔皬绋嬪簭")
     @GetMapping("/logOff")
     public ApiResponse logOff() {
-        memberService.logOff(getMemberId());
+        getZhongTaiDataService.userLogout(memberService.logOff(getMemberId()));
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
@@ -178,17 +234,251 @@
     }
 
     @LoginRequired
-    @ApiOperation(value = "瀵艰喘璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭")
-    @GetMapping("/usersDetail")
+    @ApiOperation("鎴戠殑瀵艰喘鍒楄〃")
+    @PostMapping("/myUserPage")
     @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "userId", value = "瀵艰喘涓婚敭", required = true)
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse<Users> usersDetail (@RequestParam Long userId) {
-        return ApiResponse.success(usersService.usersDetail(userId));
+    public ApiResponse<PageData<Users>> myUserPage (@RequestBody PageWrap<Users> pageWrap) {
+        return ApiResponse.success(usersService.findPage(pageWrap));
     }
 
 
+    @LoginRequired
+    @ApiOperation(value = "瀵艰喘璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/usersDetailByIamId")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "iamId", value = "瀵艰喘IAM缂栫爜", required = true)
+    })
+    public ApiResponse<Users> usersDetailByIamId (@RequestParam String iamId) {
+        return ApiResponse.success(usersService.usersDetailByIamId(iamId));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "娴嬭瘯灏忕▼搴廡oken", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/testToken")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse testToken () {
+        systemDictDataBiz.updWxMiniToken();
+        return ApiResponse.success("鏇存柊鎴愬姛");
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "鑾峰彇鍒嗕韩灏忕▼搴忎簩缁寸爜锛堝浘鐗囨祦锛宨mg鏍囩src鎸囧畾锛�", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/generateImg")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public void generateImg(HttpServletResponse response) {
+        try{
+            response.setHeader("Cache-Control", "no-store, no-cache");
+            response.setContentType("image/jpeg");
+            InputStream inputStream = Constants.generateWxMiniImgStream(
+                    systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_TOKEN_CUSTOMER).getCode(),"123",""
+            );
+            ImageIO.write(ImageIO.read(inputStream),"png",response.getOutputStream());
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "鎴戠殑棰勭害 鍒嗛〉鏌ヨ",notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/customerLogPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<PageData<CustomerLog>> customerLogPage(@RequestBody PageWrap<CustomerLog> pageWrap) {
+        pageWrap.getModel().setCostomerId(getMemberId().toString());
+        return ApiResponse.success(customerLogService.findPage(pageWrap));
+    }
+
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "鍒嗙被鏁版嵁 - 涓彴", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/getCatalogList")
+    @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);
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "鏍囩鏁版嵁 - 涓彴", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/getCataLogTagList")
+    @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) {
+        ztContentListRequest.setUserId(getMemberId()+"");
+        ztContentListRequest.setUserType(Constants.CUSTOMER);
+        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.CUSTOMER,getMemberId());
+        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(getMemberId(),Constants.CUSTOMER,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(getMemberId(),Constants.CUSTOMER,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(getMemberId(),Constants.CUSTOMER,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(getMemberId(),Constants.CUSTOMER,id);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "瀹氬埗鏈嶅姟鍒楄〃", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/getCustomizedNewsList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<News>> getCustomizedNewsList() {
+        return ApiResponse.success("鏌ヨ鎴愬姛",newsService.getCustomizedNewsList(Constants.ONE,null,null));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "瀹氬埗鏈嶅姟璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/getCustomizedNewsDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "id", value = "涓氬姟鏁版嵁涓婚敭", required = true),
+    })
+    public ApiResponse<News> getCustomizedNewsDetail(@RequestParam Long id) {
+        return ApiResponse.success("鏌ヨ鎴愬姛",newsService.getCustomizedNewsDetail(id));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "淇濆瓨鎺ㄥ箍鍜ㄨ鍒嗕韩璁板綍", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/saveShareRecord")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "id", value = "鎺ㄥ箍鍜ㄨ涓婚敭", required = true),
+    })
+    public ApiResponse saveShareRecord(@RequestParam Long id) {
+        newsService.saveShareRecord(id,getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "鎴戠殑鍠滄鍒楄〃", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/getZhongTaiCusFavorite")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<ZTBasePageResponse<ZTCusFavoritesInfoResponse>> getZhongTaiCusFavorite(@RequestBody ZTContentListRequest ztContentListRequest) {
+        ztContentListRequest.setUserId(getMemberId()+"");
+        ztContentListRequest.setUserType(Constants.CUSTOMER);
+        ZTBasePageResponse<ZTCusFavoritesInfoResponse> ztBasePageResponse = getZhongTaiDataService.getZhongTaiCusFavorite(ztContentListRequest);
+        return ApiResponse.success("鑾峰彇鎴愬姛",ztBasePageResponse);
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "杞挱鍥惧垪琛�", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/getZhongTaiCarouselImage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<ZTCusCarouselImageResponse>> getZhongTaiCarouselImage(@RequestBody ZTContentListRequest ztContentListRequest) {
+        ztContentListRequest.setUserId(getMemberId()+"");
+        ztContentListRequest.setUserType(Constants.CUSTOMER);
+        List<ZTCusCarouselImageResponse> ztCusCarouselImageResponseList = getZhongTaiDataService.getZhongTaiCarouselImage(ztContentListRequest);
+        return ApiResponse.success("鑾峰彇鎴愬姛",ztCusCarouselImageResponseList);
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation(value = "杞挱鍥捐鎯�", notes = "瀹㈡埛绔皬绋嬪簭")
+    @PostMapping("/getZhongTaiCarouselImageDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<ZTCusCarouselImageResponse> getZhongTaiCarouselImageDetail(@RequestBody ZTDataDetailRequest ztDataDetailRequest) {
+        ztDataDetailRequest.setUserId(getMemberId()+"");
+        ztDataDetailRequest.setUserType(Constants.CUSTOMER);
+        ZTCusCarouselImageResponse ztCusCarouselImageResponse = getZhongTaiDataService.getZhongTaiCarouselImageDetail(ztDataDetailRequest);
+        return ApiResponse.success("鑾峰彇鎴愬姛",ztCusCarouselImageResponse);
+    }
 
 
 }

--
Gitblit v1.9.3