k94314517
2024-08-27 532d1286a13a10e78283cf8e4f5af6f6f6226a39
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -2,16 +2,17 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomCRMService;
import com.doumee.biz.zbom.model.zhongtai.*;
import com.doumee.biz.zbom.model.zhongtai.response.*;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.config.annotation.UserLoginRequired;
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 com.doumee.dao.business.model.Users;
import com.doumee.core.wx.SendWxMessage;
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;
@@ -30,7 +31,10 @@
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;
import java.util.Objects;
/**
 * Created by IntelliJ IDEA.
@@ -45,7 +49,6 @@
@Slf4j
public class CustomerApi extends ApiController{
    @Autowired
    private MemberService memberService;
@@ -56,25 +59,51 @@
    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")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "userId", value = "导购主键", required = false),
    })
    public ApiResponse<AccountResponse> wxLoginCustomer(@RequestParam String code) {
        return  ApiResponse.success(memberService.wxLogin(code));
    public ApiResponse<AccountResponse> wxLoginCustomer(@RequestParam String code,String userId) {
        return  ApiResponse.success(memberService.wxLogin(code,userId));
    }
    @ApiOperation(value = "test客户端小程序登陆", notes = "客户端小程序")
    @GetMapping("/testWxLoginCustomer")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "微信code", required = true),
    })
    public ApiResponse<AccountResponse> testWxLoginCustomer(@RequestParam String openid) {
        return  ApiResponse.success(memberService.testLogin(openid));
    }
    @LoginRequired
    @ApiOperation(value = "获取手机号", notes = "客户端小程序")
@@ -94,11 +123,14 @@
    })
    public ApiResponse<Member> editMember(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setId(getMemberId());
        String  phone = editMemberRequest.getPhone();
        //同步导购绑定信息
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
            customerUserService.syncByPhone(editMemberRequest.getPhone());
        Member member =memberService.updMemberDetail(editMemberRequest);
        if(StringUtils.isNotBlank(phone)){
          customerUserService.syncByPhone(member);
          member = memberService.getMemberInfo(member.getId());
        }
        return  ApiResponse.success("更新成功",memberService.updMemberDetail(editMemberRequest));
        return  ApiResponse.success("更新成功",member);
    }
    @LoginRequired
@@ -109,11 +141,14 @@
    })
    public ApiResponse<Member> binDingPhone(@RequestBody EditMemberRequest editMemberRequest) {
        editMemberRequest.setId(getMemberId());
        String phone =editMemberRequest.getPhone();
        Member member = memberService.updMemberPhone(editMemberRequest);
        //同步导购绑定信息
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){
            customerUserService.syncByPhone(editMemberRequest.getPhone());
        if(StringUtils.isNotBlank(phone)){
            customerUserService.syncByPhone(member);
            member = memberService.getMemberInfo(getMemberId());
        }
        return  ApiResponse.success("更新成功",memberService.updMemberPhone(editMemberRequest));
        return  ApiResponse.success("更新成功",member);
    }
@@ -125,7 +160,9 @@
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号信息", required = true),
    })
    public ApiResponse syncCustomerUser(@RequestParam String phone) {
        customerUserService.syncByPhone(phone);
        if(StringUtils.isNotBlank(getLoginMemberInfo().getPhone())){
            customerUserService.syncByPhone(getLoginMemberInfo());
        }
        return  ApiResponse.success("同步成功");
    }
@@ -156,7 +193,7 @@
    public ApiResponse saveRenovationCalculator(@RequestBody RenovationCalculatorDTO renovationCalculatorDTO) {
        renovationCalculatorDTO.setMemberId(getMemberId());
        CustomerLog customerLog =customerService.saveRenovationCalculator(renovationCalculatorDTO);
//        zbomCRMService.dealCustomerLogData(customerLog);
        zbomCRMService.dealCustomerLogData(customerLog);
        return  ApiResponse.success("操作成功");
    }
@@ -170,11 +207,11 @@
    public ApiResponse saveFreeCustomizationApply(@RequestBody FreeCustomizationDTO freeCustomizationDTO) {
        freeCustomizationDTO.setMemberId(getMemberId());
        CustomerLog customerLog = customerService.saveFreeCustomizationApply(freeCustomizationDTO);
//        zbomCRMService.dealCustomerLogData(customerLog);
        zbomCRMService.dealCustomerLogData(customerLog);
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
   /* @LoginRequired
    @ApiOperation(value = "测试装修风格", notes = "客户端小程序")
    @PostMapping("/saveTestTrimStyle")
    @ApiImplicitParams({
@@ -183,25 +220,41 @@
    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(value = "用户注销", notes = "客户端小程序")
    @GetMapping("/logOff")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse logOff() {
        memberService.logOff(getMemberId());
        ZTBaseRequst ztBaseRequst = memberService.logOff(getUserId(),getToken());
        if(Objects.nonNull(ztBaseRequst)){
            getZhongTaiDataService.userLogout(ztBaseRequst);
        }
        return  ApiResponse.success("操作成功");
    }
    @LoginRequired
    @ApiOperation(value = "门店列表", notes = "客户端小程序")
    @PostMapping("/shopPage")   @ApiImplicitParams({
    @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));
        PageData<Shop> pageData = shopService.queryShopByLL(pageWrap);
        if(Objects.nonNull(pageWrap.getModel().getLatitude())&&Objects.nonNull(pageWrap.getModel().getLongitude())){
            //更新人员经纬度信息
            EditMemberRequest editMemberRequest = new EditMemberRequest();
            editMemberRequest.setId(getMemberId());
            editMemberRequest.setLatitude(pageWrap.getModel().getLatitude());
            editMemberRequest.setLongitude(pageWrap.getModel().getLongitude());
            memberService.updMemberDetail(editMemberRequest);
        }
        return ApiResponse.success(pageData);
    }
@@ -224,36 +277,23 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<PageData<Users>> myUserPage (@RequestBody PageWrap<Users> pageWrap) {
        pageWrap.getModel().setMemberId(getMemberId());
        return ApiResponse.success(usersService.findPage(pageWrap));
    }
    @LoginRequired
    @ApiOperation(value = "导购详情", notes = "客户端小程序")
    @GetMapping("/usersDetail")
    @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 = "测试小程序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 = "客户端小程序")
@@ -274,7 +314,329 @@
        }
    }
    @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().setMemberId(getMemberId());
        pageWrap.getModel().setIsHiddenPhone(Constants.ZERO);
        return ApiResponse.success(customerLogService.findPage(pageWrap));
    }
    @UserLoginRequired
    @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 ) {
        ztCatalogListRequest.setUserId(getMemberId()+"");
        ztCatalogListRequest.setUserType(getUserType());
        List<ZTCatalogInfoResponse> ztCatalogInfoResponseList = getZhongTaiDataService.getCatalogList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztCatalogInfoResponseList);
    }
    @UserLoginRequired
    @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 ) {
        ztCatalogListRequest.setUserId(getMemberId()+"");
        ztCatalogListRequest.setUserType(getUserType());
        List<ZTTagInfoResponse> ztTagInfoResponseList = getZhongTaiDataService.getCataLogTagList(ztCatalogListRequest);
        return ApiResponse.success("查询成功",ztTagInfoResponseList);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "行为内容接口 - 中台", notes = "客户端小程序")
    @GetMapping("/actionDo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "actionType", value = "行为类型:收藏:collect;取消收藏:collect_cancel;喜欢:like;取消喜欢:like_cancel;浏览:view;分享:share;下载:download", required = true),
    })
    public ApiResponse actionDo(@RequestParam String id,@RequestParam String actionType) {
        getZhongTaiDataService.actionDo(getMemberId(),getUserType(),id,actionType);
        return ApiResponse.success("操作成功");
    }
    @UserLoginRequired
    @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));
    }
    @UserLoginRequired
    @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));
    }
    @UserLoginRequired
    @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(getUserType());
        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<List<ZTCusCarouselImageResponse>> getZhongTaiCarouselImage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        List<ZTCusCarouselImageResponse> ztCusCarouselImageResponseList = getZhongTaiDataService.getZhongTaiCarouselImage(ztContentListRequest);
        return ApiResponse.success("获取成功",ztCusCarouselImageResponseList);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "轮播图详情", notes = "客户端小程序")
    @PostMapping("/getZhongTaiCarouselImageDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTCusCarouselImageResponse> getZhongTaiCarouselImageDetail(@RequestBody ZTDataDetailRequest ztDataDetailRequest) {
        ztDataDetailRequest.setUserId(getMemberId()+"");
        ztDataDetailRequest.setUserType(getUserType());
        ZTCusCarouselImageResponse ztCusCarouselImageResponse = getZhongTaiDataService.getZhongTaiCarouselImageDetail(ztDataDetailRequest);
        return ApiResponse.success("获取成功",ztCusCarouselImageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "咨询分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiProductNewsPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTProductNewsInfoResponse>> getZhongTaiProductNewsPage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTProductNewsInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiProductNewsPage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "产品分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiProductPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTProductInfoResponse>> getZhongTaiProductPage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTProductInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiProductPage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "实景分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiRealcasePage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTRealcaseInfoResponse>> getZhongTaiRealcasePage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTRealcaseInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiRealcasePage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "视频分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiVideoPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTVideoInfoResponse>> getZhongTaiVideoPage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTVideoInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiVideoPage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "全屋案例分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiWholecasePage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTCaseInfoResponse>> getZhongTaiWholecasePage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTCaseInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiWholecasePage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "志说装修分页列表 - 中台", notes = "客户端小程序")
    @PostMapping("/getZhongTaiZbDecoPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTZbDecoInfoResponse>> getZhongTaiZbDecoPage(@RequestBody ZTContentListRequest ztContentListRequest) {
        ztContentListRequest.setUserId(getMemberId()+"");
        ztContentListRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTZbDecoInfoResponse>  ztBasePageResponse= getZhongTaiDataService.getZhongTaiZbDecoPage(ztContentListRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "全屋案例详情 - 中台", notes = "客户端小程序")
    @GetMapping("/getWholecaseInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "导购主键(二维码分享)", required = false),
    })
    public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id,String salesId) {
        ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId(),salesId);
        return ApiResponse.success("查询成功",ztCaseInfoResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @GetMapping("/getProductNewsInfo")
    @ApiOperation(value = "产品资讯详情 - 中台", notes = "客户端小程序")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "导购主键(二维码分享)", required = false),
    })
    public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id,String salesId) {
        ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId(),salesId);
        return ApiResponse.success("查询成功",ztProductNewsInfoResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "实景案例 - 中台", notes = "客户端小程序")
    @GetMapping("/getRealcaseInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "导购主键(二维码分享)", required = false),
    })
    public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id,String salesId) {
        ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId(),salesId);
        return ApiResponse.success("查询成功",ztRealcaseInfoResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "产品详情 - 中台", notes = "客户端小程序")
    @GetMapping("/getProductInfo")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "内容主键", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "导购主键(二维码分享)", required = false),
    })
    public ApiResponse<ZTProductInfoResponse> getProductInfo(@RequestParam String id,String salesId) {
        ZTProductInfoResponse ztProductInfoResponse= getZhongTaiDataService.getProductInfo(id,getUserType(),getMemberId(),salesId);
        return ApiResponse.success("查询成功",ztProductInfoResponse);
    }
    @UserLoginRequired
    @LoginRequired
    @ApiOperation(value = "我的收藏/喜欢列表 - 中台", notes = "客户端小程序")
    @PostMapping("/collectLikePage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<ZTBasePageResponse<ZTCollectLikeInfoResponse>> collectLikePage(@RequestBody ZTCollectLikeRequest ztCollectLikeRequest) {
        ztCollectLikeRequest.setUserId(getMemberId()+"");
        ztCollectLikeRequest.setUserType(getUserType());
        ZTBasePageResponse<ZTCollectLikeInfoResponse>  ztBasePageResponse= getZhongTaiDataService.collectLikePage(ztCollectLikeRequest);
        return ApiResponse.success("查询成功",ztBasePageResponse);
    }
    @ApiOperation(value = "测试发送微信消息", notes = "客户端小程序")
    @GetMapping("/testSendWxMessage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "小程序id", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "token", value = "token", required = true),
    })
    public ApiResponse testSendWxMessage(@RequestParam String openid,@RequestParam String token) {
        SendWxMessage sendWxMessage = new SendWxMessage();
        sendWxMessage.testMessage(openid,token);
        return ApiResponse.success("操作成功");
    }
}