From c54fb6a88876be994906d57d2d18e844686964d0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 01 七月 2020 14:16:13 +0800 Subject: [PATCH] rcoketmq集中管理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 108 ++++++++++++------------------------------------------ 1 files changed, 24 insertions(+), 84 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 4a103ec..1639c7b 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 @@ -74,6 +74,7 @@ import com.yeshi.fanli.service.inter.user.UserSystemCouponService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.invite.UserInviteService; +import com.yeshi.fanli.service.manger.msg.RocketMQManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; @@ -178,8 +179,8 @@ @Resource private UserSystemCouponActivateService userSystemCouponActivateService; - @Resource(name = "producer") - private Producer producer; + @Resource + private RocketMQManager rocketMQManager; @Resource private UserInviteService userInviteService; @@ -322,7 +323,7 @@ @Override @Transactional(rollbackFor = Exception.class) public UserSystemCoupon freeCouponWinBySystem(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify, - Integer expiryDay) throws UserSystemCouponException, Exception { + Integer expiryDay, Integer activated) throws UserSystemCouponException, Exception { if (typeEnum == null || uid == null || StringUtil.isNullOrEmpty(source) || num < 1) { throw new UserSystemCouponException(1, "鍙傛暟涓嶆纭�"); } @@ -333,15 +334,14 @@ } // 婵�娲荤姸鎬� - int stateActivated = 0; // 鑷喘鍏嶅崟鍒搞�佽禒閫佸厤鍗曞埜鍙洿鎺ヤ娇鐢� if (coupon.getType() == CouponTypeEnum.freeCouponBuy || coupon.getType() == CouponTypeEnum.freeCouponGive) { - stateActivated = 1; + activated = 1; } // 鏈夋晥鏃堕暱 if (expiryDay == null) { - if (stateActivated == 0) + if (activated == 0) expiryDay = coupon.getActivateDay(); if (expiryDay == null || expiryDay == 0) expiryDay = coupon.getExpiryDay(); @@ -363,7 +363,7 @@ userCoupon.setSource(source); userCoupon.setSystemCoupon(coupon); userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); - userCoupon.setStateActivated(stateActivated); + userCoupon.setStateActivated(activated); userCoupon.setStartTime(nowTime); userCoupon.setEndTime(endTime); userCoupon.setCreateTime(nowTime); @@ -1217,7 +1217,7 @@ // 鏌ヨ璁板綍 UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo, - UserSystemCouponRecord.STATE_SUCCESS); + sourceType, UserSystemCouponRecord.STATE_SUCCESS); if (record == null) { throw new UserSystemCouponException(1, "娌℃湁浣跨敤鍒歌褰�"); } @@ -1295,7 +1295,7 @@ } // 鏌ヨ璁板綍 - UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null); + UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo,sourceType, null); if (record == null) { throw new UserSystemCouponException(1, "娌℃湁浣跨敤鍒歌褰�"); } @@ -1491,18 +1491,16 @@ @Transactional(rollbackFor = Exception.class) @Override - public void updateStateByDrawback(String orderNo) throws Exception { + public void updateStateByDrawback(String orderNo, Integer sourceType) throws Exception { if (orderNo == null || orderNo.trim().length() == 0) { return; } - UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null); + UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo,sourceType, null); if (record == null) { return; } - - record.setOrderNo(orderNo); record.setUpdateTime(new Date()); record.setState(UserSystemCouponRecord.STATE_FAIL_DRAWBACK); userSystemCouponRecordService.updateByPrimaryKeySelective(record); @@ -1513,18 +1511,15 @@ @Transactional(rollbackFor = Exception.class) @Override - public void updateStateByArrivalAccount(String orderNo) throws Exception { - + public void updateStateByArrivalAccount(String orderNo, Integer sourceType) throws Exception { if (orderNo == null || orderNo.trim().length() == 0) { return; } - UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo, 2); + UserSystemCouponRecord record = userSystemCouponRecordService.getRecordByOrderNo(orderNo,sourceType, 2); if (record == null) { return; } - - record.setOrderNo(orderNo); record.setUpdateTime(new Date()); record.setState(UserSystemCouponRecord.STATE_SUCCESS); userSystemCouponRecordService.updateByPrimaryKeySelective(record); @@ -1537,15 +1532,13 @@ @Transactional(rollbackFor = Exception.class) @Override - public boolean updateCouponRecordUsed(Long uid, String orderNo, BigDecimal payment, Long auctionId) + public boolean updateCouponRecordUsed(Long uid, String orderNo, BigDecimal payment, Long gId,Integer sourceType) throws Exception { - - boolean isfree = false; - - if (uid == null || payment == null || auctionId == null || orderNo == null || orderNo.trim().length() == 0) { + if (uid == null || payment == null || gId == null || orderNo == null || orderNo.trim().length() == 0) { throw new Exception("浼犻�掑弬鏁颁笉鑳戒负绌�"); } - + + boolean isfree = false; // 鏌ヨ绛夊緟鍖归厤鐨勫埜璁板綍 List<UserSystemCouponRecord> list = userSystemCouponRecordService.getRecordByState(uid, UserSystemCouponRecord.STATE_WAIT); @@ -1559,7 +1552,11 @@ for (UserSystemCouponRecord userSystemCouponRecord : list) { Long goodId = userSystemCouponRecord.getGoodId(); - if (auctionId.equals(goodId)) { + Integer goodSource = userSystemCouponRecord.getGoodSource(); + if (goodSource == null) + continue; + + if (gId.equals(goodId) && goodSource == sourceType) { matching = true; // 鍖归厤鎴愬姛 record = userSystemCouponRecord; break; @@ -1568,7 +1565,7 @@ // 鍟嗗搧鍖归厤鎴愬姛 if (matching) { - + record.setGoodSource(sourceType); record.setOrderNo(orderNo); record.setUpdateTime(new Date()); @@ -1658,62 +1655,6 @@ } } - @Override - @Transactional(rollbackFor = Exception.class) - public void exchangeCoupon(Long uid, String couponType, String source, BigDecimal percent) - throws UserSystemCouponException, Exception { - if (couponType == null || uid == null) { - throw new UserSystemCouponException(1, "鍙傛暟涓嶆纭�"); - } - - SystemCoupon coupon = null; - if (couponType.equals(CouponTypeEnum.rebatePercentCoupon.name())) { - coupon = systemCouponService.getCouponByTypeAndPercent(couponType, percent); - } else { - coupon = systemCouponService.getCouponByType(couponType); - } - - if (coupon == null) { - throw new UserSystemCouponException(1, "鍒哥被鍨嬩笉姝g‘"); - } - - int stateActivated = 1; - if (couponType == CouponTypeEnum.freeCoupon.name()) { - stateActivated = 0; // - } else if (couponType == CouponTypeEnum.welfareFreeCoupon.name() - && threeSaleSerivce.countFirstTeam(uid) <= 0) { - stateActivated = 0; // 鏃犱笅绾ч槦鍛� --寰呮縺娲� - } - - Integer expiryDay = null; - if (stateActivated == 0) - expiryDay = coupon.getActivateDay(); - - if (expiryDay == null || expiryDay == 0) - expiryDay = coupon.getExpiryDay(); - - // 璁$畻缁撴潫鏃ユ湡锛氫粖澶╁湪鍐� 鍑忓幓涓�澶� - String endDay = DateUtil.plusDay(expiryDay - 1, new Date()); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (endDay != null && endDay.trim().length() > 0) { - endDay += " 23:59:59"; - } - Date endTime = format.parse(endDay); - - UserSystemCoupon userCoupon = new UserSystemCoupon(); - userCoupon.setUid(uid); - userCoupon.setSource(source); - userCoupon.setSystemCoupon(coupon); - userCoupon.setStateActivated(stateActivated); - userCoupon.setStartTime(new Date()); - userCoupon.setEndTime(endTime); - userCoupon.setGive(false); - userCoupon.setCreateTime(new Date()); - userCoupon.setUpdateTime(new Date()); - userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); - - insertSelective(userCoupon); - } @Transactional(rollbackFor = Exception.class) @Override @@ -2069,9 +2010,8 @@ msg.setCouponType(type.name()); Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.systemCouponDrawback, msg); // 寤惰繜涓�鍒嗛挓 - message.setStartDeliverTime(endTime.getTime() + 1000 * 60); try { - producer.send(message); + rocketMQManager.sendNormalMsg(message,1000 * 60L, null); } catch (Exception e) { throw new UserSystemCouponException(1, "鍒涘缓璧犻�佷俊鎭け璐�"); } -- Gitblit v1.8.0