liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.ZbomZhongTaiService;
@@ -7,20 +8,27 @@
import com.doumee.biz.zbom.model.zhongtai.response.*;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.CustomerUserMapper;
import com.doumee.dao.business.IamInterfaceLogMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Users;
import com.doumee.dao.web.response.ZSZXCatalogResponse;
import com.doumee.dao.web.response.ZTBaseInfoResponse;
import com.doumee.service.business.GetZhongTaiDataService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.google.gson.JsonArray;
import org.apache.commons.lang3.StringUtils;
import org.apache.xpath.operations.Bool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
 * Created by IntelliJ IDEA.
@@ -43,7 +51,35 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private CustomerUserMapper customerUserMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Override
    public ZSZXCatalogResponse getZSZXCatalogs(Long userId,String userType){
        ZSZXCatalogResponse response = new ZSZXCatalogResponse();
        ZTCatalogListRequest param = new ZTCatalogListRequest();
        param.setUserId(userId.toString());
        param.setUserType(userType);
        param.setCatalogCode(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU);
        List<ZTCatalogInfoResponse> cataList = getCatalogList(param);
        if(cataList!=null ){
            for(ZTCatalogInfoResponse data : cataList){
                if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.JIADE_ID)){
                    response.setJdId(data);
                }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.CHUFANGSHEJI)){
                    response.setCfsj(data);
                }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.QW_SHEJI)){
                    response.setQwsj(data);
                }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.SHOUNASHEJI)){
                    response.setSnsj(data);
                }
            }
        }
        return response;
    }
    @Override
    public List<ZTCatalogInfoResponse> getCatalogList(ZTCatalogListRequest ztCatalogListRequest){
@@ -51,12 +87,10 @@
        || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CHANPING)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZIXUN)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.QW_CASE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"分类信息错误");
        }
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztCatalogListRequest.getUserId()),ztCatalogListRequest.getUserType());
        System.out.println(JSONObject.toJSONString(ztBaseInfoResponse));
        ztCatalogListRequest.setOpenId(ztBaseInfoResponse.getOpenId());
        ztCatalogListRequest.setToken(ztBaseInfoResponse.getToken());
        return zbomZhongTaiService.getCatalogList(ztCatalogListRequest);
    }
@@ -67,63 +101,83 @@
                || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CHANPING)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZIXUN)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.QW_CASE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"分类信息错误");
        }
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztCatalogListRequest.getUserId()),ztCatalogListRequest.getUserType());
        ztCatalogListRequest.setOpenId(ztBaseInfoResponse.getOpenId());
        ztCatalogListRequest.setToken(ztBaseInfoResponse.getToken());
        return zbomZhongTaiService.getTagList(ztCatalogListRequest);
    }
    /**
     *  获取父子级结构数据列表
     * 志说装修 zb_deco 产品 product_intro 资讯product_info 全屋案例 whole_case
     * 获取父子级结构数据
     * @return
     */
    @Override
    public List<ZTCatalogInfoResponse> getZTCatalogInfoResponse(ZTCatalogListRequest ztCatalogListRequest){
        if(Objects.isNull(ztCatalogListRequest)
                || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CHANPING)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZIXUN)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.QW_CASE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"分类信息错误");
        }
        List<ZTCatalogInfoResponse>  ztCatalogInfoResponseList = zbomZhongTaiService.getCatalogList(ztCatalogListRequest);
        if(CollectionUtils.isNotEmpty(ztCatalogInfoResponseList)){
            for (ZTCatalogInfoResponse ztCatalogInfoResponse:ztCatalogInfoResponseList) {
                ZTCatalogListRequest ztCatalogTagListRequest = new ZTCatalogListRequest();
                ztCatalogTagListRequest.setCatalogCode(ztCatalogInfoResponse.getCode());
                List<ZTTagInfoResponse> ztTagInfoResponseList = zbomZhongTaiService.getTagList(ztCatalogTagListRequest);
                if(CollectionUtils.isNotEmpty(ztCatalogInfoResponseList)){
                    ztCatalogInfoResponse.setChildTagList(ztTagInfoResponseList);
                }
    public void actionDo(Long userId,String userType,String articleId,String actionType){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTActionDoRequest param = new ZTActionDoRequest();
        param.setOpenId(ztBaseInfoResponse.getOpenId());
        param.setUserType(userType);
        param.setArticleId(articleId);
        param.setToken(ztBaseInfoResponse.getToken());
        param.setActionType(actionType);
        zbomZhongTaiService.collectDo(param);
    }
    @Override
    public ZTBasePageResponse<ZTCusFavoritesInfoResponse> getZhongTaiCusFavorite(ZTContentListRequest ztContentListRequest){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setOpenId(ztBaseInfoResponse.getOpenId());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse ztAreaTreeResponses = zbomZhongTaiService.pageCusFavoriteList(ztContentListRequest);
        return ztAreaTreeResponses;
    }
    @Override
    @Async
    public void userLogout(ZTBaseRequst ztBaseRequst){
        zbomZhongTaiService.userLogout(ztBaseRequst);
    }
    @Override
    public List<ZTAreaTreeResponse> getZhongTaiAreaTree(ZTAreaListRequest ztAreaListRequest){
        String data = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY);
        List<ZTAreaTreeResponse> ztAreaTreeResponses = new ArrayList<>();
        if(StringUtils.isBlank(data)){
            ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztAreaListRequest.getUserId()),ztAreaListRequest.getUserType());
            ztAreaListRequest.setOpenId(ztBaseInfoResponse.getOpenId());
            ztAreaListRequest.setToken(ztBaseInfoResponse.getToken());
            ztAreaTreeResponses =  zbomZhongTaiService.getAreaTreeList(ztAreaListRequest);
            if(CollectionUtils.isNotEmpty(ztAreaTreeResponses)){
                redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY,JSONArray.toJSONString(ztAreaTreeResponses));
            }
        }else{
            ztAreaTreeResponses = JSONArray.parseArray(data,ZTAreaTreeResponse.class);
        }
        return ztCatalogInfoResponseList;
        return ztAreaTreeResponses;
    }
    @Override
    public List<ZTCusCarouselImageResponse> getZhongTaiCarouselImage(ZTContentListRequest ztContentListRequest){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setOpenId(ztBaseInfoResponse.getOpenId());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        List<ZTCusCarouselImageResponse> ztCusCarouselImageResponseList = zbomZhongTaiService.carouselImageList(ztContentListRequest);
        return ztCusCarouselImageResponseList;
    }
    @Override
    public ZTCusCarouselImageResponse getZhongTaiCarouselImageDetail(ZTDataDetailRequest ztDataDetailRequest){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztDataDetailRequest.getUserId()),ztDataDetailRequest.getUserType());
        ztDataDetailRequest.setOpenId(ztBaseInfoResponse.getOpenId());
        ztDataDetailRequest.setToken(ztBaseInfoResponse.getToken());
        ZTCusCarouselImageResponse ztCusCarouselImageResponse = zbomZhongTaiService.carouselImageDetail(ztDataDetailRequest);
        return ztCusCarouselImageResponse;
    }
    /**
     * 内容 分页数据
     * @param ztContentListRequest
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTContentListResponse> pageContentList(ZTContentListRequest ztContentListRequest){
    public ZTBasePageResponse<ZTProductNewsInfoResponse> getZhongTaiProductNewsPage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
            || Objects.isNull(ztContentListRequest.getPageNum())
            || Objects.isNull(ztContentListRequest.getPageSize())
            || StringUtils.isBlank(ztContentListRequest.getCatalogCode())
            || StringUtils.isBlank(ztContentListRequest.getTagCodes())
            || StringUtils.isBlank(ztContentListRequest.getQuery())
            || StringUtils.isBlank(ztContentListRequest.getSortType())
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
@@ -131,106 +185,362 @@
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        String catalogCode = ztContentListRequest.getCatalogCode();
        if(catalogCode.equals(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU)
                ||catalogCode.equals(ZTConstants.CatalogCode.CHANPING)
                ||catalogCode.equals(ZTConstants.CatalogCode.ZIXUN)
                ||catalogCode.equals(ZTConstants.CatalogCode.QW_CASE)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"分类信息错误");
        }
        ZTBasePageResponse<ZTContentListResponse> response = zbomZhongTaiService.pageContentList(ztContentListRequest);
        ZTBasePageResponse<ZTProductNewsInfoResponse> response = zbomZhongTaiService.pageProductNewsList(ztContentListRequest);
        return response;
    }
    @Override
    public ZTBasePageResponse<ZTProductInfoResponse> getZhongTaiProductPage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        System.out.println("开始时间========================》"+DateUtil.getLongDate(new Date()));
        ZTBasePageResponse<ZTProductInfoResponse> response = zbomZhongTaiService.pageProductList(ztContentListRequest);
        System.out.println("结束时间========================》"+DateUtil.getLongDate(new Date()));
        return response;
    }
    @Override
    public ZTContentInfoResponse getContentInfo(String id,String userType,Long userId){
    public ZTBasePageResponse<ZTRealcaseInfoResponse> getZhongTaiRealcasePage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTRealcaseInfoResponse> response = zbomZhongTaiService.pageRealcaseList(ztContentListRequest);
        return response;
    }
    @Override
    public ZTBasePageResponse<ZTVideoInfoResponse> getZhongTaiVideoPage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTVideoInfoResponse> response = zbomZhongTaiService.pageVideoList(ztContentListRequest);
        return response;
    }
    @Override
    public ZTBasePageResponse<ZTCaseInfoResponse> getZhongTaiWholecasePage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTCaseInfoResponse> response = zbomZhongTaiService.pageWholecaseList(ztContentListRequest);
        return response;
    }
    @Override
    public ZTBasePageResponse<ZTZbDecoInfoResponse> getZhongTaiZbDecoPage(ZTContentListRequest ztContentListRequest){
        if(Objects.isNull(ztContentListRequest)
                || Objects.isNull(ztContentListRequest.getPageNum())
                || Objects.isNull(ztContentListRequest.getPageSize())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTZbDecoInfoResponse> response = zbomZhongTaiService.pageZbDecoList(ztContentListRequest);
        return response;
    }
    @Override
    public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId,String salesId){
        //查询 中台 TOKEN
        ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTContentInfoResponse response = zbomZhongTaiService.getContentInfo(ztContentListRequest);
        ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest);
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    //更新导购绑定信息
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
                        users.setImgurlFull(prefix + users.getImgurl());
                    }
                    response.setUsers(users);
                    memberMapper.updateById(member);
                }
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
            }
            List<String> stringList = new ArrayList<String>();
            if (StringUtils.isNotBlank(response.getCoverImage())) {
                stringList.add(response.getCoverImage());
            }
            if(Objects.nonNull(response.getBannerImgList())){
                stringList.addAll(Arrays.asList(response.getBannerImgList()));
            }
            if(StringUtils.isNotBlank(response.getContent())){
                // 添加 富文本 图片
                stringList.addAll(Constants.getImgsFromHtmlText(response.getContent()));
            }
            List<ZTSpaceInfoResponse> ztSpaceInfoResponseList = response.getSpaceList();
            if(CollectionUtils.isNotEmpty(ztSpaceInfoResponseList)){
                for (ZTSpaceInfoResponse ztSpaceInfoResponse:ztSpaceInfoResponseList) {
                    if(StringUtils.isNotBlank(ztSpaceInfoResponse.getSpaceImg())){
                        stringList.add(ztSpaceInfoResponse.getSpaceImg());
                    }
                    if(StringUtils.isNotBlank(ztSpaceInfoResponse.getSpaceContent())){
                        //添加 富文本 图片
                        stringList.addAll(Constants.getImgsFromHtmlText(ztSpaceInfoResponse.getSpaceContent()));
                    }
                }
            }
            response.setImageurlList(stringList);
        }
        return response;
    }
    @Override
    public void collectContent(Long userId,String userType,String articleId){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTActionDoRequest param = new ZTActionDoRequest();
        param.setOpenId(ztBaseInfoResponse.getOpenId());
        param.setUserType(userType);
        param.setArticleId(articleId);
        param.setToken(ztBaseInfoResponse.getToken());
        ZTBaseResponse ztBaseResponse =  zbomZhongTaiService.collectDo(param);
        if(Objects.isNull(ztBaseResponse)){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台接口响应失败");
        }else{
            if(!ztBaseResponse.getSuccess()){
                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台请求信息异常:"+ztBaseResponse.getMsg());
    public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId,String salesId){
        //查询 中台 TOKEN
        ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTCaseInfoResponse response = zbomZhongTaiService.getWholecaseInfo(ztContentListRequest);
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
                        users.setImgurlFull(prefix + users.getImgurl());
                    }
                    response.setUsers(users);
                    memberMapper.updateById(member);
                }
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
            }
            List<String> stringList = new ArrayList<String>();
            if (StringUtils.isNotBlank(response.getCoverImage())) {
                stringList.add(response.getCoverImage());
            }
            if(Objects.nonNull(response.getLayoutUlr())){
                stringList.add(response.getLayoutUlr());
            }
            APISpaceCaseVo[]  apiSpaceCaseVoList = response.getApiSpaceCaseVos();
            if(Objects.nonNull(apiSpaceCaseVoList)){
                for (APISpaceCaseVo apiSpaceCaseVo:apiSpaceCaseVoList) {
                    if(StringUtils.isNotBlank(apiSpaceCaseVo.getCoverImage())){
                        stringList.add(apiSpaceCaseVo.getCoverImage());
                    }
                    if(Objects.nonNull(apiSpaceCaseVo.getImgList())){
                        stringList.addAll(Arrays.asList(apiSpaceCaseVo.getImgList()));
                    }
                }
            }
            response.setImageurlList(stringList);
        }
        return response;
    }
    @Override
    public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId,String salesId){
        //查询 中台 TOKEN
        ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTProductNewsInfoResponse response = zbomZhongTaiService.getProductNewsInfo(ztContentListRequest);
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
                        users.setImgurlFull(prefix + users.getImgurl());
                    }
                    response.setUsers(users);
                    memberMapper.updateById(member);
                }
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
            }
            List<String> stringList = new ArrayList<String>();
            if (StringUtils.isNotBlank(response.getCoverImage())) {
                stringList.add(response.getCoverImage());
            }
            if(Objects.nonNull(response.getBannerImgList())){
                stringList.addAll(Arrays.asList(response.getBannerImgList()));
            }
            if(StringUtils.isNotBlank(response.getContent())){
                stringList.addAll(Constants.getImgsFromHtmlText(response.getContent()));
            }
            List<ZTSpaceInfoResponse> ztSpaceInfoResponseList = response.getSpaceList();
            if(CollectionUtils.isNotEmpty(ztSpaceInfoResponseList)){
                for (ZTSpaceInfoResponse ztSpaceInfoResponse:ztSpaceInfoResponseList) {
                    if(StringUtils.isNotBlank(ztSpaceInfoResponse.getSpaceImg())){
                        stringList.add(ztSpaceInfoResponse.getSpaceImg());
                    }
                    if(StringUtils.isNotBlank(ztSpaceInfoResponse.getSpaceContent())){
                        //添加 富文本 图片
                        stringList.addAll(Constants.getImgsFromHtmlText(ztSpaceInfoResponse.getSpaceContent()));
                    }
                }
            }
            response.setImageurlList(stringList);
        }
        return response;
    }
    @Override
    public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId,String salesId){
        //查询 中台 TOKEN
        ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTRealcaseInfoResponse response = zbomZhongTaiService.getRealcaseInfo(ztContentListRequest);
        if(Objects.nonNull(response)){
            //查询导购信息 进行信息绑定与返回
            if(StringUtils.isNotBlank(salesId)&&userType.equals(ZTConstants.CUSTOMER)){
                Users users = usersMapper.selectById(salesId);
                Member member = memberMapper.selectById(userId);
                if(Objects.nonNull(users)&&Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
                    MemberServiceImpl.saveCustomerUser(zbomZhongTaiService,customerUserMapper,memberMapper,users,member);
                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
                    if(StringUtils.isNotBlank(users.getImgurl())){
                        users.setImgurlFull(prefix + users.getImgurl());
                    }
                    response.setUsers(users);
                    memberMapper.updateById(member);
                }
                if(StringUtils.isNotBlank(member.getImgurl())){
                    member.setImgurl(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                            systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode() + member.getImgurl());
                }
            }
            List<String> stringList = new ArrayList<String>();
            if (StringUtils.isNotBlank(response.getCoverImage())) {
                stringList.add(response.getCoverImage());
            }
            if(Objects.nonNull(response.getContentImgList())){
                stringList.addAll(Arrays.asList(response.getContentImgList()));
            }
            response.setImageurlList(stringList);
        }
        return response;
    }
    @Override
    public ZTBasePageResponse<ZTCollectLikeInfoResponse> collectLikePage(ZTCollectLikeRequest ztCollectLikeRequest){
        if(Objects.isNull(ztCollectLikeRequest)
                || Objects.isNull(ztCollectLikeRequest.getPageNum())
                || Objects.isNull(ztCollectLikeRequest.getPageSize())
                || StringUtils.isBlank(ztCollectLikeRequest.getBusinessType())
                || StringUtils.isBlank(ztCollectLikeRequest.getBusinessCategory())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztCollectLikeRequest.getUserId()),ztCollectLikeRequest.getUserType());
        ztCollectLikeRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTCollectLikeInfoResponse> response = zbomZhongTaiService.collectLikePage(ztCollectLikeRequest);
        return response;
    }
    @Override
    public void batchAddLike(ZTBatchAddListRequest ztBatchAddListRequest){
        if(Objects.isNull(ztBatchAddListRequest)
                || StringUtils.isBlank(ztBatchAddListRequest.getArticleIds())
                || StringUtils.isBlank(ztBatchAddListRequest.getPlatId())
                || StringUtils.isBlank(ztBatchAddListRequest.getPlatSource())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztBatchAddListRequest.getUserId()),ztBatchAddListRequest.getUserType());
        ztBatchAddListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBaseResponse result = zbomZhongTaiService.batchAddLike(ztBatchAddListRequest);
        if(result ==null || !Constants.equalsInteger( result.getCode(),ZTConstants.CODE_SUCCESS)){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,分享绑定失败哦!");
        }
    }
    @Override
    public void likeContent(Long userId,String userType,String articleId){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTActionBatchDoRequest param = new ZTActionBatchDoRequest();
        param.setOpenId(ztBaseInfoResponse.getOpenId());
        param.setUserType(userType);
        param.setToken(ztBaseInfoResponse.getToken());
        List<ZTActionDoRequest> list = new ArrayList<>();
        ZTActionDoRequest ztActionDoRequest = new ZTActionDoRequest();
        ztActionDoRequest.setArticleId(articleId);
        param.setList(list);
        ZTBaseResponse ztBaseResponse =  zbomZhongTaiService.likeDo(param);
        if(Objects.isNull(ztBaseResponse)){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台接口响应失败");
        }else{
            if(!ztBaseResponse.getSuccess()){
                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台请求信息异常:"+ztBaseResponse.getMsg());
            }
    public void customerBinDingUsers(ZTCustomerBindingUsersRequest ztCustomerBindingUsersRequest){
        if(Objects.isNull(ztCustomerBindingUsersRequest)
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getOpenId())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getUserId())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getSourceCustomerId())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getDaoGouAccount())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getDaoGouType())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getDaoGouUserId())
                || StringUtils.isBlank(ztCustomerBindingUsersRequest.getUserName())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztCustomerBindingUsersRequest.getUserId()),ztCustomerBindingUsersRequest.getUserType());
        ztCustomerBindingUsersRequest.setToken(ztBaseInfoResponse.getToken());
        zbomZhongTaiService.customerBinDingUsers(ztCustomerBindingUsersRequest);
    }
    @Override
    public void shareContent(Long userId,String userType,String articleId){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTActionDoRequest param = new ZTActionDoRequest();
        param.setArticleId(articleId);
        param.setOpenId(ztBaseInfoResponse.getOpenId());
        param.setUserType(userType);
        param.setToken(ztBaseInfoResponse.getToken());
        ZTBaseResponse ztBaseResponse =  zbomZhongTaiService.shareDo(param);
        if(Objects.isNull(ztBaseResponse)){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台接口响应失败");
        }else{
            if(!ztBaseResponse.getSuccess()){
                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台请求信息异常:"+ztBaseResponse.getMsg());
            }
        }
    }
    @Override
    public void viewContent(Long userId,String userType,String articleId){
        ZTBaseInfoResponse ztBaseInfoResponse  =  MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTActionDoRequest param = new ZTActionDoRequest();
        param.setArticleId(articleId);
        param.setOpenId(ztBaseInfoResponse.getOpenId());
        param.setUserType(userType);
        param.setToken(ztBaseInfoResponse.getToken());
        ZTBaseResponse ztBaseResponse =  zbomZhongTaiService.viewDo(param);
        if(Objects.isNull(ztBaseResponse)){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台接口响应失败");
        }else{
            if(!ztBaseResponse.getSuccess()){
                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"中台请求信息异常:"+ztBaseResponse.getMsg());
            }
        }
    }
}