From 6f3ee199558c79d840137c1a77efe462aca63178 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 26 七月 2019 18:04:21 +0800
Subject: [PATCH] 京东专题 + 拼多多
---
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserController.java | 410 +++++++++++++++++++---------------------------------------
1 files changed, 133 insertions(+), 277 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserController.java
index 82d20ee..b32316f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserController.java
@@ -11,23 +11,13 @@
import org.yeshi.utils.JsonUtil;
import com.alibaba.fastjson.JSONArray;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.user.DeviceLotteryRecord;
import com.yeshi.fanli.entity.bus.user.ShamUser;
-import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
-import com.yeshi.fanli.entity.system.SystemCoupon;
-import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.config.SystemCouponService;
-import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
-import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import net.sf.json.JSONObject;
/**
- * 鐢ㄦ埛
+ * 鐢ㄦ埛
*
* @author Administrator
*
@@ -36,61 +26,14 @@
@RequestMapping("api/apph5/v1/user")
public class AppH5UserController {
- @Resource
- private DeviceLotteryRecordService deviceLotteryRecordService;
-
- @Resource
- private UserInfoExtraService userInfoExtraService;
-
- @Resource
- private CommonOrderCountService commonOrderCountService;
-
+
@Resource
private ShamUserService shamUserService;
-
- @Resource
- private ConfigService configService;
-
- @Resource
- private SystemCouponService systemCouponService;
-
-
- /**
- * 鑾峰彇鎶藉娆℃暟
- * @param callback
- * @param acceptData
- * @param uid
- * @param out
- */
- @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();
- }
-
- 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 out
*/
@@ -100,282 +43,88 @@
try {
// 闅忔満20鏉℃暟鎹�
List<ShamUser> listUser = shamUserService.listRandUser(20);
-
+
JSONArray array = new JSONArray();
- for (ShamUser shamUser: listUser) {
+ for (ShamUser shamUser : listUser) {
JSONObject dataInfo = new JSONObject();
-
+
String name = shamUser.getName();
if (name.length() == 1) {
name = "Jx****" + name;
} else {
name = name.substring(0, 1) + "****" + name.substring(name.length() - 2, name.length() - 1);
}
-
+
String prize = generateAward();
if (prize == null) {
- prize = "鎶戒腑涓�寮犵鍒╁厤鍗曞埜";
+ prize = "涓�寮犵鍒╁厤鍗曞埜";
}
-
+
dataInfo.put("pic", shamUser.getPicUrl());
dataInfo.put("content", name + "锛屾娊涓�" + prize);
array.add(dataInfo);
}
-
+
JSONObject data = new JSONObject();
data.put("result_list", array);
-
+
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) {
- int count = 0;
- try {
- count = getSurplusCount(acceptData, uid);
- } catch (Exception e) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMessage()));
- e.printStackTrace();
- }
-
- try {
- String prize = "No_Prizes"; // freeCoupon 銆� rebateCoupon
-
- if (uid == null) { // 鏈櫥褰�
- 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() == 5) { // 鏃犳娊濂栨満浼�
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "鎶藉娆℃暟涓嶈冻"));
- return;
- } else if (list != null && list.size() < 5 ){ // 鎷ユ湁鎶藉鏈轰細
- int hasPrize = 0;
- Long couponId = null;
-
- for (DeviceLotteryRecord deviceLotteryRecord: list) {
- Long systemCouponId = deviceLotteryRecord.getSystemCouponId();
- if (systemCouponId != null) {
- hasPrize ++;
- couponId = systemCouponId;
- }
- }
-
- // 鍓�3娆℃病鏈夊鍔辨椂銆佸悗闈袱娆″繀涓�
- if (hasPrize == 0 && list.size() == 3) {
- long result = (1 + Math.round(Math.random() * (9)));
-
- if (result <=5) {
- prize = CouponTypeEnum.welfareFreeCoupon.name(); // 绂忓埄鍏嶈垂鍒�
- } else {
- prize = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
- }
-
- } else if (hasPrize == 1 && list.size() == 4) {
- SystemCoupon systemCoupon = systemCouponService.selectByPrimaryKey(couponId);
-
- if (systemCoupon != null) {
- CouponTypeEnum type = systemCoupon.getType();
- if (type == CouponTypeEnum.welfareFreeCoupon) {
- prize = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
- } else {
- prize = CouponTypeEnum.welfareFreeCoupon.name(); // 绂忓埄鍏嶈垂鍒�
- }
- } else {
- prize = CouponTypeEnum.rebatePercentCoupon.name(); // 濂栧姳鍒�
- }
- } else { // 澶т簬3娆℃満浼�
-
- if (hasPrize < 2 ) { // 涓嶈冻涓や釜濂栧搧
-
- } else {
-
- }
-
-
- }
-
-
-
-
-
-
-
- }
-
- } 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; // 涓嶇畻鏂扮敤鎴�
- }
-
- } 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
- */
- 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; // 涓嶇畻鏂扮敤鎴�
- }
-
- } else {
- count = lotteryNewbies; // 鍓╀綑娆℃暟
- }
- }
-
- return count;
- }
-
-
-
-
-
-
/**
* 鐢熸垚濂栭」
*
* @return
*/
public String generateAward() {
-
+
RandomGift randomGift1 = new RandomGift();
randomGift1.prize = "鎶戒腑鍗庝负鎵嬫満20涓�鍙�";
randomGift1.probability = 2;
-
+
RandomGift randomGift2 = new RandomGift();
randomGift2.prize = "鐜伴噾绾㈠寘楼188";
randomGift2.probability = 5;
-
+
RandomGift randomGift3 = new RandomGift();
randomGift3.prize = "鐜伴噾绾㈠寘楼88";
randomGift3.probability = 13;
-
+
RandomGift randomGift4 = new RandomGift();
randomGift4.prize = "涓�寮犵鍒╁厤鍗曞埜";
randomGift4.probability = 40;
-
+
RandomGift randomGift5 = new RandomGift();
randomGift5.prize = "涓�寮犺繑鍒╁鍔卞埜";
randomGift5.probability = 40;
-
+
List<RandomGift> giftList = new ArrayList<RandomGift>();
giftList.add(randomGift1);
giftList.add(randomGift2);
giftList.add(randomGift3);
giftList.add(randomGift4);
giftList.add(randomGift5);
-
+
long result = (1 + Math.round(Math.random() * (99)));
-
+
int minRange = 0;
int maxRange = 0;
-
+
String prize = null;
-
+
for (int i = 0; i < giftList.size(); i++) {
RandomGift obj2 = giftList.get(i);
int probability = obj2.probability;
-
+
maxRange = maxRange + probability;
minRange = 100 - maxRange;
-
+
if (probability != 0) {
if (result > minRange && result <= maxRange) {
prize = obj2.prize;
@@ -383,10 +132,117 @@
}
}
}
-
+
return prize;
}
+
+
+ /**
+ * 鑾峰彇鎶藉骞垮憡鍒楄〃
+ *
+ * @param callback
+ * @param out
+ */
+ @RequestMapping(value = "getDailyRadioList")
+ public void getDailyRadioList(String callback, PrintWriter out) {
+
+ try {
+ // 闅忔満20鏉℃暟鎹�
+ List<ShamUser> listUser = shamUserService.listRandUser(20);
+
+ JSONArray array = new JSONArray();
+ for (ShamUser shamUser : listUser) {
+ JSONObject dataInfo = new JSONObject();
+
+ String name = shamUser.getName();
+ if (name.length() == 1) {
+ name = "Jx****" + name;
+ } else {
+ name = name.substring(0, 1) + "****" + name.substring(name.length() - 2, name.length() - 1);
+ }
+
+ String prize = dailyGenerateAward();
+ if (prize == null) {
+ prize = "涓ゅ紶杩斿埄濂栧姳鍒�";
+ }
+
+ dataInfo.put("pic", shamUser.getPicUrl());
+ dataInfo.put("content", name + "锛屾娊涓�" + prize);
+ array.add(dataInfo);
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("result_list", array);
+
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 鐢熸垚濂栭」-澶╁ぉ鎶�
+ *
+ * @return
+ */
+ public String dailyGenerateAward() {
+
+ RandomGift randomGift1 = new RandomGift();
+ randomGift1.prize = "鎶戒腑鍗庝负鎵嬫満20涓�鍙�";
+ randomGift1.probability = 2;
+
+ RandomGift randomGift2 = new RandomGift();
+ randomGift2.prize = "鐜伴噾绾㈠寘楼188";
+ randomGift2.probability = 5;
+
+ RandomGift randomGift3 = new RandomGift();
+ randomGift3.prize = "鐜伴噾绾㈠寘楼88";
+ randomGift3.probability = 13;
+
+ RandomGift randomGift4 = new RandomGift();
+ randomGift4.prize = "涓ゅ紶杩斿埄濂栧姳鍒�";
+ randomGift4.probability = 40;
+
+ RandomGift randomGift5 = new RandomGift();
+ randomGift5.prize = "涓�寮犺繑鍒╁鍔卞埜";
+ randomGift5.probability = 40;
+
+ List<RandomGift> giftList = new ArrayList<RandomGift>();
+ giftList.add(randomGift1);
+ giftList.add(randomGift2);
+ giftList.add(randomGift3);
+ giftList.add(randomGift4);
+ giftList.add(randomGift5);
+
+ long result = (1 + Math.round(Math.random() * (99)));
+
+ int minRange = 0;
+ int maxRange = 0;
+
+ String prize = null;
+
+ for (int i = 0; i < giftList.size(); i++) {
+ RandomGift obj2 = giftList.get(i);
+ int probability = obj2.probability;
+
+ maxRange = maxRange + probability;
+ minRange = 100 - maxRange;
+
+ if (probability != 0) {
+ if (result > minRange && result <= maxRange) {
+ prize = obj2.prize;
+ break;
+ }
+ }
+ }
+
+ return prize;
+ }
+
class RandomGift {
public String prize;// 濂栭」
public int probability; // 姒傜巼
--
Gitblit v1.8.0