From 148af6b2f57be264c84d0991237fbd7ddea491a4 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 04 十一月 2019 09:55:55 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 40 +++++++++++++++++++++------------------- 1 files changed, 21 insertions(+), 19 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 c7d8963..56e599c 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 @@ -27,9 +27,10 @@ import com.aliyun.openservices.ons.api.transaction.TransactionStatus; import com.google.gson.Gson; import com.yeshi.fanli.dao.mybatis.user.UserSystemCouponMapper; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.UserSystemCouponUseMQMsg; import com.yeshi.fanli.dto.msg.MsgOtherCouponActivateDTO; import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO; -import com.yeshi.fanli.dto.user.coupon.UserSystemCouponUseMQMsgDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum; import com.yeshi.fanli.entity.bus.user.HongBaoV2; @@ -170,10 +171,9 @@ @Resource(name = "orderTransactionProducer") private TransactionProducer orderTransactionProducer; - + @Resource private UserSystemCouponActivateService userSystemCouponActivateService; - @Override public int insertSelective(UserSystemCoupon record) { @@ -887,10 +887,10 @@ // 鎻愭垚閲戦 BigDecimal money = MoneyBigDecimalUtil.mul(hongBao, percent); - UserSystemCouponUseMQMsgDTO mqMsg = new UserSystemCouponUseMQMsgDTO(userSystemCoupon.getId(), - order.getOrderId(), sourceType); + UserSystemCouponUseMQMsg mqMsg = new UserSystemCouponUseMQMsg(userSystemCoupon.getId(), order.getOrderId(), + sourceType, systemCoupon.getType().name()); // 浜嬪姟娑堟伅 - Message msg = new Message(MQTopicName.TOPIC_SYSTEM_COUPON_USE.name(), systemCoupon.getType().name(), + Message msg = new Message(MQTopicName.TOPIC_USER.name(), UserTopicTagEnum.useSystemCoupon.name(), new Gson().toJson(mqMsg).getBytes()); try { SendResult result = orderTransactionProducer.send(msg, new LocalTransactionExecuter() { @@ -1827,7 +1827,8 @@ if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) { int activateCount = userSystemCouponActivateService.getActivateCount(userCouponVO.getId()); String activateNum = configService.get("free_coupon_activate_num"); - userCouponVO.setCouponEffect("(" + activateCount + "/"+ Integer.parseInt(activateNum) +")寰呮縺娲�"); + userCouponVO.setCouponEffect( + "(" + activateCount + "/" + Integer.parseInt(activateNum) + ")寰呮縺娲�"); } } else if (CouponTypeEnum.welfareFreeCoupon == type) { jumpBtn = new HashMap<String, Object>(); @@ -2102,7 +2103,6 @@ return userCouponVO; } - @Transactional @Override @@ -2446,45 +2446,46 @@ return userSystemCouponMapper.getFreeCouponByType(uid, type); } - @RequestSerializableByKeyService(key = "#uid") @Override @Transactional(rollbackFor = Exception.class) public void triggerFreeCouponActivate(Long uid) { - UserSystemCoupon coupon = userSystemCouponMapper.getNeedActivateCouponByType(uid, CouponTypeEnum.freeCoupon.name()); + UserSystemCoupon coupon = userSystemCouponMapper.getNeedActivateCouponByType(uid, + CouponTypeEnum.freeCoupon.name()); if (coupon == null) return; Long id = coupon.getId(); UserSystemCouponActivate couponActivate = userSystemCouponActivateService.selectForUpdate(id); - + // 婵�娲绘暟閲� boolean result = false; int limitNum = Integer.parseInt(configService.get("free_coupon_activate_num")); - + Integer state = couponActivate.getState(); int count = couponActivate.getCount(); count++; - if(count >= limitNum) { + if (count >= limitNum) { result = true; state = UserSystemCouponActivate.STATE_END; } - + UserSystemCouponActivate updateActivate = new UserSystemCouponActivate(); updateActivate.setId(id); updateActivate.setState(state); updateActivate.setCount(count); updateActivate.setUpdateTime(new Date()); userSystemCouponActivateService.updateByPrimaryKeySelective(updateActivate); - + // 婵�娲诲鍔卞埜 if (result) { activateFreeCoupon(coupon, limitNum); } } - + /** * 婵�娲诲埜 + * * @param coupon * @param activateNum */ @@ -2493,7 +2494,7 @@ try { Date nowDate = new Date(); SystemCoupon systemCoupon = coupon.getSystemCoupon(); - + Integer expiryDay = systemCoupon.getExpiryDay(); String endDay = DateUtil.plusDay(expiryDay - 1, nowDate); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -2509,12 +2510,13 @@ userCoupon.setStartTime(nowDate); userCoupon.setUpdateTime(new Date()); userSystemCouponMapper.updateByPrimaryKeySelective(userCoupon); - + // 娑堟伅 executor.execute(new Runnable() { @Override public void run() { - UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService.getByReceiveId(coupon.getId()); + UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService + .getByReceiveId(coupon.getId()); if (giveRecord == null) return; -- Gitblit v1.8.0