From 3a355771834c39d38a628132031ce1c52bc64478 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 17 七月 2024 18:25:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/web/src/main/java/com/doumee/api/web/CustomerApi.java | 318 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 297 insertions(+), 21 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 ac281c0..9649463 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,17 @@
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.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 +21,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.
@@ -32,13 +40,12 @@
* @Author : Rk
* @create 2024/7/10 14:03
*/
-@Api(tags = "瀹㈡埛绔皬绋嬪簭鐢ㄦ埛涓氬姟")
+@Api(tags = "銆怌绔皬绋嬪簭銆戠敤鎴蜂笟鍔�")
@Trace(exclude = true)
@RestController
@RequestMapping("/web/customer")
@Slf4j
public class CustomerApi extends ApiController{
-
@Autowired
private MemberService memberService;
@@ -50,13 +57,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 +107,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 +189,7 @@
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
- @LoginRequired
+ /* @LoginRequired
@ApiOperation(value = "娴嬭瘯瑁呬慨椋庢牸", notes = "瀹㈡埛绔皬绋嬪簭")
@PostMapping("/saveTestTrimStyle")
@ApiImplicitParams({
@@ -145,18 +200,18 @@
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("鎿嶄綔鎴愬姛");
}
@LoginRequired
- @ApiOperation("闂ㄥ簵鍒楄〃")
+ @ApiOperation(value = "闂ㄥ簵鍒楄〃", notes = "瀹㈡埛绔皬绋嬪簭")
@PostMapping("/shopPage") @ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
})
@@ -166,7 +221,7 @@
@LoginRequired
- @ApiOperation("闂ㄥ簵璇︽儏")
+ @ApiOperation(value = "闂ㄥ簵璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭")
@GetMapping("/shopDetail")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@@ -178,14 +233,235 @@
}
@LoginRequired
- @ApiOperation("瀵艰喘璇︽儏")
- @GetMapping("/usersDetail")
+ @ApiOperation("鎴戠殑瀵艰喘鍒楄〃")
+ @PostMapping("/myUserPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+ })
+ 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 = "Long", name = "userId", value = "瀵艰喘涓婚敭", required = true)
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "iamId", value = "瀵艰喘IAM缂栫爜", required = true)
})
- public ApiResponse<Users> usersDetail (@RequestParam Long userId) {
- return ApiResponse.success(usersService.usersDetail(userId));
+ 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<ZTBasePageResponse<ZTCusCarouselImageResponse>> getZhongTaiCarouselImage(@RequestBody ZTContentListRequest ztContentListRequest) {
+ ztContentListRequest.setUserId(getMemberId()+"");
+ ztContentListRequest.setUserType(Constants.CUSTOMER);
+ ZTBasePageResponse<ZTCusCarouselImageResponse> ztBasePageResponse = getZhongTaiDataService.getZhongTaiCarouselImage(ztContentListRequest);
+ return ApiResponse.success("鑾峰彇鎴愬姛",ztBasePageResponse);
}
}
--
Gitblit v1.9.3