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 redisTemplate; @Override public List 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 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 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 ztCatalogInfoResponseList = zbomZhongTaiService.getCatalogList(ztCatalogListRequest); if(CollectionUtils.isNotEmpty(ztCatalogInfoResponseList)){ for (ZTCatalogInfoResponse ztCatalogInfoResponse:ztCatalogInfoResponseList) { ZTCatalogListRequest ztCatalogTagListRequest = new ZTCatalogListRequest(); ztCatalogTagListRequest.setCatalogCode(ztCatalogInfoResponse.getCode()); List ztTagInfoResponseList = zbomZhongTaiService.getTagList(ztCatalogTagListRequest); if(CollectionUtils.isNotEmpty(ztCatalogInfoResponseList)){ ztCatalogInfoResponse.setChildTagList(ztTagInfoResponseList); } } } return ztCatalogInfoResponseList; }*/ /** * 内容 分页数据 * @param ztContentListRequest * @return */ @Override public ZTBasePageResponse 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 response = zbomZhongTaiService.pageContentList(ztContentListRequest); List 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 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 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 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 getZhongTaiAreaTree(ZTAreaListRequest ztAreaListRequest){ String data = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_AREA_REDIS_KEY); List 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 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 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; } }