From e260d06750811a6be0ad1abb85634ced13cc7d94 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 二月 2019 10:28:34 +0800
Subject: [PATCH] 其他消息表结构修改
---
fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java | 70 ++++++++++++++++++++--------------
1 files changed, 41 insertions(+), 29 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
index 51f8969..683afc5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
@@ -25,6 +25,7 @@
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService;
@@ -72,6 +73,8 @@
@Resource
private CommonOrderCountService commonOrderCountService;
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
// 鏈�澶ф娊濂栨鏁�
private static int MAX_COUNT = 5;
@@ -368,6 +371,7 @@
// 濂栧搧
int count = 0;
String prize = "";
+ String hasPrize = "";
Long couponId = null;
if (uid == null) { // 鏈櫥褰�
@@ -387,7 +391,7 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁惧涓嶅瓨鍦�"));
return;
}
- int hasPrize = 0;
+ int countPrize = 0;
List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType,
device);
@@ -395,25 +399,40 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "鎶藉娆℃暟涓嶈冻"));
return;
} else if (list != null && list.size() < MAX_COUNT) { // 鎷ユ湁鎶藉鏈轰細
+
for (DeviceLotteryRecord deviceLotteryRecord : list) {
Long systemCouponId = deviceLotteryRecord.getSystemCouponId();
if (systemCouponId != null) {
- hasPrize++;
+ countPrize++;
couponId = systemCouponId;
}
+
+ if (countPrize == 1) {
+ SystemCoupon coupon = systemCouponService.selectByPrimaryKey(systemCouponId);
+ hasPrize = coupon.getType().name();
+ }
}
+
+
count = MAX_COUNT - 1 - list.size();
+
+
} else {
count = MAX_COUNT - 1;
}
// 濂栧搧
- prize = getLotteryPrize(MAX_COUNT, hasPrize, list.size(), couponId);
+ prize = getLotteryPrize(MAX_COUNT, countPrize, list.size(), couponId);
// 鎶戒腑
Long newCouponId = null;
if (prize != null && prize.trim().length() > 0) {
- SystemCoupon coupon= systemCouponService.getCouponByType(prize);
- newCouponId =coupon.getId();
+ // 宸插瓨鍦ㄦ鍒�
+ if (hasPrize.equals(prize)) {
+ prize = null;
+ } else {
+ SystemCoupon coupon= systemCouponService.getCouponByType(prize);
+ newCouponId = coupon.getId();
+ }
}
// 鎻掑叆璁板綍
@@ -442,34 +461,21 @@
List<UserSystemCoupon> list = userSystemCouponService.getUserCouponBySource(uid, UserSystemCoupon.SOURCE_CHOUJIANG);
if (list != null && list.size() == 1) {
couponId = list.get(0).getSystemCoupon().getId();
+ SystemCoupon coupon = systemCouponService.selectByPrimaryKey(couponId);
+ hasPrize = coupon.getType().name();
}
// 濂栧搧
prize = getLotteryPrize(MAX_COUNT, list.size(), MAX_COUNT- lotteryNewbies, couponId);
// 鎶戒腑
if (prize != null && prize.trim().length() > 0) {
- SystemCoupon coupon= systemCouponService.getCouponByType(prize);
- String endDay = DateUtil.plusDay(coupon.getExpiryDay(), new Date());
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date endTime = format.parse(endDay);
-
- int stateActivated = 1;
- if (coupon.getType() == CouponTypeEnum.welfareFreeCoupon) {
- stateActivated = 0;
+ if (hasPrize.equals(prize)) {
+ prize = null;
+ } else {
+ // 鎻掑叆鍒镐俊鎭�
+ userSystemCouponService.insertUserCoupon(uid, prize, UserSystemCoupon.SOURCE_CHOUJIANG);
}
-
- UserSystemCoupon userCoupon = new UserSystemCoupon();
- userCoupon.setUid(uid);
- userCoupon.setSource(UserSystemCoupon.SOURCE_CHOUJIANG);
- userCoupon.setSystemCoupon(coupon);
- userCoupon.setState(UserSystemCoupon.STATE_CAN_USE);
- userCoupon.setStateActivated(stateActivated);
- userCoupon.setStartTime(new Date());
- userCoupon.setEndTime(endTime);
- userCoupon.setCreateTime(new Date());
- userCoupon.setUpdateTime(new Date());
- userSystemCouponService.insertSelective(userCoupon);
}
// 鍓╀綑娆℃暟
@@ -501,13 +507,13 @@
* @param couponId 鍒竔d
* @return
*/
- public String getLotteryPrize(int maxCount, int hasPrize, int record, Long couponId) {
+ public String getLotteryPrize(int maxCount, int countPrize, int record, Long couponId) {
String prize = null;
String freeCoupon = CouponTypeEnum.welfareFreeCoupon.name(); // 绂忓埄鍏嶈垂鍒�
String rebateCoupon = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
- if (hasPrize == 1 && record == maxCount - 1) {
+ if (countPrize == 1 && record == maxCount - 1) {
// 鏈�鍚庝竴娆★細 鍙敹鍒颁竴涓鍝�
SystemCoupon systemCoupon = systemCouponService.selectByPrimaryKey(couponId);
if (systemCoupon != null) {
@@ -521,7 +527,7 @@
prize = rebateCoupon; // 濂栧姳鍒�
}
- } else if (hasPrize == 0 && record == maxCount - 2) {
+ } else if (countPrize == 0 && record == maxCount - 2) {
// 鍓�3娆℃病鏈夊鍔辨椂銆佸悗闈袱娆″繀涓�
long result = (1 + Math.round(Math.random() * (9)));
if (result <= 5) {
@@ -532,7 +538,7 @@
} else { // 澶т簬3娆℃満浼�
- if (hasPrize < 2) { // 涓嶈冻涓や釜濂栧搧
+ if (countPrize < 2) { // 涓嶈冻涓や釜濂栧搧
long result = (1 + Math.round(Math.random() * (9)));
if (result <= 3) {
prize = freeCoupon; // 绂忓埄鍏嶈垂鍒�
@@ -545,6 +551,12 @@
return prize;
}
+
+
+ public static void main(String[] args) {
+ long result = (1 + Math.round(Math.random() * (9)));
+ System.out.println(result);
+ }
/**
--
Gitblit v1.8.0