jiangping
2024-07-18 64a6a81753abfc712b1ab384de0f7afb87f4fb23
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -1,24 +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.ZTContentInfoRequest;
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;
@@ -43,6 +49,9 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Override
@@ -51,10 +60,12 @@
        || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CHANPING)
        if(!(ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CHANPING)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.ZIXUN)
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.QW_CASE)){
            ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.QW_CASE)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.CAROUSEL_AD)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.VIDEO_REC)
                ||ztCatalogListRequest.getCatalogCode().equals(ZTConstants.CatalogCode.REAL_CASE))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"分类信息错误");
        }
        return zbomZhongTaiService.getCatalogList(ztCatalogListRequest);
@@ -67,12 +78,6 @@
                || 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);
    }
@@ -83,7 +88,7 @@
     * 获取父子级结构数据
     * @return
     */
    @Override
   /* @Override
    public List<ZTCatalogInfoResponse> getZTCatalogInfoResponse(ZTCatalogListRequest ztCatalogListRequest){
        if(Objects.isNull(ztCatalogListRequest)
                || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
@@ -107,7 +112,7 @@
            }
        }
        return ztCatalogInfoResponseList;
    }
    }*/
    /**
@@ -121,47 +126,207 @@
            || Objects.isNull(ztContentListRequest.getPageNum())
            || Objects.isNull(ztContentListRequest.getPageSize())
            || StringUtils.isBlank(ztContentListRequest.getCatalogCode())
            || StringUtils.isBlank(ztContentListRequest.getTagCodes())
            || StringUtils.isBlank(ztContentListRequest.getQuery())
            || StringUtils.isBlank(ztContentListRequest.getSortType())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        String token = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,ztContentListRequest.getUserId(),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(token);
        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(),"分类信息错误");
        }
        ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,
                Long.valueOf(ztContentListRequest.getUserId()),ztContentListRequest.getUserType());
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ZTBasePageResponse<ZTContentListResponse> response = zbomZhongTaiService.pageContentList(ztContentListRequest);
        List<ZTContentListResponse> ztContentListResponseList = new ArrayList<>();
        ZTContentListResponse ztContentListResponse = new ZTContentListResponse();
        ztContentListResponse.setAuthor("测试人员");
        ztContentListResponse.setCoverImage("https://yjszhfn.jiangsu-10.zos.ctyun.cn/news/20240711/16f0490c-3ab1-4b66-aad8-be167476572c.jpg");
        ztContentListResponse.setFavoriteCount(1998);
        ztContentListResponse.setLikeCount(2223);
        ztContentListResponse.setPublishDepartment("测试组织");
        ztContentListResponse.setReadCount(10209);
        ztContentListResponse.setId("1");
        ztContentListResponse.setTitle("我是标题你好啊");
        ztContentListResponse.setSubtitle("我是副标题你们好啊");
        if(CollectionUtils.isNotEmpty(response.getRecords())){
            ztContentListResponseList.add(ztContentListResponse);
            response.setRecords(ztContentListResponseList);
        }else{
            response.getRecords().add(0, ztContentListResponse);
        }
        return response;
    }
    @Override
    public ZTContentInfoResponse getContentInfo(String id,String userType,Long userId){
        //查询 中台 TOKEN
        String token = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
        ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
        ztContentListRequest.setToken(token);
        ztContentListRequest.setUserType(userType);
        ztContentListRequest.setToken(ztBaseInfoResponse.getToken());
        ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
        ztContentListRequest.setId(id);
        ZTContentInfoResponse response = zbomZhongTaiService.getContentInfo(ztContentListRequest);
        if(Objects.isNull(response)){
            response = new ZTContentInfoResponse();
            response.setAuthor("测试人员");
//            response.set("https://yjszhfn.jiangsu-10.zos.ctyun.cn/news/20240711/16f0490c-3ab1-4b66-aad8-be167476572c.jpg");
//            response.setFavoriteCount(1998);
//            response.setLikeCount(2223);
            response.setPublishDepartment("测试组织");
//            response.setReadCount(10209);
            response.setTitle("我是标题你好啊");
            response.setPicUrls("https://yjszhfn.jiangsu-10.zos.ctyun.cn/news/20240711/16f0490c-3ab1-4b66-aad8-be167476572c.jpg");
            response.setSubtitle("我是副标题你们好啊");
        }
        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());
            }
        }
    }
    @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());
            }
        }
    }
    @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());
            }
        }
    }
//    public ZTBasePageResponse<ZTCollectInfoResponse> 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());
//            }
//        }
//    }
    @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;
    }
}