From 221b5c8d0de3f6b17a00d543503a79c13b28ba12 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 十一月 2019 16:45:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 64 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 24 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 9b91ba3..42f0976 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 @@ -21,6 +21,7 @@ import org.yeshi.utils.entity.DateInfo; import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.aliyun.openservices.ons.api.SendResult; import com.aliyun.openservices.ons.api.transaction.LocalTransactionExecuter; import com.aliyun.openservices.ons.api.transaction.TransactionProducer; @@ -174,6 +175,11 @@ @Resource private UserSystemCouponActivateService userSystemCouponActivateService; + + @Resource(name = "producer") + private Producer producer; + + @Override public int insertSelective(UserSystemCoupon record) { @@ -2071,7 +2077,20 @@ } tips = tips.replace("{鍙d护}", token).replace("{涓嬭浇閾炬帴}", configService.get("app_down_link")); - return createUserCouponVOo(userSystemCoupon, systemCoupon, giveRecord, tips); + UserSystemCouponVO couponVO = createUserCouponVOo(userSystemCoupon, systemCoupon, giveRecord, tips); + + UserSystemCouponUseMQMsg msg = new UserSystemCouponUseMQMsg(); + msg.setUserSystemCouponId(id); + msg.setCouponType(type.name()); + Message message = new Message(MQTopicName.TOPIC_USER.name(), UserTopicTagEnum.systemCouponDrawback.name(), + new Gson().toJson(msg).getBytes()); + try { + producer.send(message); + } catch (Exception e) { + throw new UserSystemCouponException(1, "鍒涘缓璧犻�佷俊鎭け璐�"); + } + + return couponVO; } private UserSystemCouponVO createUserCouponVOo(UserSystemCoupon userSystemCoupon, SystemCoupon systemCoupon, @@ -2258,30 +2277,10 @@ @Override - @RequestSerializableByKeyService(key = "#giveid") + @RequestSerializableByKeyService(key = "#id") @Transactional(rollbackFor = Exception.class) - public void sendBackByGiveId(Long giveid) { - if (giveid == null) - return; - - UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService.selectByPrimaryKey(giveid); - if (giveRecord == null) - return; - - if (giveRecord.getState() != null && giveRecord.getState() != UserSystemCouponGiveRecord.STATE_INIT) - return; - - // 鏇存柊璧犻�佽褰� - UserSystemCouponGiveRecord updateRecord = new UserSystemCouponGiveRecord(); - updateRecord.setId(giveid); - updateRecord.setState(UserSystemCouponGiveRecord.STATE_OVERDUE); - userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateRecord); - - // 鍙d护澶辨晥 - tokenRecordService.invalidByCoupon(giveid); - - Long couponId = giveRecord.getCouponId(); - if (couponId == null) + public void sendBackByGiveId(Long couponId) { + if (couponId == null) return; UserSystemCoupon userCoupon = userSystemCouponMapper.selectByPrimaryKey(couponId); @@ -2291,6 +2290,23 @@ Integer state = userCoupon.getState(); if (state != UserSystemCoupon.STATE_IN_USE) return; + + UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService.getByCouponId(couponId); + if (giveRecord == null) + return; + + if (giveRecord.getState() != null && giveRecord.getState() != UserSystemCouponGiveRecord.STATE_INIT) + return; + + // 鏇存柊璧犻�佽褰� + UserSystemCouponGiveRecord updateRecord = new UserSystemCouponGiveRecord(); + updateRecord.setId(giveRecord.getId()); + updateRecord.setState(UserSystemCouponGiveRecord.STATE_OVERDUE); + userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateRecord); + + // 鍙d护澶辨晥 + tokenRecordService.invalidByCoupon(giveRecord.getId()); + Date now = new Date(); Date endTime = userCoupon.getEndTime(); -- Gitblit v1.8.0