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 | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 226 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 ac281c0..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. @@ -32,12 +42,14 @@ * @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 @@ -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("鎿嶄綔鎴愬姛"); } @@ -156,7 +209,7 @@ } @LoginRequired - @ApiOperation("闂ㄥ簵鍒楄〃") + @ApiOperation(value = "闂ㄥ簵鍒楄〃", notes = "瀹㈡埛绔皬绋嬪簭") @PostMapping("/shopPage") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true), }) @@ -166,7 +219,7 @@ @LoginRequired - @ApiOperation("闂ㄥ簵璇︽儏") + @ApiOperation(value = "闂ㄥ簵璇︽儏", notes = "瀹㈡埛绔皬绋嬪簭") @GetMapping("/shopDetail") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true), @@ -178,14 +231,173 @@ } @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("鎿嶄綔鎴愬姛"); + } + + } -- Gitblit v1.9.3