From b47f8a03db79bb1f6356479cd8a5cf190d7d9694 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 23 六月 2021 11:10:36 +0800 Subject: [PATCH] 礼金功能完善 --- service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java | 51 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 9 deletions(-) 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 2d6d175..3291d57 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 @@ -16,6 +16,8 @@ import com.ks.lijin.service.LiJinProviderNoticeService; import com.ks.lijin.service.LijinCreateService; import com.ks.lijin.service.manager.LiJinProviderTaoKeAccountManager; +import com.ks.lijin.service.manager.LijinConfigManager; +import com.ks.lijin.service.manager.LijinDangerGoodsManager; import com.ks.lijin.service.manager.LijinGoodsManager; import com.ks.lijin.util.Constant; import com.ks.lijin.utils.taobao.TaoBaoUtil; @@ -59,13 +61,13 @@ @Resource private LiJinProviderAccountService liJinProviderAccountService; - @Reference(version = "1.0") + @Reference(version = "1.0", check = false) private VipCenterService vipCenterService; - @Reference(version = "1.0") + @Reference(version = "1.0", check = false) private VipGradePotenceService vipGradePotenceService; - @Reference(version = "1.0") + @Reference(version = "1.0", check = false) private VipGradeService vipGradeService; @Resource @@ -79,6 +81,12 @@ @Resource private LijinGoodsManager lijinGoodsManager; + + @Resource + private LijinDangerGoodsManager lijinDangerGoodsManager; + + @Resource + private LijinConfigManager lijinConfigManager; @Override public List<MoneyInfo> getMoneyInfo(String uid, List<TaoBaoGoodsBrief> goodsBriefList) { @@ -181,8 +189,9 @@ return money; } + @Override - public boolean userCanCreateTBLijin(String uid) throws LiJinUserException { + public boolean userCanCreateTBLijin(String uid, Date registerDate) throws LiJinUserException { VipGradePotence potence = vipCenterService.getVipPotence(uid); if (potence == null) { return false; @@ -202,6 +211,18 @@ // 浣跨敤娆℃暟宸茬粡瓒呰繃鏈�澶ф鏁� int numExpend = liJinExpendRecordService.countTodayNumByExpend(uid); + if (registerDate != null) { + //鍒ゆ柇鏂扮敤鎴� + String newerHour = lijinConfigManager.getConfigValue("newer-hour"); + String dayPlusCount = lijinConfigManager.getConfigValue("newer-everyday-plus-lijin-count"); + if (!StringUtil.isNullOrEmpty(newerHour) && !StringUtil.isNullOrEmpty(dayPlusCount)) { + //鏂扮敤鎴锋瘡鏃ラ檮鍔犳鏁� + if (System.currentTimeMillis() - registerDate.getTime() < 1000 * 60 * 60L * Integer.parseInt(dayPlusCount)) { + numExpend += Integer.parseInt(dayPlusCount); + } + } + } + if (numMax.intValue() <= numExpend) { throw new LiJinUserException(LiJinUserException.CODE_USER_CREATE_NUM_LIMIT, "鐢ㄦ埛鍒涘缓娣樼ぜ閲戠殑娆℃暟瓒呴檺"); } @@ -263,8 +284,20 @@ @Override @Transactional(rollbackFor = Exception.class) public LiJinExpendRecord createTBLijin(String uid, Long goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException { + return createTBLijin(uid, null, goodsId); + } - userCanCreateTBLijin(uid); + @Override + public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException { + + //鐢ㄦ埛鏄惁鏈夊垱寤烘潈闄� + userCanCreateTBLijin(uid, registerDate); + //鍟嗗搧鏄惁鍦ㄥ嵄闄╁晢鍝佷腑 + boolean dangerous = lijinDangerGoodsManager.isDangerous(auctionId + "", 1); + if (dangerous) { + throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_NOT_SUPPORT, "璇ュ晢鍝佹殏鏃犳硶鍒涘缓绀奸噾"); + } + // 鑾峰彇鐢ㄦ埛绛夌骇 VIPEnum vipRank = vipCenterService.getVIPEnumByUid(uid); @@ -279,7 +312,7 @@ //娣樼ぜ閲戝垱寤� TaoBaoGoodsBrief goods = null; try { - goods = TaoKeApiUtil.searchGoodsDetail(goodsId); + goods = TaoKeApiUtil.searchGoodsDetail(auctionId); } catch (TaoBaoGoodsDownException e) { throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_OFFLINE, "鍟嗗搧涓嬬嚎"); } @@ -298,15 +331,15 @@ if (redisTemplate.opsForValue().setIfAbsent(key, "1", 120, TimeUnit.SECONDS)) { Date now = new Date(); try { - TaoLijinCreateResultDTO taoLiJinDTO = executeTaoLiJin(goodsId, lijinAmount, params); + TaoLijinCreateResultDTO taoLiJinDTO = executeTaoLiJin(auctionId, lijinAmount, params); if (taoLiJinDTO == null) { throw new LiJinException(1, "娣樺疂API鎺ㄥ箍绾㈠寘鍒涘缓澶辫触"); } //娣诲姞璐﹀彿鐨� - return addCreateSuccessRecord(uid, goodsId, lijinAmount, params.getTitle(), params.getNum(), taoLiJinDTO); + return addCreateSuccessRecord(uid, auctionId, lijinAmount, params.getTitle(), params.getNum(), taoLiJinDTO); } catch (LiJinGoodsException e) { if (e.getCode() == LiJinGoodsException.CODE_GOODS_CREATED_FULL) { - lijinGoodsManager.createdFullToday(goodsId, now); + lijinGoodsManager.createdFullToday(auctionId, now); } throw e; } finally { -- Gitblit v1.8.0