liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -9,10 +9,14 @@
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;
@@ -24,9 +28,7 @@
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.
@@ -50,9 +52,34 @@
    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){
@@ -60,6 +87,10 @@
        || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        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);
    }
@@ -70,6 +101,9 @@
                || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        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);
    }
@@ -83,14 +117,7 @@
        param.setArticleId(articleId);
        param.setToken(ztBaseInfoResponse.getToken());
        param.setActionType(actionType);
        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());
            }
        }
        zbomZhongTaiService.collectDo(param);
    }
    @Override
@@ -101,9 +128,6 @@
        ZTBasePageResponse ztAreaTreeResponses = zbomZhongTaiService.pageCusFavoriteList(ztContentListRequest);
        return ztAreaTreeResponses;
    }
    @Override
    @Async
@@ -116,8 +140,13 @@
        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);
            redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY,JSONArray.toJSONString(ztAreaTreeResponses));
            if(CollectionUtils.isNotEmpty(ztAreaTreeResponses)){
                redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY,JSONArray.toJSONString(ztAreaTreeResponses));
            }
        }else{
            ztAreaTreeResponses = JSONArray.parseArray(data,ZTAreaTreeResponse.class);
        }
@@ -173,7 +202,9 @@
        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;
    }
@@ -246,7 +277,7 @@
    @Override
    public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId){
    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();
@@ -254,11 +285,58 @@
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        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 ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId){
    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();
@@ -266,11 +344,51 @@
        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){
    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();
@@ -278,11 +396,56 @@
        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){
    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();
@@ -290,7 +453,94 @@
        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 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);
    }
}