k94314517
2024-07-25 a75b18a4157ab486e0b51c438ac165ab3a08e3e0
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomZhongTaiServiceImpl.java
@@ -61,30 +61,29 @@
       return null;
   }
    /**
     * 获取用户登陆token
     * 获取B端用户登陆token
     * @param mobile
     * @return
     */
   @Override
   public ZSZXCatalogResponse getZSZXCatalogs(){
       ZSZXCatalogResponse response = new ZSZXCatalogResponse();
       ZTCatalogListRequest param = new ZTCatalogListRequest();
       param.setCatalogCode(ZTConstants.CatalogCode.ZHISHUO_ZHUANGXIU);
       List<ZTCatalogInfoResponse> 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;
   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
@@ -185,6 +184,196 @@
//            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;
    }
    /**
     * 获取内容详情
@@ -458,7 +647,13 @@
        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);
            String index = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_ZHONGTAI_API_URL);
            res = HttpsUtil.postJsonWithHeaders(index+url,param,headers);
@@ -477,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;
@@ -501,4 +730,46 @@
            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;
    }
}