From 68640e0d263b76ecfeaad80ea8587404b4413ad4 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 08 三月 2019 16:44:45 +0800
Subject: [PATCH] 订单爬取规则修改
---
fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java | 526 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 282 insertions(+), 244 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..73c27c9 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
@@ -1,17 +1,16 @@
package com.yeshi.fanli.controller.client;
import java.io.PrintWriter;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
+import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.DateUtil;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
@@ -21,10 +20,12 @@
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
import com.yeshi.fanli.entity.system.SystemCoupon;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.exception.user.UserSystemCouponException;
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;
@@ -38,12 +39,16 @@
/**
* 绂忓埄涓績
+ *
* @author Administrator
*
*/
@Controller
@RequestMapping("api/v1/user/coupon")
public class UserCouponController {
+
+ @Resource(name = "taskExecutor")
+ private TaskExecutor executor;
@Resource
private ConfigService configService;
@@ -52,32 +57,33 @@
private UserSystemCouponService UserSystemCouponService;
@Resource
- private SwiperPictureService swiperPictureService;
-
+ private SwiperPictureService swiperPictureService;
+
@Resource
private CommonOrderService commonOrderService;
-
+
@Resource
private DeviceLotteryRecordService deviceLotteryRecordService;
-
+
@Resource
private SystemCouponService systemCouponService;
-
+
@Resource
private UserSystemCouponService userSystemCouponService;
-
+
@Resource
private UserInfoExtraService userInfoExtraService;
-
+
@Resource
private CommonOrderCountService commonOrderCountService;
-
- // 鏈�澶ф娊濂栨鏁�
- private static int MAX_COUNT = 5;
-
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
+
+
/**
* 鐢ㄦ埛鍒稿垪琛ㄦ煡璇�
+ *
* @param acceptData
* @param page
* @param uid
@@ -89,31 +95,31 @@
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
try {
if (page == null || page < 1) {
page = 1;
}
-
+
// 绂忓埄涓績鍥剧墖
- String topPicture = null;
- if(page == 1) {
+ String topPicture = null;
+ if (page == 1) {
List<SwiperPicture> listswiper = swiperPictureService.getByBannerCard("welfare_top");
if (listswiper != null && listswiper.size() > 0) {
topPicture = listswiper.get(0).getSrc();
}
}
-
+
long count = 0;
- List<UserSystemCouponVO> resultList = UserSystemCouponService.getUserCouponVOList((page - 1) * Constant.PAGE_SIZE,
- Constant.PAGE_SIZE, uid );
-
+ List<UserSystemCouponVO> resultList = UserSystemCouponService
+ .getUserCouponVOList((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
+
if (resultList != null && resultList.size() > 0) {
count = UserSystemCouponService.countUserCouponList(uid);
} else if (resultList == null) {
resultList = new ArrayList<UserSystemCouponVO>();
}
-
+
JSONObject data = new JSONObject();
data.put("topPicture", topPicture);
data.put("count", count);
@@ -121,6 +127,26 @@
out.print(JsonUtil.loadTrueResult(data));
+ // 鏇存柊绂忓埄涓績鏈鏁伴噺
+ if (page == 1) {
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ // 鏈鍒告槸鍚﹀ぇ浜�0
+ if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) {
+ userInfoExtra.setCouponNews(0);
+ try {
+ userInfoExtraService.saveUserInfoExtra(userInfoExtra);
+ } catch (UserInfoExtraException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+ });
+ }
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -128,40 +154,42 @@
e.printStackTrace();
}
}
-
+
/**
* 鐢ㄦ埛濂栧姳鍒�
+ *
* @param acceptData
* @param page
* @param uid
+ * @param auctionId 鍟嗗搧id
* @param out
*/
@RequestMapping(value = "getGoodsCouponList", method = RequestMethod.POST)
- public void getGoodsCouponList(AcceptData acceptData, Long uid, PrintWriter out) {
+ public void getGoodsCouponList(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) {
if (uid == null) {
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
try {
- List<UserSystemCouponVO> resultList = UserSystemCouponService.getGoodsCouponList(uid);
-
- if (resultList == null ) {
- resultList =new ArrayList<UserSystemCouponVO>();
+ List<UserSystemCouponVO> resultList = UserSystemCouponService.getGoodsCouponList(uid, auctionId);
+
+ if (resultList == null) {
+ resultList = new ArrayList<UserSystemCouponVO>();
}
-
+
JSONObject dataTip = new JSONObject();
dataTip.put("content", configService.get("free_coupon_tip"));
dataTip.put("fontColor", "#F14242");
-
+
JSONObject data = new JSONObject();
data.put("helpLink", configService.get("free_coupon_help"));
data.put("tip", dataTip);
data.put("count", resultList.size());
data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
-
+
out.print(JsonUtil.loadTrueResult(data));
-
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -169,10 +197,10 @@
e.printStackTrace();
}
}
-
-
+
/**
- * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀�
+ * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀�
+ *
* @param acceptData
* @param page
* @param uid
@@ -184,7 +212,7 @@
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
try {
UserSystemCouponService.useGoodsCoupon(uid, cid, goodId);
out.print(JsonUtil.loadTrueResult("浣跨敤鎴愬姛"));
@@ -195,10 +223,10 @@
e.printStackTrace();
}
}
-
-
+
/**
* 鐢ㄦ埛濂栧姳鍒�
+ *
* @param acceptData
* @param page
* @param uid
@@ -206,26 +234,26 @@
*/
@RequestMapping(value = "getOrderCouponList", method = RequestMethod.POST)
public void getOrderCouponList(AcceptData acceptData, Long uid, PrintWriter out) {
-
+
if (uid == null) {
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
try {
List<UserSystemCouponVO> resultList = UserSystemCouponService.getOrderCouponList(uid);
-
- if (resultList == null ) {
- resultList =new ArrayList<UserSystemCouponVO>();
+
+ if (resultList == null) {
+ resultList = new ArrayList<UserSystemCouponVO>();
}
-
+
JSONObject data = new JSONObject();
data.put("helpLink", configService.get("reward_coupon_help"));
data.put("count", resultList.size());
data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
-
+
out.print(JsonUtil.loadTrueResult(data));
-
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -233,10 +261,10 @@
e.printStackTrace();
}
}
-
-
+
/**
- * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀�
+ * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀�
+ *
* @param acceptData
* @param page
* @param uid
@@ -244,19 +272,19 @@
*/
@RequestMapping(value = "useRewardCoupon", method = RequestMethod.POST)
public void useRewardCoupon(AcceptData acceptData, Long uid, Long cid, String orderNo, PrintWriter out) {
-
+
if (uid == null) {
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
try {
UserSystemCouponService.useOrderCoupon(uid, cid, orderNo);
-
+
JSONObject data = commonOrderService.getRewardJumpInfo(orderNo);
-
+
out.print(JsonUtil.loadTrueResult(data));
-
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -264,25 +292,26 @@
e.printStackTrace();
}
}
-
+
/**
- * 璁㈠崟-濂栧姳杩涘害璇︽儏
+ * 璁㈠崟-濂栧姳杩涘害璇︽儏
+ *
* @param acceptData
- * @param orderNo 璁㈠崟鍙�
+ * @param orderNo 璁㈠崟鍙�
* @param out
*/
@RequestMapping(value = "getRewardRecord", method = RequestMethod.POST)
public void getRewardCounponRecord(AcceptData acceptData, String orderNo, PrintWriter out) {
-
+
try {
-
+
UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getRewardCouponRecord(orderNo);
-
+
JSONObject data = new JSONObject();
data.put("rewardRecord", rewardRecord);
-
+
out.print(JsonUtil.loadTrueResult(data));
-
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -290,25 +319,26 @@
e.printStackTrace();
}
}
-
+
/**
- * 璁㈠崟-濂栧姳杩涘害璇︽儏
+ * 璁㈠崟-濂栧姳杩涘害璇︽儏
+ *
* @param acceptData
- * @param orderNo 璁㈠崟鍙�
+ * @param orderNo 璁㈠崟鍙�
* @param out
*/
@RequestMapping(value = "getFreeCounponRecord", method = RequestMethod.POST)
public void getFreeCounponRecord(AcceptData acceptData, String orderNo, PrintWriter out) {
-
+
try {
-
+
UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getFreeCouponRecord(orderNo);
-
+
JSONObject data = new JSONObject();
data.put("frreCouponRecord", rewardRecord);
-
+
out.print(JsonUtil.loadTrueResult(data));
-
+
} catch (UserSystemCouponException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
@@ -316,7 +346,6 @@
e.printStackTrace();
}
}
-
/**
* 鑾峰彇鎶藉娆℃暟
@@ -328,49 +357,11 @@
*/
@RequestMapping(value = "getLotteryCount")
public void getLotteryCount(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
- int count = 0;
try {
- count = getSurplusCount(acceptData, uid);
- } catch (Exception e) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMessage()));
- e.printStackTrace();
- }
+ // 榛樿鏈�澶ф娊濂栨鏁�
+ int count = 5;
- try {
- // 鎶藉瑙勫垯
- String lotteryRule = configService.get("lottery_rule_newbies");
-
- JSONObject data = new JSONObject();
- data.put("count", count);
- data.put("rule", lotteryRule);
-
- JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
- } catch (Exception e) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
- e.printStackTrace();
- }
- }
-
-
- /**
- * 鑾峰彇鎶藉缁撴灉
- *
- * @param callback
- * @param acceptData
- * @param uid
- * @param out
- */
- @RequestMapping(value = "getLotteryResult")
- public void getLotteryResult(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
-
- try {
- // 濂栧搧
- int count = 0;
- String prize = "";
- Long couponId = null;
-
- if (uid == null) { // 鏈櫥褰�
+ if (uid == null || uid == 0) { // 鏈櫥褰�
int platformType = 0;
String platform = acceptData.getPlatform();
if ("android".equals(platform)) {
@@ -387,35 +378,139 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁惧涓嶅瓨鍦�"));
return;
}
- int hasPrize = 0;
-
+
List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType,
device);
- if (list != null && list.size() == MAX_COUNT) { // 鏃犳娊濂栨満浼�
+ if (list != null && list.size() > 0) {
+ count = count - list.size();
+ }
+
+ } else { // 宸茬櫥褰�
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra == null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛淇℃伅涓嶅瓨鍦�"));
+ return;
+ }
+
+ Integer lotteryNewbies = userInfoExtra.getLotteryNewbies();
+ if (lotteryNewbies == null) { // 鏈娊杩�
+ // 鏄惁鏈夎繃璁㈠崟锛氳繑鍒┿�佸垎浜鍗�
+ boolean hasOrder = commonOrderCountService.hasRebateAndShareOrder(uid);
+ if (hasOrder) {
+ count = 0; // 涓嶇畻鏂扮敤鎴�
+ }
+ userInfoExtra.setLotteryNewbies(count);
+ userInfoExtraService.saveUserInfoExtra(userInfoExtra);
+ } else {
+ count = lotteryNewbies; // 鍓╀綑娆℃暟
+ }
+ }
+
+ // 鎶藉瑙勫垯
+ String lotteryRule = configService.get("lottery_rule_newbies");
+
+ JSONObject data = new JSONObject();
+ data.put("count", count);
+ data.put("rule", lotteryRule);
+
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 鑾峰彇鎶藉缁撴灉
+ *
+ * @param callback
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "getLotteryResult")
+ public void getLotteryResult(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+
+ try {
+ // 鍓╀綑鎶藉娆℃暟
+ int count = 0;
+ // 鏈鎶戒腑鐨勫鍝�
+ String prize = null;
+
+ // 宸蹭娇鐢ㄦ娊濂栨鏁�
+ int countUsed = 0;
+ // 宸叉嫢鏈夊鍝佹暟閲�
+ int countPrize = 0;
+ // 宸叉湁鍒哥被鍨�
+ String couponType = null;
+
+ if (uid == null || uid == 0) { // 鏈櫥褰�
+ int platformType = 0;
+ String platform = acceptData.getPlatform();
+ if ("android".equals(platform)) {
+ platformType = 1;
+ } else if ("ios".equals(platform)) {
+ platformType = 2;
+ } else {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("骞冲彴鏈夎"));
+ return;
+ }
+
+ String device = acceptData.getDevice();
+ if (device == null || device.trim().length() == 0) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁惧涓嶅瓨鍦�"));
+ return;
+ }
+
+ List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType,
+ device);
+ if (list != null && list.size() >= Constant.MAX_COUNT_LOTTERY_NEWBIES) { // 鏃犳娊濂栨満浼�
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "鎶藉娆℃暟涓嶈冻"));
return;
- } else if (list != null && list.size() < MAX_COUNT) { // 鎷ユ湁鎶藉鏈轰細
+ }
+
+ Long couponId = null;
+
+ if (list == null || list.size() == 0) { // 鎷ユ湁鎶藉鏈轰細
+ count = Constant.MAX_COUNT_LOTTERY_NEWBIES - 1;
+ } else {
+
for (DeviceLotteryRecord deviceLotteryRecord : list) {
Long systemCouponId = deviceLotteryRecord.getSystemCouponId();
if (systemCouponId != null) {
- hasPrize++;
+ countPrize++;
couponId = systemCouponId;
}
}
- count = MAX_COUNT - 1 - list.size();
- } else {
- count = MAX_COUNT - 1;
+ count = Constant.MAX_COUNT_LOTTERY_NEWBIES - 1 - list.size();
}
-
- // 濂栧搧
- prize = getLotteryPrize(MAX_COUNT, hasPrize, list.size(), couponId);
+
+ // 濂栧搧灏忎簬2鏃舵墠鎶藉
+ if (countPrize < 2) {
+ if (couponId != null) {
+ SystemCoupon coupon = systemCouponService.selectByPrimaryKey(couponId);
+ // 宸叉湁鍒�
+ couponType = coupon.getType().name();
+ }
+ // 濂栧搧
+ prize = getLotteryPrize(Constant.MAX_COUNT_LOTTERY_NEWBIES, countPrize, list.size(), couponType);
+ }
+
// 鎶戒腑
Long newCouponId = null;
if (prize != null && prize.trim().length() > 0) {
- SystemCoupon coupon= systemCouponService.getCouponByType(prize);
- newCouponId =coupon.getId();
+ // 宸插瓨鍦ㄦ鍒�
+ if (prize.equals(couponType)) {
+ prize = null;
+ } else {
+ SystemCoupon coupon = systemCouponService.getCouponByType(prize);
+ if (coupon != null) {
+ newCouponId = coupon.getId();
+ }
+ }
}
-
+
// 鎻掑叆璁板綍
DeviceLotteryRecord record = new DeviceLotteryRecord();
record.setDevice(device);
@@ -423,60 +518,69 @@
record.setSystemCouponId(newCouponId);
record.setCreateTime(new Date());
deviceLotteryRecordService.insertSelective(record);
-
+
} else { // 宸茬櫥褰�
+
UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
if (userInfoExtra == null) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇℃伅涓嶆纭�"));
return;
}
-
+
+ // 鍓╀綑鎶藉娆℃暟
Integer lotteryNewbies = userInfoExtra.getLotteryNewbies();
- if (lotteryNewbies == null || lotteryNewbies < 1 ) { // 娆℃暟宸茬敤鍏�
+ if (lotteryNewbies == null || lotteryNewbies < 1) { // 娆℃暟宸茬敤鍏�
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "鎶藉娆℃暟涓嶈冻"));
return;
- } else {
- count = lotteryNewbies - 1; // 鍓╀綑娆℃暟
- }
+ }
- List<UserSystemCoupon> list = userSystemCouponService.getUserCouponBySource(uid, UserSystemCoupon.SOURCE_CHOUJIANG);
- if (list != null && list.size() == 1) {
- couponId = list.get(0).getSystemCoupon().getId();
- }
+ // 鍓╀綑娆℃暟
+ count = lotteryNewbies - 1;
+ // 宸蹭娇鐢ㄦ鏁�
+ countUsed = Constant.MAX_COUNT_LOTTERY_NEWBIES - lotteryNewbies;
- // 濂栧搧
- prize = getLotteryPrize(MAX_COUNT, list.size(), MAX_COUNT- lotteryNewbies, couponId);
- // 鎶戒腑
- if (prize != null && prize.trim().length() > 0) {
- SystemCoupon coupon= systemCouponService.getCouponByType(prize);
+
+ // 宸叉娊涓殑濂栧搧
+ List<UserSystemCoupon> list = userSystemCouponService.getUserCouponBySource(uid,
+ UserSystemCoupon.SOURCE_CHOUJIANG);
+
+ if (list == null || list.size() == 0) {
+ // 鎶藉
+ prize = getLotteryPrize(Constant.MAX_COUNT_LOTTERY_NEWBIES, countPrize , countUsed, couponType);
- String endDay = DateUtil.plusDay(coupon.getExpiryDay(), new Date());
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date endTime = format.parse(endDay);
+ } else if (list.size() == 1) {
+ UserSystemCoupon userSystemCoupon = list.get(0);
- int stateActivated = 1;
- if (coupon.getType() == CouponTypeEnum.welfareFreeCoupon) {
- stateActivated = 0;
+ SystemCoupon systemCoupon = userSystemCoupon.getSystemCoupon();
+ if (systemCoupon != null) {
+ SystemCoupon coupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId());
+ // 宸叉湁鍒�
+ couponType = coupon.getType().name();
}
- 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);
+ // 鎷ユ湁濂栧搧鏁伴噺
+ countPrize = 1;
+
+ // 鎶藉
+ prize = getLotteryPrize(Constant.MAX_COUNT_LOTTERY_NEWBIES, countPrize, countUsed, couponType);
+ }
+
+ // 鎶戒腑
+ if (prize != null && prize.trim().length() > 0) {
+ if (prize.equals(couponType)) {
+ // 宸叉湁姝ゅ埜
+ prize = null;
+ } else {
+ // 鎻掑叆鍒镐俊鎭�
+ userSystemCouponService.insertUserCoupon(uid, prize, UserSystemCoupon.SOURCE_CHOUJIANG);
+ }
}
// 鍓╀綑娆℃暟
userInfoExtra.setLotteryNewbies(count);
userInfoExtraService.saveUserInfoExtra(userInfoExtra);
}
-
+
if (prize == null || prize.trim().length() == 0) {
prize = "NoPrize";
}
@@ -492,36 +596,31 @@
e.printStackTrace();
}
}
-
+
/**
* 濂栧搧鎶藉彇
- * @param maxCount 鏈�澶ф鏁�
+ *
+ * @param maxCount 鏈�澶ф鏁�
* @param hasPrize 鎷ユ湁濂栧搧鏁伴噺
- * @param record 宸叉娊娆℃暟
+ * @param record 宸叉娊娆℃暟
* @param couponId 鍒竔d
* @return
*/
- public String getLotteryPrize(int maxCount, int hasPrize, int record, Long couponId) {
-
- String prize = null;
+ public String getLotteryPrize(int maxCount, int countPrize, int record, String couponType) {
+
+ String prize = null;
String freeCoupon = CouponTypeEnum.welfareFreeCoupon.name(); // 绂忓埄鍏嶈垂鍒�
- String rebateCoupon = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
-
- if (hasPrize == 1 && record == maxCount - 1) {
+ String rebateCoupon = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
+
+ if (countPrize == 1 && record == maxCount - 1) {
// 鏈�鍚庝竴娆★細 鍙敹鍒颁竴涓鍝�
- SystemCoupon systemCoupon = systemCouponService.selectByPrimaryKey(couponId);
- if (systemCoupon != null) {
- CouponTypeEnum type = systemCoupon.getType();
- if (type.name() == freeCoupon) {
- prize = rebateCoupon; // 濂栧姳鍒�
- } else {
- prize = freeCoupon; // 绂忓埄鍏嶈垂鍒�
- }
+ if (rebateCoupon.equals(couponType)) {
+ prize = freeCoupon; // 绂忓埄鍏嶈垂鍒�
} else {
- prize = rebateCoupon; // 濂栧姳鍒�
+ 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,77 +631,16 @@
} else { // 澶т簬3娆℃満浼�
- if (hasPrize < 2) { // 涓嶈冻涓や釜濂栧搧
+ if (countPrize < 2) { // 涓嶈冻涓や釜濂栧搧
long result = (1 + Math.round(Math.random() * (9)));
if (result <= 3) {
prize = freeCoupon; // 绂忓埄鍏嶈垂鍒�
} else if (result <= 6) {
prize = rebateCoupon; // 濂栧姳鍒�
- }
- }
- }
-
- return prize;
- }
-
-
-
- /**
- * 鑾峰彇鎶藉缁撴灉
- *
- * @param callback
- * @param acceptData
- * @param uid
- * @param out
- */
- public int getSurplusCount(AcceptData acceptData, Long uid) throws Exception {
-
- // 榛樿鏈�澶ф娊濂栨鏁�
- int count = 5;
-
- if (uid == null) { // 鏈櫥褰�
- int platformType = 0;
- String platform = acceptData.getPlatform();
- if ("android".equals(platform)) {
- platformType = 1;
- } else if ("ios".equals(platform)) {
- platformType = 2;
- } else {
- throw new Exception("骞冲彴鏈夎");
- }
-
- String device = acceptData.getDevice();
- if (device == null || device.trim().length() == 0) {
- throw new Exception("璁惧涓嶅瓨鍦�");
- }
-
- List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType, device);
- if (list != null && list.size() > 0) {
- count = count - list.size();
- }
-
- } else { // 宸茬櫥褰�
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null) {
- throw new Exception("淇℃伅涓嶆纭�");
- }
-
- Integer lotteryNewbies = userInfoExtra.getLotteryNewbies();
- if (lotteryNewbies == null) { // 鏈娊杩�
- // 鏄惁鏈夎繃璁㈠崟锛氳繑鍒┿�佸垎浜鍗�
- boolean hasOrder = commonOrderCountService.hasRebateAndShareOrder(uid);
- if (hasOrder) {
- count = 0; // 涓嶇畻鏂扮敤鎴�
}
- userInfoExtra.setLotteryNewbies(count);
- userInfoExtraService.saveUserInfoExtra(userInfoExtra);
-
- } else {
- count = lotteryNewbies; // 鍓╀綑娆℃暟
- }
+ }
}
-
- return count;
+ return prize;
}
}
--
Gitblit v1.8.0