From c9db68e33f90231b064b8864fc69ccf7d25f5e0b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 25 八月 2022 17:55:40 +0800
Subject: [PATCH] 淘宝商品ID字符串化

---
 service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java              |    2 
 service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java            |   14 ++--
 service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java                |    4 
 facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java                           |   67 ++++++++++++++++++++++
 service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java |    4 
 service-lijin/src/test/java/com/ks/LuckyTest.java                                              |    2 
 facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java                          |    2 
 facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java                        |    8 +-
 facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java                         |    6 +-
 facade-lijin/pom.xml                                                                           |    2 
 facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java                         |   20 +++---
 11 files changed, 99 insertions(+), 32 deletions(-)

diff --git a/facade-lijin/pom.xml b/facade-lijin/pom.xml
index f7fcb7f..331a891 100644
--- a/facade-lijin/pom.xml
+++ b/facade-lijin/pom.xml
@@ -31,7 +31,7 @@
         <dependency>
             <groupId>com.ks</groupId>
             <artifactId>facade-goods</artifactId>
-            <version>0.0.1</version>
+            <version>0.0.2</version>
         </dependency>
 
 
diff --git a/facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java b/facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java
index 6f34e75..e9fff9a 100644
--- a/facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java
+++ b/facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java
@@ -79,7 +79,7 @@
     private String is_lx;
     private String item_category_name;
     @Indexed
-    private long item_id;
+    private String item_id;
     private String item_img;
     private String item_link;
     private int item_num;
@@ -223,11 +223,11 @@
         this.item_category_name = item_category_name;
     }
 
-    public long getItem_id() {
+    public String getItem_id() {
         return item_id;
     }
 
-    public void setItem_id(long item_id) {
+    public void setItem_id(String item_id) {
         this.item_id = item_id;
     }
 
diff --git a/facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java b/facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java
index 0b4a860..35a8db9 100644
--- a/facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java
+++ b/facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java
@@ -15,6 +15,6 @@
      * @param pageSize
      * @return
      */
-    public List<LiJinProviderLink> getValidLijinLink(Long auctionId, int page, int pageSize);
+    public List<LiJinProviderLink> getValidLijinLink(String auctionId, int page, int pageSize);
 
 }
diff --git a/facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java b/facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java
index 609f2e2..4394f3d 100644
--- a/facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java
+++ b/facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java
@@ -36,7 +36,7 @@
      * @param uid      鐢ㄦ埛ID
      * @return 绀奸噾鍒涘缓鐨勯潰棰�
      */
-    public BigDecimal getTBLijinAmount(Long actionId, String uid)
+    public BigDecimal getTBLijinAmount(String actionId, String uid)
             throws LiJinGoodsException, LiJinUserException, LiJinAmountException;
 
 
@@ -48,7 +48,7 @@
      * @return 绀奸噾鍒涘缓鐨勯潰棰�
      * @throws LiJinGoodsException
      */
-    public BigDecimal getTBLijinAmount(Long actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException;
+    public BigDecimal getTBLijinAmount(String actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException;
 
 
     /**
@@ -81,7 +81,7 @@
      * @throws LiJinUserException
      * @throws LiJinAmountException
      */
-    public LiJinExpendRecord createTBLijin(String uid, Long auctionId)
+    public LiJinExpendRecord createTBLijin(String uid, String auctionId)
             throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException;
 
     /**
@@ -106,7 +106,7 @@
      * @throws LiJinUserException
      * @throws LiJinAmountException
      */
-    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId)
+    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, String auctionId)
             throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException;
 
 
diff --git a/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java b/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java
index 6b0b663..61d70f8 100644
--- a/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java
+++ b/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java
@@ -12,6 +12,7 @@
 import java.util.regex.Pattern;
 
 
+import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.stereotype.Component;
 import org.yeshi.utils.*;
 
@@ -368,6 +369,72 @@
         return null;
     }
 
+    /**
+     * @return boolean
+     * @author hxh
+     * @description 鍒ゆ柇娣樺疂鍟嗗搧ID鏄惁鐩哥瓑
+     * @date 14:55 2022/8/24
+     * @param: auctionId1
+     * @param: auctionId2
+     **/
+    public static boolean isEqual(String auctionId1, String auctionId2) {
+        if (auctionId1 == null || auctionId2 == null) {
+            return false;
+        }
+
+        if (auctionId1.indexOf("-") > 0 && auctionId2.indexOf("-") > 0) {
+            return auctionId1.split("-")[1].equals(auctionId2.split("-")[1]);
+        }
+        return auctionId1.equals(auctionId2);
+    }
+
+    /**
+     * @return java.lang.String
+     * @author hxh
+     * @description 鑾峰彇鍟嗗搧ID鐨勫悗鍗婃
+     * @date 15:20 2022/8/24
+     * @param: auctionId
+     **/
+    public static String getAuctionId(String auctionId) {
+        if (auctionId == null)
+            return auctionId;
+        if (auctionId.indexOf("-") > 0) {
+            return auctionId.split("-")[1];
+        } else {
+            return auctionId;
+        }
+
+    }
+
+    /**
+     * @author hxh
+     * @description 鑾峰彇mongodb鍟嗗搧ID鐩稿悓鐨勬潯浠�
+     * @date 16:05 2022/8/24
+     * @param: key
+     * @param: auctionId
+     * @return org.springframework.data.mongodb.core.query.Criteria
+     **/
+    public static Criteria getAuctionIdEqualCriteria(String key, String auctionId) {
+        if (!isNewAuctionId(auctionId)) {
+            return Criteria.where(key).is(auctionId);
+        } else {
+            return Criteria.where(key).regex("*-" + getAuctionId(auctionId));
+        }
+    }
+
+    /**
+     * @return boolean
+     * @author hxh
+     * @description 鏄惁涓烘柊鐨勫晢鍝両D
+     * @date 15:39 2022/8/24
+     * @param: auctionId
+     **/
+    public static boolean isNewAuctionId(String auctionId) {
+        if (auctionId != null && auctionId.indexOf("-") > 0)
+            return true;
+        return false;
+    }
+
 
 
 }
diff --git a/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java b/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java
index 17b9c78..a9f42c6 100644
--- a/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java
+++ b/facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java
@@ -26,7 +26,7 @@
     private static Map<String, Integer> invalidMap = new HashMap<>();
 
     // 娣樼ぜ閲戝垱寤�
-    public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
+    public static TaoLiJinDTO createTaoLiJin(String auctionId, String name, BigDecimal perface, int totalNum,
                                              Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
             throws LiJinAccountException, LiJinAmountException, LiJinException, LiJinGoodsException {
         Map<String, String> map = new HashMap<>();
@@ -157,7 +157,7 @@
 
 
     // 瑁傛窐绀奸噾鍒涘缓
-    public static TaoLiJinDTO createLieBianTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
+    public static TaoLiJinDTO createLieBianTaoLiJin(String auctionId, String name, BigDecimal perface, int totalNum,
                                                     Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
             throws LiJinAccountException, LiJinAmountException, LiJinException, LiJinGoodsException {
         Map<String, String> map = new HashMap<>();
@@ -406,7 +406,7 @@
     }
 
 
-    public static TaoBaoGoodsBrief searchGoodsDetail(Long id) throws TaoBaoGoodsDownException {
+    public static TaoBaoGoodsBrief searchGoodsDetail(String id) throws TaoBaoGoodsDownException {
         return searchGoodsDetail(id, null, null);
     }
 
@@ -417,7 +417,7 @@
      * @return
      * @throws
      */
-    public static TaoBaoGoodsBrief searchGoodsDetail(Long id, String specialId, String relationId) throws TaoBaoGoodsDownException {
+    public static TaoBaoGoodsBrief searchGoodsDetail(String id, String specialId, String relationId) throws TaoBaoGoodsDownException {
         TaoBaoGoodsBrief goods = getSimpleGoodsInfo(id);
         if (goods == null)
             return null;
@@ -430,8 +430,8 @@
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
             for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
                 System.out.println(goods.getAuctionId() + ":" + g.getAuctionId());
-                if (goods.getAuctionId().longValue() == g.getAuctionId()) {
-                    g.setId(goods.getAuctionId());
+                if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
+                    //g.setId(goods.getAuctionId());
                     g.setCreatetime(new Date());
                     g.setMaterialLibType(goods.getMaterialLibType());
                     g.setProvcity(goods.getProvcity());
@@ -453,7 +453,7 @@
      * @param id -鍟嗗搧AuctionId
      * @return
      */
-    public static TaoBaoGoodsBrief getSimpleGoodsInfo(Long id) throws TaoBaoGoodsDownException {
+    public static TaoBaoGoodsBrief getSimpleGoodsInfo(String id) throws TaoBaoGoodsDownException {
         Map<String, String> map = new HashMap<>();
         map.put("method", "taobao.tbk.item.info.get");
         map.put("num_iids", id + "");
@@ -480,7 +480,7 @@
 
     private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) {
         TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
-        goods.setAuctionId(item.optLong("num_iid"));
+        goods.setAuctionId(item.optString("num_iid"));
         goods.setAuctionUrl(item.optString("item_url"));
         goods.setBiz30day(item.optInt("volume"));
         if (item.optJSONObject("small_images") != null) {
@@ -646,7 +646,7 @@
             goods.setPictUrlWhite(item.optString("white_image"));
         }
 
-        goods.setAuctionId(item.optLong("num_iid"));
+        goods.setAuctionId(item.optString("num_iid"));
         goods.setAuctionUrl("https:" + item.optString("url"));
         goods.setBiz30day(item.optInt("volume"));
         goods.setCouponInfo(item.optString("coupon_info"));
@@ -761,7 +761,7 @@
         Date useEndTime = sendEndTime;
 
         try {
-            createLieBianTaoLiJin(auctionId, name, perface, totalNum,
+            createLieBianTaoLiJin(auctionId+"", name, perface, totalNum,
                     sendStartTime, sendEndTime, useStartTime, useEndTime, app);
         } catch (LiJinAccountException e) {
             e.printStackTrace();
diff --git a/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java b/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
index a7610d4..3875662 100644
--- a/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
+++ b/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
@@ -35,7 +35,7 @@
      * @param money
      */
     @Transactional(rollbackFor = Exception.class)
-    public void createLijinSuccess(Long accountId, Long auctionId, BigDecimal money, Date createTime) {
+    public void createLijinSuccess(Long accountId, String auctionId, BigDecimal money, Date createTime) {
         String day = TimeUtil.getGernalTime(createTime.getTime(), "yyyyMMdd");
         String goodsKey = String.format("lijingoodsnum-%s-%s", day, accountId);
         String accountMoneyKey = String.format("lijinaccountmoney-%s-%s", day, accountId);
@@ -77,7 +77,7 @@
      * @param accountId
      */
     public void initTodayData(Long accountId) {
-        createLijinSuccess(accountId, 1L, new BigDecimal(0), new Date());
+        createLijinSuccess(accountId, 1L+"", new BigDecimal(0), new Date());
     }
 
 
diff --git a/service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java b/service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java
index b9e81d2..5bd92a3 100644
--- a/service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java
+++ b/service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java
@@ -26,7 +26,7 @@
      * @param auctionId
      * @param date
      */
-    public void createdFullToday(Long auctionId, Date date) {
+    public void createdFullToday(String auctionId, Date date) {
         int expireTime = (int) ((TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(date.getTime() + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd") - date.getTime()) / 1000);
         String day = TimeUtil.getGernalTime(date.getTime(), "yyyyMMdd");
         String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
@@ -39,7 +39,7 @@
      * @param auctionId
      * @return
      */
-    public boolean todayCanCreate(Long auctionId) {
+    public boolean todayCanCreate(String auctionId) {
         String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
         String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
         logger.info("key鍊间负锛�" + key);
diff --git a/service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java b/service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java
index a160a2a..6aeea4c 100644
--- a/service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java
+++ b/service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java
@@ -10,7 +10,7 @@
 @Service(version = "1.0")
 public class LiJinLinkServiceImpl implements LiJinLinkService {
     @Override
-    public List<LiJinProviderLink> getValidLijinLink(Long auctionId, int page, int pageSize) {
+    public List<LiJinProviderLink> getValidLijinLink(String auctionId, int page, int pageSize) {
         return new ArrayList<>();
     }
 }
diff --git a/service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java b/service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java
index 66c3a61..fe4ac19 100644
--- a/service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java
+++ b/service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java
@@ -139,7 +139,7 @@
     }
 
     @Override
-    public BigDecimal getTBLijinAmount(Long actionId, String uid) throws LiJinGoodsException, LiJinUserException, LiJinAmountException {
+    public BigDecimal getTBLijinAmount(String actionId, String uid) throws LiJinGoodsException, LiJinUserException, LiJinAmountException {
 
         if (!lijinGoodsManager.todayCanCreate(actionId)) {
             throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_FULL, "浠婃棩绀奸噾鍒涘缓娆℃暟宸茶揪涓婇檺");
@@ -169,7 +169,7 @@
 
 
     @Override
-    public BigDecimal getTBLijinAmount(Long actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException {
+    public BigDecimal getTBLijinAmount(String actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException {
         if (!lijinGoodsManager.todayCanCreate(actionId)) {
             throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_FULL, "浠婃棩绀奸噾鍒涘缓娆℃暟宸茶揪涓婇檺");
         }
@@ -340,12 +340,12 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public LiJinExpendRecord createTBLijin(String uid, Long goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
+    public LiJinExpendRecord createTBLijin(String uid, String goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
         return createTBLijin(uid, null, goodsId);
     }
 
     @Override
-    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
+    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, String auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
 
         //鐢ㄦ埛鏄惁鏈夊垱寤烘潈闄�
         userCanCreateTBLijin(uid, registerDate);
@@ -443,7 +443,7 @@
      * @param num
      * @param taoLiJinDTO
      */
-    private LiJinExpendRecord addCreateSuccessRecord(String uid, Long goodsId, BigDecimal lijinAmount, String title, int num, TaoLijinCreateResultDTO taoLiJinDTO) {
+    private LiJinExpendRecord addCreateSuccessRecord(String uid, String goodsId, BigDecimal lijinAmount, String title, int num, TaoLijinCreateResultDTO taoLiJinDTO) {
         Date now = new Date();
         // 淇濆瓨璁板綍
         LiJinExpendRecord record = new LiJinExpendRecord();
@@ -485,7 +485,7 @@
      * @throws LiJinGoodsException
      * @throws LiJinException
      */
-    private TaoLijinCreateResultDTO executeTaoLiJin(Long goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinGoodsException, LiJinException, LiJinAmountException {
+    private TaoLijinCreateResultDTO executeTaoLiJin(String goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinGoodsException, LiJinException, LiJinAmountException {
         // 鏌ヨ渚涘簲鍟嗚处鍙蜂俊鎭�
         List<LiJinProviderTaoKeAccount> listAccount = liJinProviderAccountService.listValidByProviderId(Constant.PROVIDER_DEFAULT_ID, LiJinProviderTaoKeAccount.ERROR_CODE_NORMAL);
         if (listAccount == null || listAccount.size() == 0) {
@@ -544,7 +544,7 @@
     }
 
 
-    private TaoLiJinDTO executeTaoLiJinAPI(Long goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinException, LiJinGoodsException, LiJinAccountException, LiJinAmountException {
+    private TaoLiJinDTO executeTaoLiJinAPI(String goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinException, LiJinGoodsException, LiJinAccountException, LiJinAmountException {
         return TaoKeApiUtil.createTaoLiJin(goodsId, params.getTitle(), lijinAmount,
                 params.getNum(), params.getSendStartTime(), params.getSendEndTime(),
                 params.getUseStartTime(), params.getUseEndTime(), new TaoKeAppInfo(params.getAppkey(), params.getAppsecret(), params.getPid()));
diff --git a/service-lijin/src/test/java/com/ks/LuckyTest.java b/service-lijin/src/test/java/com/ks/LuckyTest.java
index 8a28dbb..8c562d8 100644
--- a/service-lijin/src/test/java/com/ks/LuckyTest.java
+++ b/service-lijin/src/test/java/com/ks/LuckyTest.java
@@ -75,7 +75,7 @@
 
     @Test
     public void redis() {
-        Long auctionId = 600889742753L;
+        String auctionId = 600889742753L+"";
         String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
         String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
         Boolean hasKey = redisTemplate.hasKey(key);

--
Gitblit v1.8.0