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 | 361 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 347 insertions(+), 14 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 badafea..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,24 +1,38 @@
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.dao.business.model.Member;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+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;
-import com.doumee.service.business.BjParamService;
-import com.doumee.service.business.CustomerService;
-import com.doumee.service.business.MemberService;
+import com.doumee.service.business.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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.
@@ -26,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;
@@ -43,6 +56,31 @@
@Autowired
private CustomerService customerService;
+ @Autowired
+ 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")
@@ -69,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
@@ -101,7 +170,8 @@
})
public ApiResponse saveRenovationCalculator(@RequestBody RenovationCalculatorDTO renovationCalculatorDTO) {
renovationCalculatorDTO.setMemberId(getMemberId());
- customerService.saveRenovationCalculator(renovationCalculatorDTO);
+ CustomerLog customerLog =customerService.saveRenovationCalculator(renovationCalculatorDTO);
+ zbomCRMService.dealCustomerLogData(customerLog);
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
@@ -114,11 +184,12 @@
})
public ApiResponse saveFreeCustomizationApply(@RequestBody FreeCustomizationDTO freeCustomizationDTO) {
freeCustomizationDTO.setMemberId(getMemberId());
- customerService.saveFreeCustomizationApply(freeCustomizationDTO);
+ CustomerLog customerLog = customerService.saveFreeCustomizationApply(freeCustomizationDTO);
+ zbomCRMService.dealCustomerLogData(customerLog);
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
- @LoginRequired
+ /* @LoginRequired
@ApiOperation(value = "娴嬭瘯瑁呬慨椋庢牸", notes = "瀹㈡埛绔皬绋嬪簭")
@PostMapping("/saveTestTrimStyle")
@ApiImplicitParams({
@@ -126,9 +197,271 @@
})
public ApiResponse saveTestTrimStyle(@RequestBody TestTrimStyleDTO testTrimStyleDTO) {
testTrimStyleDTO.setMemberId(getMemberId());
- customerService.saveTestTrimStyle(testTrimStyleDTO);
+ CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO);
+ zbomCRMService.dealCustomerLogData(customerLog);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }*/
+
+ @LoginRequired
+ @ApiOperation(value = "鐢ㄦ埛娉ㄩ攢", notes = "瀹㈡埛绔皬绋嬪簭")
+ @GetMapping("/logOff")
+ public ApiResponse logOff() {
+ getZhongTaiDataService.userLogout(memberService.logOff(getMemberId()));
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
+ @LoginRequired
+ @ApiOperation(value = "闂ㄥ簵鍒楄〃", notes = "瀹㈡埛绔皬绋嬪簭")
+ @PostMapping("/shopPage") @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) {
+ return ApiResponse.success(shopService.queryShopByLL(pageWrap));
+ }
+
+
+ @LoginRequired
+ @ApiOperation(value = "闂ㄥ簵璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭")
+ @GetMapping("/shopDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Long", name = "shopId", value = "闂ㄥ簵涓婚敭", required = true)
+ })
+ public ApiResponse<Shop> shopDetail (@RequestParam Long shopId) {
+ Long memberId = this.getMemberId();
+ return ApiResponse.success(shopService.shopDetail(shopId,memberId));
+ }
+
+ @LoginRequired
+ @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 = "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<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