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