jiangping
2024-07-17 2d9cfa55f0f839ff464b445a259839ab6490d135
server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -2,16 +2,18 @@
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.ZTConstants;
import com.doumee.biz.zbom.model.zhongtai.ZTContentListRequest;
import com.doumee.biz.zbom.model.zhongtai.ZTDataDetailRequest;
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;
import com.doumee.dao.business.model.Users;
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 +32,9 @@
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;
/**
 * Created by IntelliJ IDEA.
@@ -45,7 +49,6 @@
@Slf4j
public class CustomerApi extends ApiController{
    @Autowired
    private MemberService memberService;
@@ -56,16 +59,30 @@
    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")
@@ -156,7 +173,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 +187,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,15 +200,15 @@
    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")
    public ApiResponse logOff() {
        memberService.logOff(getMemberId());
        getZhongTaiDataService.userLogout(memberService.logOff(getMemberId()));
        return  ApiResponse.success("操作成功");
    }
@@ -230,13 +247,13 @@
    @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));
    }
@@ -247,13 +264,11 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse testToken () {
        memberService.updWxMiniToken();
        systemDictDataBiz.updWxMiniToken();
        return ApiResponse.success("更新成功");
    }
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @LoginRequired
    @ApiOperation(value = "获取分享小程序二维码(图片流,img标签src指定)", notes = "客户端小程序")
@@ -274,7 +289,197 @@
        }
    }
    @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(ZTConstants.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,ZTConstants.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(),ZTConstants.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(),ZTConstants.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(),ZTConstants.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(),ZTConstants.CUSTOMER,id);
        return ApiResponse.success("操作成功");
    }
    @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));
    }
    @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));
    }
    @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(ZTConstants.CUSTOMER);
        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(ZTConstants.CUSTOMER);
        List<ZTCusCarouselImageResponse> ztCusCarouselImageResponseList = getZhongTaiDataService.getZhongTaiCarouselImage(ztContentListRequest);
        return ApiResponse.success("获取成功",ztCusCarouselImageResponseList);
    }
    @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(ZTConstants.CUSTOMER);
        ZTCusCarouselImageResponse ztCusCarouselImageResponse = getZhongTaiDataService.getZhongTaiCarouselImageDetail(ztDataDetailRequest);
        return ApiResponse.success("获取成功",ztCusCarouselImageResponse);
    }
}