package com.doumee.api.web; 
 | 
  
 | 
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.*; 
 | 
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.*; 
 | 
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; 
 | 
import java.util.Objects; 
 | 
  
 | 
/** 
 | 
 * Created by IntelliJ IDEA. 
 | 
 * 
 | 
 * @Author : Rk 
 | 
 * @create 2024/7/10 14:03 
 | 
 */ 
 | 
@Api(tags = "【C端小程序】用户业务") 
 | 
@Trace(exclude = true) 
 | 
@RestController 
 | 
@RequestMapping("/web/customer") 
 | 
@Slf4j 
 | 
public class CustomerApi extends ApiController{ 
 | 
  
 | 
    @Autowired 
 | 
    private MemberService memberService; 
 | 
  
 | 
    @Autowired 
 | 
    private BjParamService bjParamService; 
 | 
  
 | 
    @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") 
 | 
    @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,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 = "客户端小程序") 
 | 
    @PostMapping("/getWxMiniPhone") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse getWxMiniPhone(@Valid @RequestBody WxPhoneRequest wxPhoneRequest) { 
 | 
        return  ApiResponse.success("获取成功",memberService.getWxMiniPhone(wxPhoneRequest)); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "更新个人信息", notes = "客户端小程序") 
 | 
    @PostMapping("/editMember") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    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()); 
 | 
        Member member = memberService.updMemberPhone(editMemberRequest); 
 | 
        //同步导购绑定信息 
 | 
        if(StringUtils.isNotBlank(editMemberRequest.getPhone())){ 
 | 
            customerUserService.syncByPhone(editMemberRequest.getPhone()); 
 | 
        } 
 | 
        return  ApiResponse.success("更新成功",member); 
 | 
    } 
 | 
  
 | 
  
 | 
    @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 
 | 
    @ApiOperation(value = "获取个人信息", notes = "客户端小程序") 
 | 
    @GetMapping("/getMemberInfo") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse<Member> getMemberInfo() { 
 | 
        return  ApiResponse.success("获取成功",memberService.getMemberInfo(getMemberId())); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation(value = "获取报价配置", notes = "客户端小程序") 
 | 
    @GetMapping("/getBjParamConfig") 
 | 
    public ApiResponse<BjParamConfigResponse> getBjParamConfig() { 
 | 
        return  ApiResponse.success(bjParamService.getBjParamConfig()); 
 | 
    } 
 | 
  
 | 
  
 | 
    @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") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse logOff() { 
 | 
        ZTBaseRequst ztBaseRequst = memberService.logOff(getUserId(),getToken()); 
 | 
        if(Objects.nonNull(ztBaseRequst)){ 
 | 
            getZhongTaiDataService.userLogout(ztBaseRequst); 
 | 
        } 
 | 
        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) { 
 | 
        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); 
 | 
    } 
 | 
  
 | 
  
 | 
    @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) { 
 | 
        pageWrap.getModel().setMemberId(getMemberId()); 
 | 
        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 = "获取分享小程序二维码(图片流,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(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @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); 
 | 
    } 
 | 
} 
 |