From 0743a3120f3c74839254e77cd77ae9dba0a54868 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 17 七月 2024 12:03:26 +0800
Subject: [PATCH] 提交

---
 server/web/src/main/java/com/doumee/api/web/CustomerApi.java |  233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 221 insertions(+), 12 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..e5a1451 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,11 +1,16 @@
 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.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.core.utils.Constants;
 import com.doumee.dao.business.model.CustomerLog;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.Shop;
@@ -19,12 +24,17 @@
 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.io.InputStream;
+import java.util.List;
 
 /**
  * Created by IntelliJ IDEA.
@@ -40,6 +50,8 @@
 public class CustomerApi extends ApiController{
 
 
+
+
     @Autowired
     private MemberService memberService;
 
@@ -50,13 +62,23 @@
     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;
 
     @ApiOperation(value = "瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭")
     @GetMapping("/wxLoginCustomer")
@@ -83,10 +105,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
@@ -143,7 +196,7 @@
     public ApiResponse saveTestTrimStyle(@RequestBody TestTrimStyleDTO testTrimStyleDTO) {
         testTrimStyleDTO.setMemberId(getMemberId());
         CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO);
-        zbomCRMService.dealCustomerLogData(customerLog);
+//        zbomCRMService.dealCustomerLogData(customerLog);
         return  ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
@@ -178,17 +231,173 @@
     }
 
     @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("鎿嶄綔鎴愬姛");
+    }
 
 
 }

--
Gitblit v1.9.3