package com.doumee.service.business.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.doumee.biz.system.SystemDictDataBiz;
|
import com.doumee.biz.zbom.ZbomZhongTaiService;
|
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;
|
|
/**
|
* Created by IntelliJ IDEA.
|
*
|
* @Author : Rk
|
* @create 2024/7/15 14:12
|
*/
|
@Service
|
public class GetZhongTaiDataServiceImpl implements GetZhongTaiDataService {
|
|
@Autowired
|
private ZbomZhongTaiService zbomZhongTaiService;
|
|
@Autowired
|
private MemberMapper memberMapper;
|
|
@Autowired
|
private UsersMapper usersMapper;
|
|
@Autowired
|
private SystemDictDataBiz systemDictDataBiz;
|
|
|
|
@Override
|
public List<ZTCatalogInfoResponse> getCatalogList(ZTCatalogListRequest ztCatalogListRequest){
|
if(Objects.isNull(ztCatalogListRequest)
|
|| StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
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.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);
|
}
|
|
|
@Override
|
public List<ZTTagInfoResponse> getCataLogTagList(ZTCatalogListRequest ztCatalogListRequest){
|
if(Objects.isNull(ztCatalogListRequest)
|
|| StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
return zbomZhongTaiService.getTagList(ztCatalogListRequest);
|
}
|
|
|
/**
|
* 获取父子级结构数据列表
|
* 志说装修 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())
|
){
|
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();
|
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());
|
}
|
}
|
}
|
|
}
|