From 06c48997a0bc5f05addf9fbfdeea87eac62a2291 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 20 十一月 2019 10:56:45 +0800 Subject: [PATCH] 红包获得 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 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 42f0976..9ae2f27 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 @@ -840,7 +840,7 @@ throw new UserSystemCouponException(1, "璁㈠崟淇℃伅鑾峰彇澶辫触"); // 鐗堟湰鍖哄垎锛�2.0.2 - if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) { + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { Date thirdCreateTime = orderVO.getThirdCreateTime(); if (thirdCreateTime != null) { long downOrderTime = thirdCreateTime.getTime(); @@ -2560,7 +2560,10 @@ @RequestSerializableByKeyService(key = "#uid") @Override @Transactional(rollbackFor = Exception.class) - public void triggerFreeCouponActivate(Long uid) { + public void triggerFreeCouponActivate(Long uid, String orderNo, Integer source) { + if (uid == null || source == null || StringUtil.isNullOrEmpty(orderNo)) + return; + UserSystemCoupon coupon = userSystemCouponMapper.getNeedActivateCouponByType(uid, CouponTypeEnum.freeCoupon.name()); if (coupon == null) @@ -2568,6 +2571,20 @@ Long id = coupon.getId(); UserSystemCouponActivate couponActivate = userSystemCouponActivateService.selectForUpdate(id); + if (couponActivate == null) + return; + + // 楠岃瘉鍚岃鍗曟槸鍚﹀瓨鍦� + String key = orderNo + "_" + source; + String ordernos = couponActivate.getOrdernos(); + if (!StringUtil.isNullOrEmpty(ordernos)) { + String[] array = ordernos.split(","); + if (array != null) + for (int i= 0; i < array.length; i ++) { + if (array[i].equals(key)) + return; + } + } // 婵�娲绘暟閲� boolean result = false; @@ -2581,10 +2598,17 @@ state = UserSystemCouponActivate.STATE_END; } + if (StringUtil.isNullOrEmpty(ordernos)) { + ordernos = key; + } else { + ordernos = ordernos + "," + key; + } + UserSystemCouponActivate updateActivate = new UserSystemCouponActivate(); updateActivate.setId(id); updateActivate.setState(state); updateActivate.setCount(count); + updateActivate.setOrdernos(ordernos); updateActivate.setUpdateTime(new Date()); userSystemCouponActivateService.updateByPrimaryKeySelective(updateActivate); -- Gitblit v1.8.0