jiangping
2024-07-19 40f16ff7071c793bc02cf3f8ca8c0aa60aa85e21
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -1,21 +1,30 @@
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;
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.*;
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.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.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;
@@ -35,7 +44,13 @@
    private MemberMapper memberMapper;
    @Autowired
    private UsersMapper usersMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
@@ -44,12 +59,6 @@
        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(),"分类信息错误");
        }
        return zbomZhongTaiService.getCatalogList(ztCatalogListRequest);
    }
@@ -61,18 +70,227 @@
                || 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(),"分类信息错误");
        }
        return zbomZhongTaiService.getTagList(ztCatalogListRequest);
    }
    @Override
    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);
        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());
            }
        }
    }
    @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)){
            ztAreaTreeResponses =  zbomZhongTaiService.getAreaTreeList(ztAreaListRequest);
            redisTemplate.opsForValue().set(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY,JSONArray.toJSONString(ztAreaTreeResponses));
        }else{
            ztAreaTreeResponses = JSONArray.parseArray(data,ZTAreaTreeResponse.class);
        }
        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;
    }
    @Override
    public ZTBasePageResponse<ZTProductNewsInfoResponse> getZhongTaiProductNewsPage(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<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());
        ZTBasePageResponse<ZTProductInfoResponse> response = zbomZhongTaiService.pageProductList(ztContentListRequest);
        return response;
    }
    @Override
    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){
        //查询 中台 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);
        ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest);
        return response;
    }
    @Override
    public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId){
        //查询 中台 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);
        return response;
    }
    @Override
    public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId){
        //查询 中台 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);
        return response;
    }
    @Override
    public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId){
        //查询 中台 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);
        return response;
    }
}