From 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 02 四月 2020 14:45:20 +0800 Subject: [PATCH] vip 消息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 83 ++++++++++++++++++++++------------------- 1 files changed, 44 insertions(+), 39 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java index 88a12ab..5a56ccc 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java @@ -46,6 +46,7 @@ import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.system.SystemCoupon; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -73,7 +74,7 @@ import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; +import com.yeshi.fanli.service.inter.user.invite.UserInviteService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; @@ -118,6 +119,7 @@ @Resource private SystemCouponService systemCouponService; + @Lazy @Resource private CommonOrderService commonOrderService; @@ -182,7 +184,7 @@ private Producer producer; @Resource - private UserVIPInfoService userVIPInfoService; + private UserInviteService userInviteService; @Override public int insertSelective(UserSystemCoupon record) { @@ -230,7 +232,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public UserSystemCoupon insertUserCoupon(Long uid, String couponType, String source, BigDecimal percent, Boolean needNotify) throws UserSystemCouponException, Exception { @@ -344,7 +346,7 @@ return userCoupon; } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public List<UserSystemCouponVO> getUserCouponVOList(long start, int count, Long uid, boolean changeJump) throws UserSystemCouponException, Exception { @@ -449,7 +451,7 @@ // 鍏嶅崟鍒搞�� 绂忓埄鍏嶅崟鍒� // 鍏嶅崟鍟嗗搧鍒楄〃 - jumpLink.put("url", configService.get("free_goods_list")); + jumpLink.put("url", configService.get(ConfigKeyEnum.freeGoodsList.getKey())); jumpBtn = new HashMap<String, Object>(); jumpBtn.put("params", jumpLink); @@ -467,7 +469,7 @@ } else if (UserSystemCoupon.STATE_IN_USE == state) { // 浣跨敤涓� - userCouponVO.setInUseExplain(configService.get("free_coupon_using-help")); + userCouponVO.setInUseExplain(configService.get(ConfigKeyEnum.freeCouponUsingHelp.getKey())); } } @@ -610,7 +612,7 @@ return hasCoupon; } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public List<UserSystemCouponVO> getOrderCouponList(Long uid) throws UserSystemCouponException, Exception { @@ -633,7 +635,7 @@ return getEnableListByCouponId(uid, 1, couponList); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public List<UserSystemCouponVO> getGoodsCouponList(Long uid, Long auctionId) throws UserSystemCouponException, Exception { @@ -885,7 +887,7 @@ throw new UserSystemCouponException(1, "璇ヨ鍗曚笉鑳戒娇鐢ㄥ鍔卞埜"); long downOrderTime = thirdCreateTime.getTime(); - long limitDate = TimeUtil.parse(Constant.COUPON_REWARD_TIME).getTime(); + long limitDate = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME); if (downOrderTime > limitDate) { boolean valid = false; Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime); @@ -955,7 +957,7 @@ } } - @Transactional + @Transactional(rollbackFor=Exception.class) public void useRewardCouponCore(UserSystemCoupon userSystemCoupon, BigDecimal money, BigDecimal hongBao, Long uid, Order order) throws Exception { org.springframework.transaction.TransactionStatus transactionStatus = transactionManager @@ -1093,9 +1095,9 @@ userRecordVO.setJumpWelfare(jumpWelfare); // 璺宠浆濂栧姳鍒歌鍒� - userRecordVO.setRuleLink(configService.get("reward_coupon_help")); + userRecordVO.setRuleLink(configService.get(ConfigKeyEnum.rewardCouponHelp.getKey())); - String rewardCouponRemark = configService.get("reward_coupon_remark"); + String rewardCouponRemark = configService.get(ConfigKeyEnum.rewardCouponRemark.getKey()); if (rewardCouponRemark != null && rewardCouponRemark.trim().length() > 0) { userRecordVO.setRemark(JSONObject.fromObject(rewardCouponRemark)); } @@ -1154,7 +1156,7 @@ String progressMsg = ""; String progressColor = ""; // 璺宠浆濂栧姳鍒歌鍒� - userRecordVO.setRuleLink(configService.get("free_coupon_help")); + userRecordVO.setRuleLink(configService.get(ConfigKeyEnum.freeCouponHelp.getKey())); // 杩涘害锛� 1 鐏拌壊 2 绾㈣壊 3 缁胯壊 String progressState1 = "3"; @@ -1192,7 +1194,7 @@ jumpDetail = jumpDetailV2Service.getByTypeCache("welfareCore"); - rewardCouponRemark = configService.get("free_coupon_back_remark"); + rewardCouponRemark = configService.get(ConfigKeyEnum.freeCouponBackRemark.getKey()); } else if (UserSystemCouponRecord.STATE_FAIL_DRAWBACK == stateRecord) { // 閫�娆� @@ -1211,7 +1213,7 @@ jumpDetail = jumpDetailV2Service.getByTypeCache("welfareCore"); - rewardCouponRemark = configService.get("free_coupon_back_remark"); + rewardCouponRemark = configService.get(ConfigKeyEnum.freeCouponBackRemark.getKey()); } else if (UserSystemCouponRecord.STATE_FREE_ON == stateRecord) { // 鍏嶅崟涓� @@ -1225,7 +1227,7 @@ progressMsg = "鍏嶅崟鍙戣捣锛岀瓑寰呮敹璐�"; } - rewardCouponRemark = configService.get("free_coupon_remark"); + rewardCouponRemark = configService.get(ConfigKeyEnum.freeCouponRemark.getKey()); } else if (UserSystemCouponRecord.STATE_SUCCESS == stateRecord) { // 鍏嶅崟鎴愬姛 @@ -1247,7 +1249,7 @@ jumpDetail = jumpDetailV2Service.getByTypeCache("capitalDetails"); - rewardCouponRemark = configService.get("free_coupon_remark"); + rewardCouponRemark = configService.get(ConfigKeyEnum.freeCouponRemark.getKey()); } userRecordVO.setProgressState(progressState); userRecordVO.setPayMoney(payMoney); @@ -1358,7 +1360,7 @@ } } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public void updateStateByDrawback(String orderNo) throws Exception { @@ -1380,7 +1382,7 @@ sendBackCoupon(record.getUserSystemCoupon(), record); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public void updateStateByArrivalAccount(String orderNo) throws Exception { @@ -1414,7 +1416,7 @@ return userSystemCouponMapper.getCounponNowInvalid(count); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public boolean updateCouponRecordUsed(Long uid, String orderNo, BigDecimal payment, Long auctionId) throws Exception { @@ -1494,7 +1496,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void copyLotteryPrize(Long uid, int platform, String device) throws Exception { return; @@ -1577,7 +1579,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void randomRewardCoupon(int num, Long uid, String source) throws Exception { if (num < 1) { return; @@ -1650,7 +1652,7 @@ throws Exception { // 娣诲姞濂栧姳鍒� insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), "绯荤粺璧犻��", - new BigDecimal(configService.get("exchange_rebate_percent")), false); + new BigDecimal(configService.get(ConfigKeyEnum.exchangeRebatePercent.getKey())), false); // 娣诲姞濂栧姳鍒告秷鎭� userOtherMsgNotificationService.systemGiveRewardCoupon(uid, null, MsgOtherSystemGiveDTOFactory .createRewardCouponGive(num, "璇锋寜鐓ц繑鍒╁鍔卞埜瑙勫垯浣跨敤", "杩斿埄濂栧姳鍒�", orderId, orderType, reason)); @@ -1717,7 +1719,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public void exchangeCoupon(Long uid, String couponType, String source, BigDecimal percent) throws UserSystemCouponException, Exception { if (couponType == null || uid == null) { @@ -1773,7 +1775,7 @@ insertSelective(userCoupon); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public List<UserSystemCouponVO> getCouponList(AcceptData acceptData, long start, int count, Long uid) throws UserSystemCouponException, Exception { @@ -1873,7 +1875,7 @@ // 缁熻寰呮縺娲绘暟閲� if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) { int activateCount = userSystemCouponActivateService.getActivateCount(userCouponVO.getId()); - String activateNum = configService.get("free_coupon_activate_num"); + String activateNum = configService.get(ConfigKeyEnum.freeCouponActivateNum.getKey()); userCouponVO.setCouponEffect( "(" + activateCount + "/" + Integer.parseInt(activateNum) + ")寰呮縺娲�"); } @@ -1911,12 +1913,12 @@ userCouponVO.setState(UserSystemCoupon.STATE_GIVE_ONLY); } else if (CouponTypeEnum.freeCoupon == type || CouponTypeEnum.welfareFreeCoupon == type || CouponTypeEnum.freeCouponBuy == type) { - jumpLink.put("url", configService.get("free_goods_list")); + jumpLink.put("url", configService.get(ConfigKeyEnum.freeGoodsList.getKey())); jumpBtn = new HashMap<String, Object>(); jumpBtn.put("params", jumpLink); jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("web")); } else if (CouponTypeEnum.rebatePercentCoupon == type) { - if (userVIPInfoService.isVIP(uid)) { // 浼氬憳鍙彲璧犻�� + if (userInviteService.verifyVIP(uid)) { // 浼氬憳鍙彲璧犻�� userCouponVO.setState(UserSystemCoupon.STATE_GIVE_ONLY); } else {// 鍙娇鐢� 鍙禒閫� userCouponVO.setState(UserSystemCoupon.STATE_USE_GIVE); @@ -1939,13 +1941,13 @@ TokenTypeEnum tokenType = null; if (CouponTypeEnum.freeCouponGive == type) { userCouponVO.setState(UserSystemCoupon.STATE_GIVE_IN); - tips = configService.get("give_free_coupon_tips"); + tips = configService.get(ConfigKeyEnum.giveFreeCouponTips.getKey()); tokenType = TokenTypeEnum.freeCoupon; } if (CouponTypeEnum.rebatePercentCoupon == type) { userCouponVO.setState(UserSystemCoupon.STATE_GIVE_IN); - tips = configService.get("give_rebate_percent_coupon_tips"); + tips = configService.get(ConfigKeyEnum.giveRebatePercentCouponTips.getKey()); tokenType = TokenTypeEnum.rebatePercentCoupon; } @@ -1961,7 +1963,7 @@ tips = tips.replace("{APP鍚嶇О}", projectChineseName); } tips = tips.replace("{鍙d护}", tokenRecord.getToken()).replace("{涓嬭浇閾炬帴}", - configService.get("app_down_link")); + configService.get(ConfigKeyEnum.appDownLink.getKey())); userCouponVO.setGiveTips(tips); } @@ -2047,10 +2049,10 @@ TokenTypeEnum tokenTypeEnum = null; if (type == CouponTypeEnum.freeCouponGive) { tokenTypeEnum = TokenTypeEnum.freeCoupon; - tips = configService.get("give_free_coupon_tips"); + tips = configService.get(ConfigKeyEnum.giveFreeCouponTips.getKey()); } else if (type == CouponTypeEnum.rebatePercentCoupon) { tokenTypeEnum = TokenTypeEnum.rebatePercentCoupon; - tips = configService.get("give_rebate_percent_coupon_tips"); + tips = configService.get(ConfigKeyEnum.giveRebatePercentCouponTips.getKey()); } else { throw new UserSystemCouponException(1, "璇ュ埜涓嶆敮鎸佽禒閫�"); } @@ -2068,19 +2070,20 @@ tips = tips.replace("{APP鍚嶇О}", projectChineseName); } tips = tips.replace("{鍙d护}", tokenRecord.getToken()).replace("{涓嬭浇閾炬帴}", - configService.get("app_down_link")); + configService.get(ConfigKeyEnum.appDownLink.getKey())); return createUserCouponVOo(userSystemCoupon, systemCoupon, record, tips); } } Date nowDate = new Date(); + Date endTime = DateUtil.plusDayDate(Constant.GIVE_DAYS, nowDate); // 鎻掑叆璧犻�佽褰� UserSystemCouponGiveRecord giveRecord = new UserSystemCouponGiveRecord(); giveRecord.setCouponId(id); giveRecord.setGiveUid(uid); giveRecord.setGiveTime(nowDate); - giveRecord.setEndTime(DateUtil.plusDayDate(Constant.GIVE_DAYS, nowDate)); + giveRecord.setEndTime(endTime); userSystemCouponGiveRecordService.insertSelective(giveRecord); // 鍒涘缓璁板綍 @@ -2089,7 +2092,7 @@ tokenRecord.setIdentify(giveRecord.getId() + ""); tokenRecord.setType(tokenTypeEnum); tokenRecord.setStartTime(nowDate); - tokenRecord.setEndTime(DateUtil.plusDayDate(Constant.TOKEN_DAYS, nowDate)); + tokenRecord.setEndTime(endTime); tokenRecord.setState(0); tokenRecordService.insertSelective(tokenRecord); @@ -2117,7 +2120,7 @@ while (tips.contains("{APP鍚嶇О}")) { tips = tips.replace("{APP鍚嶇О}", projectChineseName); } - tips = tips.replace("{鍙d护}", token).replace("{涓嬭浇閾炬帴}", configService.get("app_down_link")); + tips = tips.replace("{鍙d护}", token).replace("{涓嬭浇閾炬帴}", configService.get(ConfigKeyEnum.appDownLink.getKey())); UserSystemCouponVO couponVO = createUserCouponVOo(userSystemCoupon, systemCoupon, giveRecord, tips); @@ -2125,6 +2128,8 @@ msg.setUserSystemCouponId(id); msg.setCouponType(type.name()); Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.systemCouponDrawback, msg); + // 寤惰繜涓�鍒嗛挓 + message.setStartDeliverTime(endTime.getTime() + 1000 * 60); try { producer.send(message); } catch (Exception e) { @@ -2317,7 +2322,7 @@ } @Override - @RequestSerializableByKeyService(key = "#id") + @RequestSerializableByKeyService(key = "#couponId") @Transactional(rollbackFor = Exception.class) public void sendBackByGiveId(Long couponId) { if (couponId == null) @@ -2604,7 +2609,7 @@ // 婵�娲绘暟閲� boolean result = false; - int limitNum = Integer.parseInt(configService.get("free_coupon_activate_num")); + int limitNum = Integer.parseInt(configService.get(ConfigKeyEnum.freeCouponActivateNum.getKey())); Integer state = couponActivate.getState(); int count = couponActivate.getCount(); -- Gitblit v1.8.0