From 3340ed122e19e3943ce4f93eb52103b623a3fc2c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 四月 2022 15:43:58 +0800
Subject: [PATCH] 订单消息bug修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java |  191 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 175 insertions(+), 16 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
index bdcaa80..60c76da 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -16,16 +16,29 @@
 
 import javax.annotation.Resource;
 
+import com.ks.lib.common.exception.ParamsException;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.SystemFunction;
 import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.exception.pdd.PDDAuthException;
+import com.yeshi.fanli.exception.pdd.PDDGoodsException;
 import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
+import com.yeshi.fanli.service.inter.pdd.PDDAuthService;
+import com.yeshi.fanli.service.inter.user.UserFunctionsLimitService;
 import com.yeshi.fanli.service.manger.PIDManager;
 import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
+import com.yeshi.fanli.service.manger.goods.jd.JDConvertLinkManager;
+import com.yeshi.fanli.service.manger.goods.pdd.PDDConvertLinkManager;
+import com.yeshi.fanli.service.manger.goods.tb.TBConvertLinkManager;
 import com.yeshi.fanli.util.*;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.exception.ExceptionConstant;
+import com.yeshi.fanli.util.goods.GoodsJumpUtil;
 import com.yeshi.fanli.util.goods.GoodsTextUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.goods.ConvertLinkJumpVO;
+import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO;
 import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
@@ -61,7 +74,7 @@
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
-import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
+import com.yeshi.fanli.exception.goods.ConvertLinkException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -69,14 +82,12 @@
 import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService;
 import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
 import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
-import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
 import com.yeshi.fanli.service.inter.homemodule.CommonShareInfoService;
 import com.yeshi.fanli.service.inter.homemodule.SpecialService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.user.QrCodeService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.cloud.UserCloudService;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
@@ -146,10 +157,25 @@
     private ConvertLinkManager convertLinkManager;
 
     @Resource
+    private TBConvertLinkManager tbConvertLinkManager;
+
+    @Resource
+    private JDConvertLinkManager jdConvertLinkManager;
+
+    @Resource
+    private PDDConvertLinkManager pddConvertLinkManager;
+
+    @Resource
     private DailyCountMomentsService dailyCountMomentsService;
 
     @Resource
     private CommonShareInfoService commonShareInfoService;
+
+    @Resource
+    private PDDAuthService pddAuthService;
+
+    @Resource
+    private UserFunctionsLimitService userFunctionsLimitService;
 
 
     @Resource
@@ -644,6 +670,9 @@
                 }
 
                 for (GoodsEvaluate goodsEvaluate : list) {
+                    if (goodsEvaluate.getGoods() != null) {
+                        goodsEvaluate.getGoods().setCreatetime(null);
+                    }
                     GoodsEvaluate evaluateNew = new GoodsEvaluate();
                     try {
                         PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
@@ -679,7 +708,7 @@
 
                         for (ImgInfo imgInfo : goodsEvaluate.getImgList()) {
 
-                            if (acceptData.getSystem() == SystemEnum.yhqjx) {
+                            if (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb) {
                                 imgInfo.setGoods(null);
                                 imgInfo.setGoodsVO(null);
                             }
@@ -823,6 +852,124 @@
 
     }
 
+
+    /**
+     * 杞摼
+     *
+     * @param acceptData
+     * @param uid
+     * @param link
+     * @param out
+     */
+    @RequestMapping(value = "convertLink", method = RequestMethod.POST)
+    public void convertLink(AcceptData acceptData, Long uid, String link, PrintWriter out) {
+        if (StringUtil.isNullOrEmpty(link)) {
+            out.print(JsonUtil.loadFalseResult("閾炬帴涓虹┖"));
+            return;
+        }
+
+        ConvertLinkJumpVO convertLinkJumpVO = null;
+        //鍒ゆ柇result鏄惁涓烘窐鍙d护
+        List<String> urlList = UrlUtils.parseUrlsFromText(link);
+        if (urlList.size() > 0) {
+            //鍙鐞嗕含涓�/鎷煎澶氶摼鎺�
+            String url = urlList.get(0);
+            if (JDUtil.isJDLink(url)) {
+                try {
+                    url = jdConvertLinkManager.convertShortUrl(url, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli);
+                } catch (ParamsException e) {
+                    e.printStackTrace();
+                }
+                convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getJDJumpInfo(url), Constant.SOURCE_TYPE_JD);
+                outPrintConvertResult(convertLinkJumpVO, out);
+                return;
+            }
+
+            if (PinDuoDuoUtil.isPDDLink(url)) {
+                String pddGoodsId = PinDuoDuoUtil.getPDDGoodsId(url);
+                String customParams = pddAuthService.getFanliCustomParams(uid);
+                PDDConvertLinkResultVO convertLinkResult = null;
+                try {
+                    convertLinkResult = pddConvertLinkManager.convertGoods(Long.parseLong(pddGoodsId), acceptData.getSystem(), customParams, uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli);
+                    convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getPDDJumpInfo(convertLinkResult), Constant.SOURCE_TYPE_PDD);
+                    outPrintConvertResult(convertLinkJumpVO, out);
+                    return;
+                } catch (PDDGoodsException e) {
+                    e.printStackTrace();
+                    //鍟嗗搧涓嬬嚎
+                    out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_GOODS_OFFLINE, "鍟嗗搧宸蹭笅绾�"));
+                    return;
+                } catch (PDDAuthException e) {
+                    e.printStackTrace();
+                    //鎷煎澶氭湭鎺堟潈
+                    out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_AUTH_PDD_NO_AUTH, "鎷煎澶氬皻鏈巿鏉冿紝璇锋巿鏉�"));
+                    return;
+                }
+            }
+
+
+            return;
+        }
+
+        List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(link);
+        if (tokenList.size() > 0) {
+            //杩樺師鍙d护
+            try {
+                TaoKeApiUtil.TokenConvertResult convertResult = TaoKeApiUtil.tokenConvert(tokenList.get(0));
+                if (convertResult != null) {
+                    String originUrl = convertResult.getOrigin_url();
+                    long goodsId = convertResult.getNum_iid();
+                    TaoBaoLink taoBaoLink = tbConvertLinkManager.convertGoods(goodsId, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli);
+                    convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getTBJumpInfo(taoBaoLink), Constant.SOURCE_TYPE_TAOBAO);
+                    outPrintConvertResult(convertLinkJumpVO, out);
+                    return;
+                } else {
+                    throw new Exception("杞摼澶辫触");
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                //杈撳嚭鍘熸潵鐨勬窐鍙d护
+                JSONObject root = new JSONObject();
+                root.put("data", new Gson().toJson(new ConvertLinkJumpVO(null, Constant.SOURCE_TYPE_TAOBAO)));
+                root.put("code", ExceptionConstant.CODE_JUMP_NO_SUPPORT);
+                out.print(root.toString());
+                return;
+            }
+
+        }
+        out.print(JsonUtil.loadFalseResult("涓嶆敮鎸佺殑绫诲瀷"));
+    }
+
+
+    private void outPrintConvertResult(ConvertLinkJumpVO vo, PrintWriter out) {
+        out.print(JsonUtil.loadTrueResult(new Gson().toJson(vo)));
+    }
+
+
+    /**
+     * 澶嶅埗鎺ㄨ崘璇�
+     *
+     * @param acceptData
+     * @param uid
+     * @param id
+     * @param type
+     * @param goodsId
+     * @param goodsType
+     * @param out
+     */
+    @RequestMapping(value = "evaluateCopyRecommend", method = RequestMethod.POST)
+    public void evaluateCopyRecommend(AcceptData acceptData, Long uid, String id, PrintWriter out) {
+        GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id);
+        if (goodsEvaluate == null) {
+            out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
+            return;
+        }
+        JSONObject data = new JSONObject();
+        String result = GoodsTextUtil.decodeAppHtmlText(goodsEvaluate.getTitle());
+        data.put("content", result);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
     /**
      * @param acceptData
      * @param uid
@@ -867,6 +1014,13 @@
                 out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
                 return;
             }
+
+
+            if (userFunctionsLimitService.isLimit(uid, SystemFunction.share, new Date())) {
+                out.print(JsonUtil.loadFalseResult(1, "璇ュ姛鑳介檺鍒朵娇鐢�"));
+                return;
+            }
+
 
             UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
             String relationId = null;
@@ -1078,6 +1232,11 @@
             return;
         }
 
+        if (userFunctionsLimitService.isLimit(uid, SystemFunction.share, new Date())) {
+            out.print(JsonUtil.loadFalseResult(1, "璇ュ姛鑳介檺鍒朵娇鐢�"));
+            return;
+        }
+
         UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
         String relationId = null;
         if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null
@@ -1105,7 +1264,7 @@
         String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇�
 
         //鐗逛环鍙渶瑕佸鍒舵枃瀛楋紝涓嶉渶瑕佽浆閾�
-        if (acceptData.getSystem() == SystemEnum.yhqjx) {
+        if (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb) {
             newText = GoodsTextUtil.decodeAppHtmlText(newText);
             //鍙鍒舵枃瀛�
             JSONObject data = new JSONObject();
@@ -1118,8 +1277,8 @@
         if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) {
             try {
                 newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true);
-            } catch (ConvertLinkExceptionException e) {
-                if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+            } catch (ConvertLinkException e) {
+                if (e.getCode() != ConvertLinkException.CODE_NONE) {
                     out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
                     return;
                 }
@@ -1202,8 +1361,8 @@
         if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) {
             try {
                 newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true);
-            } catch (ConvertLinkExceptionException e) {
-                if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+            } catch (ConvertLinkException e) {
+                if (e.getCode() != ConvertLinkException.CODE_NONE) {
                     out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
                     return;
                 }
@@ -1271,7 +1430,7 @@
 
             int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
             jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode,
-                    Integer.parseInt(acceptData.getVersion()));
+                    Integer.parseInt(acceptData.getVersion()), acceptData.getSystem());
             JSONObject inner = new JSONObject();
             inner.put("url", jumpLink);
             params = inner.toString();
@@ -1397,8 +1556,8 @@
         if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) {
             try {
                 newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true);
-            } catch (ConvertLinkExceptionException e) {
-                if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+            } catch (ConvertLinkException e) {
+                if (e.getCode() != ConvertLinkException.CODE_NONE) {
                     JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
                     return;
                 }
@@ -1549,8 +1708,8 @@
                 }
 
                 imgUrl = createActivityShareImg(type, id, erCodeContent);
-            } catch (ConvertLinkExceptionException e) {
-                if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+            } catch (ConvertLinkException e) {
+                if (e.getCode() != ConvertLinkException.CODE_NONE) {
                     JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
                     return;
                 }
@@ -1626,8 +1785,8 @@
         if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) {
             try {
                 newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true);
-            } catch (ConvertLinkExceptionException e) {
-                if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+            } catch (ConvertLinkException e) {
+                if (e.getCode() != ConvertLinkException.CODE_NONE) {
                     JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
                     return;
                 }

--
Gitblit v1.8.0