jiangping
2024-07-16 1be9f9fdb13f7c5cdcf29494cb72ced35cd7af10
server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -3,19 +3,22 @@
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.dao.business.IamInterfaceLogMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.web.response.ZTBaseInfoResponse;
import com.doumee.service.business.GetZhongTaiDataService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.xpath.operations.Bool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -33,6 +36,9 @@
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private UsersMapper usersMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
@@ -71,8 +77,160 @@
    }
    /**
     *  获取父子级结构数据列表
     * 志说装修 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);
                }
            }
        }
        return ztCatalogInfoResponseList;
    }
    /**
     * 内容 分页数据
     * @param ztContentListRequest
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTContentListResponse> pageContentList(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())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //查询 中台
        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);
        return response;
    }
    @Override
    public ZTContentInfoResponse getContentInfo(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);
        ZTContentInfoResponse response = zbomZhongTaiService.getContentInfo(ztContentListRequest);
        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());
            }
        }
    }
}