From 219a6869de1d26c6e048a6188bee722b3b98ea34 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 17 五月 2019 14:43:40 +0800
Subject: [PATCH] 动态邀请素材 3天以后也删除
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 182 ++++++---------------------------------------
1 files changed, 25 insertions(+), 157 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 0df0c57..9fe5b0c 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,8 +27,6 @@
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.push.PushCoupon;
-import com.yeshi.fanli.entity.push.PushCouponRecord;
import com.yeshi.fanli.entity.system.SystemCoupon;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -191,8 +189,9 @@
// 绂忓埄鍏嶅崟鍒�
coupon = systemCouponService.getCouponByType(couponType);
} else if (couponType.equals(CouponTypeEnum.rebatePercentCoupon.name())) {
- // 濂栧姳鍒�10%
- coupon = systemCouponService.getCouponByTypeAndPercent(couponType,new BigDecimal(10));
+ // 闅忔満濂栧姳鍒�
+ randomRewardCoupon(1, uid, source);
+ return;
}
if (coupon == null) {
@@ -282,7 +281,7 @@
updateCounponInvalid(uid);
// 閫�鍥炲埜
sendBackTimeOutCoupon(uid);
-
+
List<UserSystemCouponVO> listVO = userSystemCouponMapper.getUserCouponVOList(start, count, uid);
if (listVO == null || listVO.size() == 0) {
return listVO;
@@ -545,8 +544,6 @@
updateCounponInvalid(uid);
// 閫�鍥炲埜
sendBackTimeOutCoupon(uid);
- // 娲诲姩棰嗗彇鍒�
-// receivedCoupon(uid);
// 璁㈠崟鐩稿叧鐨勫埜
List<SystemCoupon> couponList = systemCouponService.getOrderCouponList();
@@ -575,9 +572,6 @@
// 閫�鍥炲埜
sendBackTimeOutCoupon(uid);
- // 娲诲姩棰嗗彇鍒�
- receivedCoupon(uid);
-
// 鍟嗗搧鐩稿叧鐨勫埜
List<SystemCoupon> couponList = systemCouponService.getGoodsCouponList();
if (couponList == null || couponList.size() == 0) {
@@ -1512,132 +1506,6 @@
}
- @Override
- @Transactional
- public void receivedCoupon(Long uid) throws Exception {
-
- List<PushCoupon> list = pushCouponService.listQueryEffective();
- if (list == null || list.size() == 0) {
- return;
- }
-
- List<PushCouponRecord> listRecord = pushCouponRecordService.listByUid(uid);
-
- for (PushCoupon pushCoupon: list) {
-
- boolean receive = false;
-
- String uids = pushCoupon.getUids();
- if (uids == null || uids.trim().length() == 0) {
- receive = true;
- } else {
- String[] uidArray = uids.split(",");
-
- if (uidArray != null) {
- for (int i = 0; i < uidArray.length; i++) {
- String str_uid = uidArray[i];
- if (str_uid != null && str_uid.trim().length() > 0) {
- if(str_uid.equals(uid.toString())) {
- receive = true;
- }
- }
- }
- }
- }
-
- if (!receive) {
- continue;
- }
-
- if (listRecord != null && listRecord.size() > 0) {
- for (PushCouponRecord PushCouponRecord: listRecord) {
- PushCoupon pushCoupon2 = PushCouponRecord.getPushCoupon();
-
- if (pushCoupon.getId().equals(pushCoupon2.getId()) ) {
- receive = false;
- break;
- }
- }
- }
-
- if (receive) {
- // 鎻掑叆璁板綍
- PushCouponRecord pushCouponRecord = new PushCouponRecord();
- pushCouponRecord.setPushCoupon(pushCoupon);
- pushCouponRecord.setUid(uid);
- pushCouponRecord.setCreateTime(new Date());
- pushCouponRecordService.insertSelective(pushCouponRecord);
-
- // 鎻掑叆鍒�
- randomRewardCouponForPush(pushCoupon, uid);
- }
- }
- }
-
- @Transactional
- public void randomRewardCouponForPush(PushCoupon pushCoupon, Long uid) throws Exception {
- int coupon = 0;
-
- Integer amount = pushCoupon.getAmount();
- for (int i = 0; i < amount; i++) {
-
- BigDecimal percent = pushCoupon.getPercent();
- if (percent == null) {
- // 杩斿埄姣�-闅忔満
- percent = new BigDecimal(randomNum());
- }
-
- // 鏌ヨ濂栧姳鍒�
- SystemCoupon systemCoupon = systemCouponService.getCouponByTypeAndPercent(
- CouponTypeEnum.rebatePercentCoupon.name(),percent);
-
- if (systemCoupon == null) {
- return;
- }
-
- UserSystemCoupon userCoupon = new UserSystemCoupon();
- userCoupon.setUid(uid);
- userCoupon.setSource(UserSystemCoupon.SOURCE_SYSTEM_PUSH);
- userCoupon.setSystemCoupon(systemCoupon);
- userCoupon.setState(UserSystemCoupon.STATE_CAN_USE);
- userCoupon.setStateActivated(1);
- userCoupon.setStartTime(pushCoupon.getStartTime());
- userCoupon.setEndTime(pushCoupon.getEndTime());
- userCoupon.setCreateTime(new Date());
- userCoupon.setUpdateTime(new Date());
- // 鎻掑叆鏁版嵁搴�
- insertSelective(userCoupon);
-
- // 鍒告暟閲�
- coupon ++;
-
- // 娑堟伅鎺ㄩ��
- try {
- userOtherMsgNotificationService.rewardCouponGet(userCoupon,systemCoupon.getPercent().intValue());
- } catch(Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
-
- // 鑾峰彇棰濆淇℃伅
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null) {
- return;
- }
-
- Integer couponNews = userInfoExtra.getCouponNews();
- if (couponNews == null) {
- userInfoExtra.setCouponNews(coupon);
- } else {
- userInfoExtra.setCouponNews(couponNews + coupon);
- }
- userInfoExtraService.saveUserInfoExtra(userInfoExtra);
- }
-
@Override
@Transactional
@@ -1710,20 +1578,25 @@
int result = 1;
List<RandomProportion> list = new ArrayList<RandomProportion>();
- list.add(new RandomProportion(1,2,30));
- list.add(new RandomProportion(2,4,25));
- list.add(new RandomProportion(4,6,20));
- list.add(new RandomProportion(6,8,6));
- list.add(new RandomProportion(8,10,6));
- list.add(new RandomProportion(10,20,6));
- list.add(new RandomProportion(20,30,2));
- list.add(new RandomProportion(30,40,2));
- list.add(new RandomProportion(40,50,2));
- list.add(new RandomProportion(50,60,1));
+ list.add(new RandomProportion(1, 22));
+ list.add(new RandomProportion(2, 22));
+ list.add(new RandomProportion(3, 22));
+ list.add(new RandomProportion(4, 22));
+ list.add(new RandomProportion(5, 20));
+ list.add(new RandomProportion(6, 18));
+ list.add(new RandomProportion(7, 16));
+ list.add(new RandomProportion(8, 14));
+ list.add(new RandomProportion(9, 12));
+ list.add(new RandomProportion(10, 10));
+ list.add(new RandomProportion(11, 8));
+ list.add(new RandomProportion(12, 6));
+ list.add(new RandomProportion(13, 4));
+ list.add(new RandomProportion(14, 2));
+ list.add(new RandomProportion(15, 1));
int minRange = 0;
int maxRange = 0;
- int randomNum = (int) (1 + Math.round(Math.random() * (99)));
+ int randomNum = (int) (1 + Math.round(Math.random() * (199)));
for (int i = 0; i < list.size(); i++) {
@@ -1733,11 +1606,8 @@
maxRange = maxRange + probability;
minRange = maxRange - probability;
- if (i == list.size() && randomNum > minRange && randomNum <= maxRange) {
- result = proportion.minNum + (int) (Math.random() * ((proportion.maxNum - proportion.minNum) + 1));
- break;
- } else if(randomNum > minRange && randomNum <= maxRange) {
- result = proportion.minNum + (int) (Math.random() * ((proportion.maxNum - proportion.minNum)));
+ if(randomNum > minRange && randomNum <= maxRange) {
+ result = proportion.num;
break;
}
}
@@ -1746,15 +1616,13 @@
}
class RandomProportion {
- public int minNum;// 鏈�灏�
- public int maxNum;// 鏈�澶�
+ public int num;//鍒稿��
public int probability; // 姒傜巼
RandomProportion () {}
- RandomProportion (int minNum, int maxNum, int probability) {
- this.minNum = minNum;
- this.maxNum = maxNum;
+ RandomProportion (int num, int probability) {
+ this.num = num;
this.probability = probability;
}
}
--
Gitblit v1.8.0