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 | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 312 insertions(+), 10 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 3dbee62..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,25 +1,40 @@ 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.web.reqeust.EditMemberRequest; -import com.doumee.dao.web.reqeust.WxPhoneRequest; +import com.doumee.dao.business.model.Shop; +import com.doumee.dao.business.model.Users; +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.io.InputStream; +import java.util.List; /** * Created by IntelliJ IDEA. @@ -27,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 @@ -44,6 +61,24 @@ @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; @ApiOperation(value = "瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭") @GetMapping("/wxLoginCustomer") @@ -70,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 @@ -94,8 +160,244 @@ } + @LoginRequired + @ApiOperation(value = "瑁呬慨璁$畻鍣ㄤ俊鎭瓨鍌�", notes = "瀹㈡埛绔皬绋嬪簭") + @PostMapping("/saveRenovationCalculator") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true) + }) + public ApiResponse saveRenovationCalculator(@RequestBody RenovationCalculatorDTO renovationCalculatorDTO) { + renovationCalculatorDTO.setMemberId(getMemberId()); + CustomerLog customerLog =customerService.saveRenovationCalculator(renovationCalculatorDTO); + zbomCRMService.dealCustomerLogData(customerLog); + return ApiResponse.success("鎿嶄綔鎴愬姛"); + } + @LoginRequired + @ApiOperation(value = "0鍏冨畾鍒朵俊鎭�", notes = "瀹㈡埛绔皬绋嬪簭") + @PostMapping("/saveFreeCustomizationApply") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true) + }) + public ApiResponse saveFreeCustomizationApply(@RequestBody FreeCustomizationDTO freeCustomizationDTO) { + freeCustomizationDTO.setMemberId(getMemberId()); + CustomerLog customerLog = customerService.saveFreeCustomizationApply(freeCustomizationDTO); + zbomCRMService.dealCustomerLogData(customerLog); + return ApiResponse.success("鎿嶄綔鎴愬姛"); + } + + @LoginRequired + @ApiOperation(value = "娴嬭瘯瑁呬慨椋庢牸", notes = "瀹㈡埛绔皬绋嬪簭") + @PostMapping("/saveTestTrimStyle") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true) + }) + public ApiResponse saveTestTrimStyle(@RequestBody TestTrimStyleDTO testTrimStyleDTO) { + testTrimStyleDTO.setMemberId(getMemberId()); + CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO); +// zbomCRMService.dealCustomerLogData(customerLog); + return ApiResponse.success("鎿嶄綔鎴愬姛"); + } + + @LoginRequired + @ApiOperation(value = "鐢ㄦ埛娉ㄩ攢", notes = "瀹㈡埛绔皬绋嬪簭") + @GetMapping("/logOff") + public ApiResponse logOff() { + 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("鎿嶄綔鎴愬姛"); + } } -- Gitblit v1.9.3