|  |  | 
 |  |  | package com.doumee.api.web; | 
 |  |  |  | 
 |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
 |  |  | import com.doumee.biz.zbom.ZbomCRMService; | 
 |  |  | 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; | 
 |  |  | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by IntelliJ IDEA. | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private UsersService usersService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private CustomerUserService customerUserService; | 
 |  |  |  | 
 |  |  |     @ApiOperation(value = "客户端小程序登陆", notes = "客户端小程序") | 
 |  |  |     @GetMapping("/wxLoginCustomer") | 
 |  |  |     @ApiImplicitParams({ | 
 |  |  | 
 |  |  |     @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 | 
 |  |  | 
 |  |  |     public ApiResponse saveRenovationCalculator(@RequestBody RenovationCalculatorDTO renovationCalculatorDTO) { | 
 |  |  |         renovationCalculatorDTO.setMemberId(getMemberId()); | 
 |  |  |         CustomerLog customerLog =customerService.saveRenovationCalculator(renovationCalculatorDTO); | 
 |  |  |         zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  | //        zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  |         return  ApiResponse.success("操作成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     public ApiResponse saveFreeCustomizationApply(@RequestBody FreeCustomizationDTO freeCustomizationDTO) { | 
 |  |  |         freeCustomizationDTO.setMemberId(getMemberId()); | 
 |  |  |         CustomerLog customerLog = customerService.saveFreeCustomizationApply(freeCustomizationDTO); | 
 |  |  |         zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  | //        zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  |         return  ApiResponse.success("操作成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     public ApiResponse saveTestTrimStyle(@RequestBody TestTrimStyleDTO testTrimStyleDTO) { | 
 |  |  |         testTrimStyleDTO.setMemberId(getMemberId()); | 
 |  |  |         CustomerLog customerLog = customerService.saveTestTrimStyle(testTrimStyleDTO); | 
 |  |  |         zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  | //        zbomCRMService.dealCustomerLogData(customerLog); | 
 |  |  |         return  ApiResponse.success("操作成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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("/usersDetail") | 
 |  |  |     @ApiImplicitParams({ | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @LoginRequired | 
 |  |  |     @ApiOperation(value = "测试小程序Token", notes = "客户端小程序") | 
 |  |  |     @GetMapping("/testToken") | 
 |  |  |     @ApiImplicitParams({ | 
 |  |  |             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) | 
 |  |  |     }) | 
 |  |  |     public ApiResponse testToken () { | 
 |  |  |         memberService.updWxMiniToken(); | 
 |  |  |         return ApiResponse.success("更新成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemDictDataBiz systemDictDataBiz; | 
 |  |  |  | 
 |  |  |     @LoginRequired | 
 |  |  |     @ApiOperation(value = "获取分享小程序二维码(图片流,img标签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(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |