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.*;
|
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;
|
|
/**
|
* 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;
|
|
@Autowired
|
private RedisTemplate<String, Object> redisTemplate;
|
|
|
|
@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())
|
){
|
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<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
|
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);
|
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;
|
}
|
|
|
}
|