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.core.utils.DateUtil; 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.ZSZXCatalogResponse; 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.Date; 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 ZSZXCatalogResponse getZSZXCatalogs(Long userId,String userType){ ZSZXCatalogResponse response = new ZSZXCatalogResponse(); ZTCatalogListRequest param = new ZTCatalogListRequest(); param.setUserId(userId.toString()); param.setUserType(userType); param.setCatalogCode(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU); List cataList = getCatalogList(param); if(cataList!=null ){ for(ZTCatalogInfoResponse data : cataList){ if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.JIADE_ID)){ response.setJdId(data); }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.CHUFANGSHEJI)){ response.setCfsj(data); }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.QW_SHEJI)){ response.setQwsj(data); }else if(StringUtils.equals(data.getCode(), ZTConstants.CatalogCode.SHOUNASHEJI)){ response.setSnsj(data); } } } return response; } @Override public List getCatalogList(ZTCatalogListRequest ztCatalogListRequest){ if(Objects.isNull(ztCatalogListRequest) || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztCatalogListRequest.getUserId()),ztCatalogListRequest.getUserType()); System.out.println(JSONObject.toJSONString(ztBaseInfoResponse)); ztCatalogListRequest.setOpenId(ztBaseInfoResponse.getOpenId()); ztCatalogListRequest.setToken(ztBaseInfoResponse.getToken()); return zbomZhongTaiService.getCatalogList(ztCatalogListRequest); } @Override public List getCataLogTagList(ZTCatalogListRequest ztCatalogListRequest){ if(Objects.isNull(ztCatalogListRequest) || StringUtils.isBlank(ztCatalogListRequest.getCatalogCode())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztCatalogListRequest.getUserId()),ztCatalogListRequest.getUserType()); ztCatalogListRequest.setOpenId(ztBaseInfoResponse.getOpenId()); ztCatalogListRequest.setToken(ztBaseInfoResponse.getToken()); 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)){ ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,Long.valueOf(ztAreaListRequest.getUserId()),ztAreaListRequest.getUserType()); ztAreaListRequest.setOpenId(ztBaseInfoResponse.getOpenId()); ztAreaListRequest.setToken(ztBaseInfoResponse.getToken()); ztAreaTreeResponses = zbomZhongTaiService.getAreaTreeList(ztAreaListRequest); if(CollectionUtils.isNotEmpty(ztAreaTreeResponses)){ 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()); System.out.println("开始时间========================》"+DateUtil.getLongDate(new Date())); ZTBasePageResponse response = zbomZhongTaiService.pageProductList(ztContentListRequest); System.out.println("结束时间========================》"+DateUtil.getLongDate(new Date())); 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; } @Override public ZTBasePageResponse collectLikePage(ZTCollectLikeRequest ztCollectLikeRequest){ if(Objects.isNull(ztCollectLikeRequest) || Objects.isNull(ztCollectLikeRequest.getPageNum()) || Objects.isNull(ztCollectLikeRequest.getPageSize()) || StringUtils.isBlank(ztCollectLikeRequest.getBusinessType()) || StringUtils.isBlank(ztCollectLikeRequest.getBusinessCategory()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } //查询 中台 ZTBaseInfoResponse ztBaseInfoResponse = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz, Long.valueOf(ztCollectLikeRequest.getUserId()),ztCollectLikeRequest.getUserType()); ztCollectLikeRequest.setToken(ztBaseInfoResponse.getToken()); ZTBasePageResponse response = zbomZhongTaiService.collectLikePage(ztCollectLikeRequest); return response; } }