k94314517
2024-07-25 a75b18a4157ab486e0b51c438ac165ab3a08e3e0
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -16,9 +16,11 @@
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.model.CrmInterfaceLog;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.web.response.ZSZXCatalogResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.Date;
@@ -36,6 +38,9 @@
public class ZbomZhongTaiServiceImpl implements ZbomZhongTaiService {
    @Autowired
    private InterfaceLogMapper interfaceLogMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    /**
     * 获取用户登陆token
     * @param param
@@ -48,29 +53,55 @@
               ZTConstants.IntegerName.USER_GET_TOKEN_NAME,
               param.getToken(),
               param.getUserType(),
               JSONObject.toJSONString(param ));
               JSONObject.toJSONString(param ),
               new TypeReference<ZTBaseResponse<ZTUserGetTokenResponse>>(){});
       if(result!=null){
           return result.getData();
       }
       return null;
   }
    /**
     * 获取B端用户登陆token
     * @param mobile
     * @return
     */
   @Override
   public ZTSysuserGetTokenResponse getSysuserToken(String  mobile){
       ZTBaseResponse<ZTSysuserGetTokenResponse> result = sendSysHttpRequest(
               ZTConstants.IntegerUrl.USER_MOBILE_FASTLOGIN_URL+"?mobile="+mobile,
               ZTConstants.IntegerName.USER_MOBILE_FASTLOGIN_NAME,
               null,
               null,
               "",
               new TypeReference<ZTBaseResponse<ZTSysuserGetTokenResponse>>(){});
       if(result!=null){
           return result.getData();
       }
       return null;
   }
    /**
     * 获取用户登陆token
     * @return
     */
    /**
     * 用户信息同步
     * @param param
     * @return
     */
    @Override
    public ZTUserGetTokenResponse userUpdateInfo(ZTUserInfoUpdateRequest param){
    public ZTBaseResponse userUpdateInfo(ZTUserInfoUpdateRequest param){
        ZTBaseResponse<ZTUserGetTokenResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.USER_UPDATE_URL,
                ZTConstants.IntegerName.USER_UPDATE_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
        if(result!=null){
            return result.getData();
        }
        return null;
                null,
                null,
                JSONObject.toJSONString(param),
                new TypeReference<ZTBaseResponse<ZTUserGetTokenResponse>>(){});
//        if(result!=null){
//            return result.getData();
//        }
        return result;
    }
    /**
     * 注销用户
@@ -84,7 +115,8 @@
                ZTConstants.IntegerName.USER_LOGOUT_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        if(result!=null ){
            return true;
        }
@@ -98,12 +130,33 @@
     */
    @Override
    public  List<ZTCatalogInfoResponse> getCatalogList(ZTCatalogListRequest param){
        ZTBaseResponse<List<ZTCatalogInfoResponse>> result = sendHttpRequest(
       ZTBaseResponse<List<ZTCatalogInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.CATALOG_LIST_URL,
                ZTConstants.IntegerName.CATALOG_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
        new TypeReference<ZTBaseResponse<List<ZTCatalogInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取分类和分类下的标签
     * @param param
     * @return
     */
    @Override
    public List<ZTTagInfoResponse> getTagList(ZTCatalogListRequest param){
        ZTBaseResponse<List<ZTTagInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.TAG_LIST_URL,
                ZTConstants.IntegerName.TAG_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<List<ZTTagInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
@@ -122,11 +175,205 @@
                ZTConstants.IntegerName.CONTENT_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTContentListResponse>>>(){});
        if(result!=null){
            return result.getData();
//            TypeReference<ZTBasePageResponse<ZTContentListResponse>> typeReference = new TypeReference<ZTBasePageResponse<ZTContentListResponse>>(){};
//            ZTBasePageResponse<ZTContentListResponse> ztBasePageResponse = JSONObject.parseObject(result.getData(), typeReference.getType());
//            return ztBasePageResponse;
        }
        return null;
    }
    /**
     * 获取视频列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTZbDecoInfoResponse> pageZbDecoList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTZbDecoInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.ZBDECO_PAGE_LIST_URL,
                ZTConstants.IntegerName.ZBDECO_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTZbDecoInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取视频列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTVideoInfoResponse> pageVideoList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTVideoInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.VIDEO_PAGE_LIST_URL,
                ZTConstants.IntegerName.VIDEO_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTVideoInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取产品资讯列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTProductNewsInfoResponse> pageProductNewsList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTProductNewsInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.PRODUCT_NEWS_PAGE_LIST_URL,
                ZTConstants.IntegerName.PRODUCT_NEWS_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTProductNewsInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取产品列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTProductInfoResponse> pageProductList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTProductInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.PRODUCT_PAGE_LIST_URL,
                ZTConstants.IntegerName.PRODUCT_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTProductInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取全屋案例列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTCaseInfoResponse> pageWholecaseList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTCaseInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.WHOLECASE_PAGE_LIST_URL,
                ZTConstants.IntegerName.WHOLECASE_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTCaseInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取实景案例列表分页
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTRealcaseInfoResponse> pageRealcaseList(ZTContentListRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTRealcaseInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.REALCASE_PAGE_LIST_URL,
                ZTConstants.IntegerName.REALCASE_PAGE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTRealcaseInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取产品详情
     * @param param
     * @return
     */
    @Override
    public ZTProductInfoResponse getProductInfo(ZTContentInfoRequest param){
        ZTBaseResponse<ZTProductInfoResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.PRODUCT_INFO_URL,
                ZTConstants.IntegerName.PRODUCT_INFO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTProductInfoResponse>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取产品资讯详情
     * @param param
     * @return
     */
    @Override
    public ZTProductNewsInfoResponse getProductNewsInfo(ZTContentInfoRequest param){
        ZTBaseResponse<ZTProductNewsInfoResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.PRODUCT_NEWS_INFO_URL,
                ZTConstants.IntegerName.PRODUCT_NEWS_INFO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTProductNewsInfoResponse>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取实景资讯详情
     * @param param
     * @return
     */
    @Override
    public ZTRealcaseInfoResponse getRealcaseInfo(ZTContentInfoRequest param){
        ZTBaseResponse<ZTRealcaseInfoResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.REALCASE_INFO_URL,
                ZTConstants.IntegerName.REALCASE_INFO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTRealcaseInfoResponse>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取全屋资讯详情
     * @param param
     * @return
     */
    @Override
    public ZTCaseInfoResponse getWholecaseInfo(ZTContentInfoRequest param){
        ZTBaseResponse<ZTCaseInfoResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.WHOLECASE_INFO_URL,
                ZTConstants.IntegerName.WHOLECASE_INFO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTCaseInfoResponse>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取内容详情
@@ -136,11 +383,12 @@
    @Override
    public ZTContentInfoResponse getContentInfo(ZTContentInfoRequest param){
        ZTBaseResponse<ZTContentInfoResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.CONTENT_INFO_URL+ param.getArticleId(),
                ZTConstants.IntegerUrl.CONTENT_INFO_URL+ param.getId(),
                ZTConstants.IntegerName.CONTENT_INFO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTContentInfoResponse>>(){});
        if(result!=null){
            return result.getData();
        }
@@ -152,17 +400,16 @@
     * @return
     */
    @Override
    public boolean collectDo(ZTActionDoRequest param){
    public ZTBaseResponse collectDo(ZTActionDoRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.COLLECT_DO_URL,
                ZTConstants.IntegerName.COLLECT_DO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
        if(result!=null ){
            return true;
        }
        return false;
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        return result;
    }
    /**
     * 内容喜欢
@@ -170,17 +417,16 @@
     * @return
     */
    @Override
    public  boolean likeDo(ZTActionBatchDoRequest param){
    public  ZTBaseResponse likeDo(ZTActionBatchDoRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.LIKE_DO_URL,
                ZTConstants.IntegerName.LIKE_DO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
        if(result!=null ){
            return true;
        }
        return false;
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        return result;
    }
    /**
     * 内容分享
@@ -188,17 +434,15 @@
     * @return
     */
    @Override
    public boolean shareDo(ZTActionDoRequest param){
    public ZTBaseResponse shareDo(ZTActionDoRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.SHARE_DO_URL,
                ZTConstants.IntegerName.SHARE_DO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
        if(result!=null ){
            return true;
        }
        return false;
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        return result;
    }
    /**
     * 内容浏览
@@ -206,13 +450,30 @@
     * @return
     */
    @Override
    public boolean viewDo(ZTActionDoRequest param){
    public ZTBaseResponse viewDo(ZTActionDoRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.VIEW_DO_URL,
                ZTConstants.IntegerName.VIEW_DO_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        return result;
    }
    /**
     * 用户绑定客户喜欢清单,可绑定多个内容
     * @param param
     * @return
     */
    @Override
    public boolean bindCustomerFavorites(ZTBindCusFavoriteDoRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.BIND_CUSTOMER_FAVORITES_URL,
                ZTConstants.IntegerName.BIND_CUSTOMER_FAVORITES_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        if(result!=null ){
            return true;
        }
@@ -224,13 +485,52 @@
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTContentListResponse> pageCollectList(ZTContentListRequest param){
        ZTBaseResponse< ZTBasePageResponse<ZTContentListResponse>> result = sendHttpRequest(
    public ZTBasePageResponse<ZTCollectInfoResponse> pageCollectList(ZTContentListRequest param){
        ZTBaseResponse< ZTBasePageResponse<ZTCollectInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.COLLECT_LIST_URL,
                ZTConstants.IntegerName.COLLECT_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTCollectInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取我的收藏列表分页
     * @param param
     * @return
     */
    @Override
    public  ZTBasePageResponse<ZTBehaviorInfoResponse> pageBehavoirList(ZTContentListRequest param){
        ZTBaseResponse< ZTBasePageResponse<ZTBehaviorInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.BEHAVIOR_LIST_URL,
                ZTConstants.IntegerName.BEHAVIOR_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTBehaviorInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取客户喜欢
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTCusFavoritesInfoResponse> pageCusFavoriteList(ZTContentListRequest param){
        ZTBaseResponse< ZTBasePageResponse<ZTCusFavoritesInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.CUSTOMER_FAVORITES_LIST_URL,
                ZTConstants.IntegerName.CUSTOMER_FAVORITES_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTCusFavoritesInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
@@ -249,13 +549,53 @@
                ZTConstants.IntegerName.LIKE_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTContentListResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 轮播图列表
     * @param param
     * @return
     */
    @Override
    public List<ZTCusCarouselImageResponse> carouselImageList(ZTContentListRequest param){
        ZTBaseResponse<List<ZTCusCarouselImageResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.CUSTOMER_CAROUSEL_IMAGE_URL,
                ZTConstants.IntegerName.CUSTOMER_CAROUSEL_IMAGE_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<List<ZTCusCarouselImageResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    @Override
    public ZTCusCarouselImageResponse carouselImageDetail(ZTDataDetailRequest param){
        ZTBaseResponse<ZTCusCarouselImageResponse> result = sendHttpRequest(
                ZTConstants.IntegerUrl.CUSTOMER_CAROUSEL_IMAGE_DETAIL_URL,
                ZTConstants.IntegerName.CUSTOMER_CAROUSEL_IMAGE_DETAIL_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTCusCarouselImageResponse>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取获取省市区集合
     * @param param
@@ -271,29 +611,55 @@
                ZTConstants.IntegerName.AREA_LIST_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ));
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<List<ZTAreaInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    /**
     * 获取获取省市区集合
     * @param param
     * @return
     */
    @Override
    public List<ZTAreaTreeResponse> getAreaTreeList(ZTAreaListRequest param){
       if(StringUtils.isBlank(param.getPid())){
           param.setPid(ZTConstants.DEFAULT_PID);//默认取全部省份
       }
        ZTBaseResponse<List<ZTAreaTreeResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.AREA_TREE_URL,
                ZTConstants.IntegerName.AREA_TREE_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<List<ZTAreaTreeResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return  null;
    }
    public   <T> ZTBaseResponse<T> sendHttpRequest(String url,String name,String token,String userType,String param){
    public   <T>   ZTBaseResponse<T> sendHttpRequest(String url,String name,String token,String userType,String param,TypeReference<ZTBaseResponse<T>> typeReference){
        log.info("【"+name+"】================开始===="+ JSONObject.toJSONString(param));
        String res = null;
        int success = 0;
        try {
            Map<String,String> headers = new HashMap<>();
            headers.put(ZTConstants.HEADER_TOKEN,token);
            if(StringUtils.equals(userType,ZTConstants.CUSTOMER)){
                //如果是C端客户
                headers.put(ZTConstants.HEADER_TOKEN,token);
            }else{
                //如果是B端用户
                headers.put(ZTConstants.HEADER_SYSUSER_TOKEN,token);
            }
            headers.put(ZTConstants.HEADER_USERTYPE,userType);
            res = HttpsUtil.postJsonWithHeaders(url,param,headers);
            TypeReference typeReference =
                    new TypeReference<ZTBaseResponse<T>>(){};
            String index = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_ZHONGTAI_API_URL);
            res = HttpsUtil.postJsonWithHeaders(index+url,param,headers);
            ZTBaseResponse<T>  result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,name);
            if(StringUtils.equals(result.getCode(),ZTConstants.CODE_SUCCESS)){
            if(Constants.equalsInteger(result.getCode(),ZTConstants.CODE_SUCCESS)){
                return  result;
            }else{
                success =1;
@@ -306,6 +672,40 @@
        }
        return  null;
    }
    public   <T>   ZTBaseResponse<T> sendSysHttpRequest(String url,String name,String token,String userType,String param,TypeReference<ZTBaseResponse<T>> typeReference){
        log.info("【"+name+"】================开始===="+ JSONObject.toJSONString(param));
        String res = null;
        int success = 0;
        try {
            Map<String,String> headers = new HashMap<>();
            if(StringUtils.equals(userType,ZTConstants.CUSTOMER)){
                //如果是C端客户
                headers.put(ZTConstants.HEADER_TOKEN,token);
            }else{
                //如果是B端用户
                headers.put(ZTConstants.HEADER_SYSUSER_TOKEN,token);
            }
            headers.put(ZTConstants.HEADER_USERTYPE,userType);
            String index = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_ZHONGTAI_SYS_API_URL);
            res = HttpsUtil.postJsonWithHeaders(index+url,param,headers);
            ZTBaseResponse<T>  result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,name);
            if(Constants.equalsInteger(result.getCode(),ZTConstants.CODE_SUCCESS)){
                return  result;
            }else{
                success =1;
            }
        }catch (Exception e){
            success = 1;
            log.error("【"+name+"】================失败===="+ JSONObject.toJSONString(param));
        }finally {
            saveInterfaceLog(url,name,param,success,res);
        }
        return  null;
    }
    public  void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone){
        if(interfaceLogMapper ==null){
            return;
@@ -324,10 +724,52 @@
        interfaceLogMapper.insert(log);
    }
    private static void logResult(ZTBaseResponse res,String name) {
        if(StringUtils.equals(res.getCode(), ZTConstants.CODE_SUCCESS)){
        if(Constants.equalsInteger(res.getCode(),ZTConstants.CODE_SUCCESS)){
            log.info("【中台接口:"+name+"】================成功====\n"+res);
        }else{
            log.error("【中台接口:"+name+"】================失败====:\n"+ res);
        }
    }
    /**
     * 获取我的喜欢/收藏列表
     * @param param
     * @return
     */
    @Override
    public ZTBasePageResponse<ZTCollectLikeInfoResponse> collectLikePage(ZTCollectLikeRequest param){
        ZTBaseResponse<ZTBasePageResponse<ZTCollectLikeInfoResponse>> result = sendHttpRequest(
                ZTConstants.IntegerUrl.FAVORITES_PAGE_URL,
                ZTConstants.IntegerName.FAVORITES_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<ZTBasePageResponse<ZTCollectLikeInfoResponse>>>(){});
        if(result!=null){
            return result.getData();
        }
        return null;
    }
    /**
     * 获取分类和分类下的标签
     * @param param
     * @return
     */
    @Override
    public ZTBaseResponse batchAddLike(ZTBatchAddListRequest param){
        ZTBaseResponse result = sendHttpRequest(
                ZTConstants.IntegerUrl.BATCH_ADD_LIKE_URL,
                ZTConstants.IntegerName.BATCH_ADD_LIKE_NAME,
                param.getToken(),
                param.getUserType(),
                JSONObject.toJSONString(param ),
                new TypeReference<ZTBaseResponse<Object>>(){});
        if(result!=null){
            return result;
        }
        return null;
    }
}