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); } 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); } @Override public void actionDo(Long userId,String userType,String articleId,String actionType){ 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()); param.setActionType(actionType); 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 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; } @Override public ZTBasePageResponse getZhongTaiProductNewsPage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageProductNewsList(ztContentListRequest); return response; } @Override public ZTBasePageResponse getZhongTaiProductPage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageProductList(ztContentListRequest); return response; } @Override public ZTBasePageResponse getZhongTaiRealcasePage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageRealcaseList(ztContentListRequest); return response; } @Override public ZTBasePageResponse getZhongTaiVideoPage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageVideoList(ztContentListRequest); return response; } @Override public ZTBasePageResponse getZhongTaiWholecasePage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageWholecaseList(ztContentListRequest); return response; } @Override public ZTBasePageResponse getZhongTaiZbDecoPage(ZTContentListRequest ztContentListRequest){ if(Objects.isNull(ztContentListRequest) || Objects.isNull(ztContentListRequest.getPageNum()) || Objects.isNull(ztContentListRequest.getPageSize()) ){ 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.pageZbDecoList(ztContentListRequest); return response; } @Override public ZTProductInfoResponse getProductInfo(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); ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest); return response; } @Override public ZTCaseInfoResponse getWholecaseInfo(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); ZTCaseInfoResponse response = zbomZhongTaiService.getWholecaseInfo(ztContentListRequest); return response; } @Override public ZTProductNewsInfoResponse getProductNewsInfo(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); ZTProductNewsInfoResponse response = zbomZhongTaiService.getProductNewsInfo(ztContentListRequest); return response; } @Override public ZTRealcaseInfoResponse getRealcaseInfo(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); ZTRealcaseInfoResponse response = zbomZhongTaiService.getRealcaseInfo(ztContentListRequest); return response; } }