liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -10,10 +10,12 @@
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;
@@ -26,10 +28,7 @@
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
 * Created by IntelliJ IDEA.
@@ -51,6 +50,9 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private CustomerUserMapper customerUserMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
@@ -115,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
@@ -133,9 +128,6 @@
        ZTBasePageResponse ztAreaTreeResponses = zbomZhongTaiService.pageCusFavoriteList(ztContentListRequest);
        return ztAreaTreeResponses;
    }
    @Override
    @Async
@@ -285,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();
@@ -293,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();
@@ -305,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();
@@ -317,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();
@@ -329,6 +453,35 @@
        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;
    }
@@ -351,4 +504,43 @@
        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);
    }
}