From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/GoodsControllerLijin.java |   85 +++++++++++++++++++++++++++++++++---------
 1 files changed, 67 insertions(+), 18 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/GoodsControllerLijin.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/GoodsControllerLijin.java
index c4ce535..70b7539 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/GoodsControllerLijin.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/GoodsControllerLijin.java
@@ -6,6 +6,7 @@
 import com.ks.lijin.exception.LiJinGoodsException;
 import com.ks.lijin.exception.LiJinUserException;
 import com.ks.lijin.pojo.DO.LiJinExpendRecord;
+import com.ks.lijin.pojo.DTO.MoneyInfo;
 import com.ks.vip.pojo.Enums.VIPEnum;
 import com.yeshi.common.entity.taobao.TaoBaoShop;
 import com.yeshi.common.entity.taobao.TaoKeAppInfo;
@@ -28,8 +29,10 @@
 import com.yeshi.fanli.lijin.manager.GoodsLijinMnager;
 import com.yeshi.fanli.lijin.manager.UserLijinMnager;
 import com.yeshi.fanli.lijin.manager.UserLijinSendManager;
+import com.yeshi.fanli.log.vo.UserGoodsScanLog;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.pdd.PDDAuthService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
@@ -38,6 +41,7 @@
 import com.yeshi.fanli.service.manger.PIDManager;
 import com.yeshi.fanli.util.*;
 import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOLijinFactory;
 import com.yeshi.fanli.util.factory.goods.ShopInfoVOFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
@@ -51,10 +55,13 @@
 import com.yeshi.fanli.lijin.vo.GoodsDetailVO;
 import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
 import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.MoneyBigDecimalUtil;
+import org.yeshi.utils.NumberUtil;
 
 import javax.annotation.Resource;
 import java.io.PrintWriter;
@@ -66,6 +73,8 @@
 @Controller
 @RequestMapping("api/lijin/goods")
 public class GoodsControllerLijin {
+    Logger userGoodsScanLogger = LoggerFactory.getLogger("userGoodsScanLog");
+
 
     @Resource
     private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
@@ -103,6 +112,9 @@
     @Resource
     private UserInfoService userInfoService;
 
+    @Resource
+    private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
 
     /**
      * 鑾峰彇鍟嗗搧璇︽儏
@@ -113,11 +125,14 @@
      * @param from
      * @return
      */
+
     @RequestMapping("getGoodsDetail")
     public void getGoodsDetail(AcceptData acceptData, int goodsType, String goodsId, Long uid, String from, PrintWriter out) {
         GoodsDetailVO goodsDetailVO = new GoodsDetailVO();
         GoodsDetailVO.GoodsExtraVO extraVO = new GoodsDetailVO.GoodsExtraVO();
-        GoodsMoneyConfigParamsDTO paramsDTO = new GoodsMoneyConfigParamsDTO();
+        GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
+                acceptData.getVersion(), acceptData.getSystem());
+
         paramsDTO.setFanLiRate(goodsLijinMnager.getFanLiRate(uid));
         // 棰嗗埜浜哄垪琛�
         List<ShamUser> listCouponUser = new ArrayList<>();
@@ -137,18 +152,21 @@
 
                 }
 
-                TaoBaoGoodsBrief goods = getTaoBaoGoods(Long.parseLong(goodsId));
+                TaoBaoGoodsBrief goods = getTaoBaoGoods(goodsId);
 
+                //鍔犺浇璧勯噾淇℃伅
+                com.yeshi.fanli.vo.goods.GoodsDetailVO goodsDetailVO1 = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+                goodsDetailVO1 = goodsLijinMnager.loadTBMoneyInfo(acceptData.getSystem(), uid, goods, goodsDetailVO1, true);
 
                 goodsDetailVO.setGoods(GoodsDetailVOLijinFactory.convertTaoBao(goods, paramsDTO));
-                BigDecimal lijinAmount = goodsLijinMnager.getTBLijin(uid, goods);
-                if (lijinAmount != null && lijinAmount.compareTo(new BigDecimal(0)) > 0) {
-                    goodsDetailVO.getGoods().getMoneyInfo().setHongBaoMoney("楼" + lijinAmount);
-                }
+                //閲嶇疆璧勯噾淇℃伅
+                goodsDetailVO.getGoods().setMoneyInfo(goodsDetailVO1.getMoneyInfo());
+
+
                 GoodsDetailVOLijinFactory.fillRights(goodsDetailVO.getGoods());
 
                 // 搴楅摵淇℃伅
-                TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getId(), goods.getSellerId());
+                TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getAuctionId(), goods.getSellerId());
                 if (shop != null) {
                     String shopLink = shop.getShopLink();
                     if (StringUtil.isNullOrEmpty(shopLink)) {
@@ -255,11 +273,24 @@
                 break;
         }
 
+        ThreadUtil.run(new Runnable() {
+
+
+            @Override
+            public void run() {
+                try {
+                    userGoodsScanLogger.info("{}", new Gson().toJson(UserGoodsScanLog.UserGoodsScanLogFactory.create(goodsDetailVO.getGoods(), uid, acceptData.getUtdid(), acceptData.getDevice())));
+                } catch (Exception e) {
+
+                }
+            }
+        });
+
 
         //鏄惁鏀惰棌
         extraVO.setCollected(false);
         if (uid != null) {
-            CollectionGoodsV2 collectionGoodsV2 = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsType == Constant.SOURCE_TYPE_SUNING ? goodsIdSuning : Long.parseLong(goodsDetailVO.getGoods().getGoodsId()), goodsType);
+            CollectionGoodsV2 collectionGoodsV2 = collectionGoodsV2Service.findByUidAndAuctionId(uid, goodsType == Constant.SOURCE_TYPE_SUNING ? goodsIdSuning + "" : goodsDetailVO.getGoods().getGoodsId(), goodsType);
             if (collectionGoodsV2 != null) {
                 extraVO.setCollected(true);
             }
@@ -273,7 +304,13 @@
         extraVO.setBuyValid(true);
         extraVO.setListCouponUser(listCouponUser);
         goodsDetailVO.setExtra(extraVO);
-        loadLijinInfo(uid, goodsDetailVO);
+        try {
+            loadLijinInfo(uid, acceptData.getSystem(), goodsDetailVO);
+        } catch (Exception e) {
+            if (goodsDetailVO.getGoods().getMoneyInfo() != null) {
+                goodsDetailVO.getGoods().getMoneyInfo().setHongBaoMoney("0.00");
+            }
+        }
         //娓呴櫎涓存椂淇℃伅
         goodsDetailVO.getGoods().setTempCoupon(null);
         if (goodsDetailVO.getGoods().getLabels() == null)
@@ -303,7 +340,7 @@
 
 
             try {
-                LiJinExpendRecord record = goodsLijinMnager.createTBLijin(Long.parseLong(goodsId), uid, new Date(user.getCreatetime()));
+                LiJinExpendRecord record = goodsLijinMnager.createTBLijin(goodsId, uid, new Date(user.getCreatetime()));
                 String sendUrl = record.getSendUrl();
                 if (StringUtil.isNullOrEmpty(sendUrl)) {
                     out.print(JsonUtil.loadFalseResult("绀奸噾鍒涘缓澶辫触"));
@@ -317,6 +354,12 @@
                 data.put("link", link);
                 data.put("native", true);
                 data.put("userLevel", userLijinMnager.getUserLevelInfo(uid, acceptData.getSystem()));
+                //鑾峰彇浠婃棩鐨勫墿浣欐鏁�
+                try {
+                    int leftCount = goodsLijinMnager.getTodayLeftCount(uid, new Date(user.getCreatetime()));
+                    data.put("todayLeftCount", "绔嬪噺鏈轰細锛�-1娆� 浠婃棩鍓╀綑锛�" + leftCount + "娆�");
+                } catch (Exception e) {
+                }
                 out.print(JsonUtil.loadTrueResult(data));
             } catch (LiJinException e) {
                 out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -342,29 +385,35 @@
      *
      * @param goodsDetailVO
      */
-    private void loadLijinInfo(Long uid, GoodsDetailVO goodsDetailVO) {
+    private void loadLijinInfo(Long uid, SystemEnum system, GoodsDetailVO goodsDetailVO) {
         VIPEnum vipRank = userLijinMnager.getVIPRank(uid);
-        GoodsDetailVO.GoodsHongBaoListVO.UserLevelVO userLevelVO = goodsLijinMnager.getUserLevel(vipRank, true);
+        GoodsDetailVO.GoodsHongBaoListVO.UserLevelVO userLevelVO = goodsLijinMnager.getUserLevel(system, vipRank, true);
         //杩斿埄UserLevel
         if (goodsDetailVO.getGoods().getPriceList() != null && goodsDetailVO.getGoods().getPriceList().size() > 0)
             goodsDetailVO.getGoods().getPriceList().get(0).setUserLevel(userLevelVO);
         //绀奸噾UserLevel
-        userLevelVO = goodsLijinMnager.getUserLevel(vipRank, false);
+        userLevelVO = goodsLijinMnager.getUserLevel(system, vipRank, false);
         goodsLijinMnager.loadLijinInfo(vipRank, goodsDetailVO, userLevelVO);
     }
 
 
-    private TaoBaoGoodsBrief getTaoBaoGoods(Long id) {
+    private TaoBaoGoodsBrief getTaoBaoGoods(String id) {
         try {
             TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(id);
             if (goods != null) {
                 return goods;
             }
             TaoKeAppInfo app = new TaoKeAppInfo();
-            app.setAppKey(TaoBaoConstant.TAOBAO_COMMON_APPKEY);
-            app.setAppSecret(TaoBaoConstant.TAOBAO_COMMON_APPSECRET);
-            app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID);
-            app.setAdzoneId(TaoBaoConstant.TAOBAO_COMMON_PID.split("_")[3]);
+            if (NumberUtil.isNumeric(id)) {
+                app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+                app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+                app.setPid(TaoBaoConstant.TAOBAO_PID_DEFAULT);
+            } else {
+                app.setAppKey(TaoBaoConstant.TAOBAO_COMMON_APPKEY);
+                app.setAppSecret(TaoBaoConstant.TAOBAO_COMMON_APPSECRET);
+                app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID);
+            }
+            app.setAdzoneId(app.getPid().split("_")[3]);
             goods = TaoKeApiUtil.searchGoodsDetail(id, app);
 
             final TaoBaoGoodsBrief finalGoods = goods;

--
Gitblit v1.8.0