From 666e5d4bae10a7082823bfbe91d0fa7e51f5ad2d Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期日, 01 三月 2020 12:19:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 788 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 553 insertions(+), 235 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
index 37d8c72..6eb1f6d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
@@ -11,9 +11,11 @@
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.google.gson.Gson;
@@ -25,42 +27,55 @@
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.lable.QualityFactory;
-import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord;
+import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum;
-import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin;
-import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin.TaoLiJinOriginEnum;
-import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies;
import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
-import com.yeshi.fanli.entity.bus.user.UserRank;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+import com.yeshi.fanli.entity.taobao.ShareHotGoods;
+import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
+import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
-import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException;
+import com.yeshi.fanli.exception.user.UserInfoException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
+import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsService;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
-import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService;
-import com.yeshi.fanli.service.inter.tlj.GoodsTaoLiJinRateService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
-import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.goods.MoneyInfoVO;
+import com.yeshi.fanli.vo.goods.OtherInfo;
+import com.yeshi.fanli.vo.goods.taobao.TLJBuyHongBaoVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+import com.yeshi.fanli.vo.redpack.TaoLiJinWinDetailVO;
+import com.yeshi.fanli.vo.tlj.ReduceHongBao;
+import com.yeshi.fanli.vo.tlj.SpreadHongBao;
import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO;
import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO;
@@ -103,30 +118,42 @@
@Resource
private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
-
+
@Resource
private UserTaoLiJinOriginService userTaoLiJinOriginService;
-
+
@Resource
private UserTaoLiJinDetailService userTaoLiJinDetailService;
-
+
@Resource
private UserMoneyExtraService userMoneyExtraService;
-
+
@Resource
private ConfigTaoLiJinService configTaoLiJinService;
-
+
@Resource
private QualityGoodsService qualityGoodsService;
-
- @Resource
- private GoodsTaoLiJinRateService goodsTaoLiJinRateService;
-
- @Resource
- private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
@Resource
private JumpDetailV2Service jumpDetailV2Service;
+
+ @Resource(name = "taskExecutor")
+ private TaskExecutor executor;
+
+ @Resource
+ private ShareHotGoodsService shareHotGoodsService;
+
+ @Resource
+ private TLJBuyGoodsService tljBuyGoodsService;
+
+ @Resource
+ private SwiperPictureService swiperPictureService;
+
+ @Resource
+ private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
+
+ @Resource
+ private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
/**
@@ -148,18 +175,15 @@
page = 1;
}
- long count = 0;
int pageSize = Constant.PAGE_SIZE;
-
- List<UserTaoLiJinRecordVO> list = userTaoLiJinRecordService.getRecordByUid((page - 1) * pageSize, pageSize, uid);
-
+ List<UserTaoLiJinRecordVO> list = userTaoLiJinRecordService.getRecordByUid((page - 1) * pageSize, pageSize,
+ uid);
if (list == null) {
list = new ArrayList<UserTaoLiJinRecordVO>();
- } else if (list.size() > 0) {
- count = userTaoLiJinRecordService.countRecordByUid(uid);
}
-
-
+
+ long count = userTaoLiJinRecordService.countShareRecordByUid(uid);
+
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
@Override
@@ -171,18 +195,18 @@
}
}
});
-
+
Gson gson = gsonBuilder.create();
-
+
JSONObject data = new JSONObject();
data.put("count", count);
data.put("list", gson.toJson(list));
out.print(JsonUtil.loadTrueResult(data));
}
-
-
+
/**
* 缁熻娣樼ぜ閲�
+ *
* @param acceptData
* @param uid
* @param out
@@ -193,10 +217,10 @@
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
return;
}
-
- // 杩囨湡
- userTaoLiJinOriginService.overdueHongBao(uid);
-
+
+ // 杩囨湡 -鍙栨秷鏀跺洖
+ // userTaoLiJinOriginService.overdueHongBao(uid);
+
// 鎴戠殑娣樼ぜ閲�
BigDecimal tlj = null;
UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
@@ -205,29 +229,43 @@
} else {
tlj = new BigDecimal(0);
}
-
-
+
// 浠婃棩鍒嗕韩涓暟
long countShare = userTaoLiJinRecordService.countTodayNum(uid);
-
+
// 鑾峰緱
BigDecimal todayWin = userTaoLiJinOriginService.countMoneyByDate(uid, 1);
BigDecimal yesterdayWin = userTaoLiJinOriginService.countMoneyByDate(uid, 2);
BigDecimal thisMonthWin = userTaoLiJinOriginService.countMoneyByDate(uid, 3);
BigDecimal lastMonthWin = userTaoLiJinOriginService.countMoneyByDate(uid, 4);
+ BigDecimal zero = new BigDecimal(0);
// 娑堣��
BigDecimal todayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 1);
- BigDecimal yesterdayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 2);
- BigDecimal thisMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 3);
- BigDecimal lastMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 4);
+ if (todayUse == null || todayUse.compareTo(zero) > 0) {
+ todayUse = zero;
+ }
- // 闂彿閾炬帴
- String helpLink = configTaoLiJinService.getValueByKey("hongbao_help_link");
-
+ BigDecimal yesterdayUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 2);
+ if (yesterdayUse == null || yesterdayUse.compareTo(zero) > 0) {
+ yesterdayUse = zero;
+ }
+ BigDecimal thisMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 3);
+ if (thisMonthUse == null || thisMonthUse.compareTo(zero) > 0) {
+ thisMonthUse = zero;
+ }
+ BigDecimal lastMonthUse = userTaoLiJinDetailService.countUseMoneyByDate(uid, 4);
+ if (lastMonthUse == null || lastMonthUse.compareTo(zero) > 0) {
+ lastMonthUse = zero;
+ }
+
+ String giveMin = configTaoLiJinService.getValueByKey("give_min_amount");
+
JSONObject data = new JSONObject();
- data.put("tlj", tlj.setScale(2).toString());
- data.put("helpLink", helpLink);
+ data.put("tlj", tlj.setScale(2).toString());
+ data.put("giveMin", giveMin);
+ data.put("giveTip", "娉�:璧犻�佹帹骞跨孩鍖呴噾棰濊嚦灏�" + giveMin + "鍏�");
+ data.put("helpLink", configTaoLiJinService.getValueByKey("hongbao_help_link"));
data.put("countShare", countShare);
data.put("todayWin", todayWin.setScale(2).toString());
data.put("yesterdayWin", yesterdayWin.setScale(2).toString());
@@ -237,8 +275,7 @@
data.put("yesterdayUse", yesterdayUse.setScale(2).toString().replaceAll("-", ""));
data.put("thisMonthUse", thisMonthUse.setScale(2).toString().replaceAll("-", ""));
data.put("lastMonthUse", lastMonthUse.setScale(2).toString().replaceAll("-", ""));
-
-
+
// IOS 鍒嗕韩涓暟
ClientTextStyleVO textVo1 = new ClientTextStyleVO();
textVo1.setContent("浠婃棩鍒涘缓鍒嗕韩");
@@ -249,17 +286,16 @@
ClientTextStyleVO textVo3 = new ClientTextStyleVO();
textVo3.setContent("涓�");
textVo3.setColor("#888888");
-
+
List<ClientTextStyleVO> listCountShare = new ArrayList<ClientTextStyleVO>();
listCountShare.add(textVo1);
listCountShare.add(textVo2);
listCountShare.add(textVo3);
data.put("listShare", listCountShare);
-
+
out.print(JsonUtil.loadTrueResult(data));
}
-
-
+
/**
* 鑾峰彇娣樼ぜ閲戞槑缁嗚鎯�
*
@@ -295,12 +331,12 @@
ca.add(Calendar.MONTH, 1);
date = new Date(ca.getTimeInMillis() - 1);
}
-
+
// 鏌ヨ鍒楄〃
List<TaoLiJinDetailVO> list = userTaoLiJinDetailService.listUserMoneyDetailForClient(uid, index, date);
// 缁熻鎬绘潯鏁�
long count = userTaoLiJinDetailService.countUserMoneyDetailForClient(uid, index, date);
-
+
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
gsonBuilder.registerTypeAdapter(TaoLiJinDetailTypeEnum.class, new TypeAdapter<TaoLiJinDetailTypeEnum>() {
@Override
@@ -323,7 +359,19 @@
return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm"));
}
}
+ }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
+ @Override
+ public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
+ if (value == null) {
+ return new JsonPrimitive("");
+ } else {
+ // 淇濈暀2浣嶅皬鏁�
+ value = value.setScale(2);
+ return new JsonPrimitive(value.toString());
+ }
+ }
});
+
Gson gson = gsonBuilder.create();
JSONObject data = new JSONObject();
@@ -331,207 +379,477 @@
data.put("data", gson.toJson(list));
out.print(JsonUtil.loadTrueResult(data));
}
+
-
-
- /**
- * 绾㈠寘棰嗗彇璇︽儏
- * @param acceptData
- * @param uid
- * @param type
- * @param out
- */
- @RequestMapping(value = "getHongbaoDetails", method = RequestMethod.POST)
- public void getHongbaoDetails(AcceptData acceptData, Long uid, String type, PrintWriter out) {
-
- if (StringUtil.isNullOrEmpty(type)) {
- out.print(JsonUtil.loadFalseResult(1, "绫诲瀷涓嶈兘涓虹┖"));
- return;
- }
-
- // 鐢ㄦ埛鏈櫥褰曟椂 璁惧棰嗗彇鏂扮孩鍖�
- if (uid == null || uid <= 0) {
- BigDecimal money = null;
- DeviceTaoLiJinRecord deviceRecord = deviceTaoLiJinRecordService.getByDevice(acceptData.getDevice());
- if (deviceRecord != null) {
- // 宸查鍙�
- money = deviceRecord.getMoney();
- } else {
- String value = configTaoLiJinService.getValueByKey("hongbao_newbies");
- if (StringUtil.isNullOrEmpty(value)) {
- out.print(JsonUtil.loadFalseResult(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"));
- return;
- }
- money = new BigDecimal(value);
- deviceTaoLiJinRecordService.save(acceptData.getDevice(), money);
- }
-
- JSONObject data = new JSONObject();
- data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon"));
- data.put("title", "鏂颁汉绾㈠寘");
- data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒");
- data.put("type", 1);
- data.put("money", money.setScale(2).toString());
- data.put("usage", "棰嗗彇鎴愬姛锛屽幓鈥滈椤�-鍒嗕韩鐖嗘鈥濅娇鐢�>");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
- data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules"));
-
- out.print(JsonUtil.loadTrueResult(data));
- return;
- }
-
-
- // 鐧诲綍鐢ㄦ埛
- JSONObject data = new JSONObject();
- data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules"));
- data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon"));
-
- if (type.equals(TaoLiJinOriginEnum.newbiesWin.name())) {
- BigDecimal hasMoney = null;
- UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getByUidAndOrigin(uid, type);
- if (userTaoLiJin != null) { // 宸查鍙�
- hasMoney = userTaoLiJin.getMoney();
- } else {
- try {
- UserTaoLiJinOrigin origin = userTaoLiJinOriginService.addNewbiesWinMoney(uid);
- hasMoney = origin.getMoney();
- } catch (UserTaoLiJinOriginException e) {
- out.print(JsonUtil.loadFalseResult(e.getMsg()));
- return;
- }
- }
-
- data.put("title", "鏂颁汉绾㈠寘");
- data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒");
- data.put("type", 1);
- data.put("money", hasMoney.setScale(2).toString());
- data.put("usage", "棰嗗彇鎴愬姛锛屽幓鈥滈椤�-鍒嗕韩鐖嗘鈥濅娇鐢�>");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
-
- } else if(type.equals(TaoLiJinOriginEnum.rankWin.name())) {
- boolean isRank = false;
- BigDecimal hasMoney = null;
- UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getRankByThisMonth(uid, type);
- if (userTaoLiJin != null) { // 宸查鍙�
- isRank = true;
- hasMoney = userTaoLiJin.getMoney();
- } else {
- isRank = false;
- UserRank userRank = userInfoExtraService.gerUserRank(uid);
- if (userRank != null) {
- try {
- isRank = true;
- UserTaoLiJinOrigin origin = userTaoLiJinOriginService.addRankWinMoney(uid, userRank);
- hasMoney = origin.getMoney();
- } catch (UserTaoLiJinOriginException e) {
- if (e.getCode() != 2) {
- out.print(JsonUtil.loadFalseResult(e.getMsg()));
- return;
- }
- }
- }
- }
-
- // 绛夌骇涓嶈冻
- if (!isRank) {
- data.put("title", "璐︽埛绛夌骇绂忓埄");
- data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒");
- data.put("type", 2);
- data.put("money", "鏈湀璐︽埛绛夌骇鏈揪鍒癨r\n缁х画鍔犳补");
- data.put("usage", "鍘烩�滄垜鐨�-璐︽埛绛夌骇鈥濇煡鐪� >");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip"));
- out.print(JsonUtil.loadTrueResult(data));
- return;
- } else {
- data.put("title", "璐︽埛绛夌骇绂忓埄");
- data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒");
- data.put("type", 1);
- data.put("money", hasMoney.setScale(2).toString());
- data.put("usage", "宸插瓨鍏モ�滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濓紝鍘绘煡鐪� >");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_taolijin"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip"));
- }
-
- } else {
- out.print(JsonUtil.loadFalseResult(1, "绫诲瀷涓嶅尮閰�"));
- return;
- }
-
- out.print(JsonUtil.loadTrueResult(data));
- }
-
-
-
+
/**
* 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+ *
* @param acceptData
* @param uid
* @param out
*/
@RequestMapping(value = "getShareGoods", method = RequestMethod.POST)
- public void getShareGoods(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
+ public void getShareGoods(AcceptData acceptData, Long uid, PrintWriter out) {
if (uid == null || uid <= 0) {
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
return;
}
-
- if (page == null || page < 1) {
- page = 1;
+
+ String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+ List<ShareHotGoods> listHot = shareHotGoodsService.listByDay(day);
+ if (listHot == null) {
+ listHot = new ArrayList<ShareHotGoods>();
}
- int pageSize = 10;
-
- List<QualityFactory> listFreeGoods = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize);
- if (listFreeGoods == null) {
- listFreeGoods = new ArrayList<QualityFactory>();
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ boolean isNewUser = userInfoExtraService.isNewUser(uid);
+ if (isNewUser) {
+ // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜��
+ long countRecord = userTaoLiJinRecordService.countRecordByUid(uid);
+ if (countRecord > 0) {
+ isNewUser = false;
+ }
}
- long count = listFreeGoods.size();
+
+ BigDecimal proportion = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
+ for (ShareHotGoods hotGoods : listHot) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ // 璁$畻鎺ㄥ箍绾㈠寘
+ String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date());
+ BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief);
+
+ // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+ if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) {
+ continue;
+ }
+
+ TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(),
+ null);
+ // 鍘绘帀鏍囩
+ extra.setLabels(null);
+
+ // 鏄剧ず绫诲瀷
+ if (isNewUser) {
+ extra.setMoneyType(1);
+ extra.setSpreadMoney("鎺ㄥ箍绾㈠寘 楼" + 1);
+ } else {
+ extra.setMoneyType(2);
+ extra.setSpreadMoney("鎺ㄥ箍绾㈠寘 楼" + spreadMoney);
+ }
+ array.add(gson.toJson(extra));
+ }
+
+ /*
+ * // 杩囨湡 -鍙栨秷鏀跺洖 executor.execute(new Runnable() {
+ *
+ * @Override public void run() {
+ * userTaoLiJinOriginService.overdueHongBao(uid); } });
+ */
+
+ JSONObject data = new JSONObject();
+ data.put("count", array.size());
+ data.put("list", array);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+ *
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "getShareGoodsV2", method = RequestMethod.POST)
+ public void getShareGoodsV2(AcceptData acceptData, Long uid, PrintWriter out) {
+ String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+ List<ShareHotGoods> listHot = shareHotGoodsService.listByDay(day);
+ if (listHot == null) {
+ listHot = new ArrayList<ShareHotGoods>();
+ }
+
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ // 鍙栨秷鏂颁汉鑷喘
+ boolean isNewUser = false;// userInfoExtraService.isNewUser(uid);
+ if (isNewUser) {
+ // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜��
+ long countRecord = userTaoLiJinRecordService.countRecordByUid(uid);
+ if (countRecord > 0) {
+ isNewUser = false;
+ }
+ }
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion());
+
+ for (ShareHotGoods hotGoods : listHot) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ // 璁$畻鎺ㄥ箍绾㈠寘
+ String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date());
+ BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief);
+
+ // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+ if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) {
+ continue;
+ }
+
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+
+ // 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环
+ if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+ if (detailVO.getCouponPrice() != null && detailVO.getCouponPrice().compareTo(new BigDecimal(0)) > 0)
+ detailVO.setCouponPrice(detailVO.getCouponPrice().subtract(spreadMoney));
+ else
+ detailVO.setZkPrice(detailVO.getZkPrice().subtract(spreadMoney));
+ }
+
+ // 鍘绘帀鏍囩
+ detailVO.setLabels(null);
+
+ MoneyInfoVO moneyInfo = detailVO.getMoneyInfo();
+ OtherInfo otherInfo = new OtherInfo();
+ SpreadHongBao spreadHongBao = new SpreadHongBao();
+
+ // 鏄剧ず绫诲瀷
+ if (isNewUser) {
+ moneyInfo.setMoneyType(1);
+ spreadHongBao.setName("鎺ㄥ箍绾㈠寘");
+ spreadHongBao.setMoney(" 楼1");
+ } else {
+ moneyInfo.setMoneyType(2);
+ spreadHongBao.setName("鎺ㄥ箍绾㈠寘");
+ spreadHongBao.setMoney(" 楼" + spreadMoney);
+ }
+ detailVO.setMoneyInfo(moneyInfo);
+ otherInfo.setSpreadHongBao(spreadHongBao);
+ detailVO.setOtherInfo(otherInfo);
+
+ array.add(gson.toJson(detailVO));
+ }
+
+ /*
+ * executor.execute(new Runnable() {
+ *
+ * @Override public void run() { // 杩囨湡
+ * userTaoLiJinOriginService.overdueHongBao(uid); } });
+ */
+
+ JSONObject data = new JSONObject();
+ data.put("count", array.size());
+ data.put("list", array);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+ *
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "getBuyGoods", method = RequestMethod.POST)
+ public void getBuyGoods(AcceptData acceptData, int page, PrintWriter out) {
+
+ String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+ List<TLJBuyGoods> listHot = tljBuyGoodsService.listByDay(day);
+ if (listHot == null) {
+ listHot = new ArrayList<TLJBuyGoods>();
+ }
+
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ BigDecimal proportion = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+ for (TLJBuyGoods hotGoods : listHot) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ // 璁$畻鎺ㄥ箍绾㈠寘
+ BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion);
+
+ // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+ if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) {
+ continue;
+ }
+
+ TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(),
+ null);
+ // 鍘绘帀鏍囩
+ extra.setLabels(null);
+
+ String hongBao = spreadMoney.toString();
+ TLJBuyHongBaoVO vo = new TLJBuyHongBaoVO();
+ vo.setLeft(hotGoods.getLeftHongBaoCount());
+ vo.setMoney(hongBao);
+ vo.setTagName("浠樻绔嬪噺 楼" + hongBao);
+ vo.setTip("");
+ vo.setTotal(hotGoods.getTotalHongBaoCount());
+ extra.setTljBuyHongBao(vo);
+ // 鏄剧ず绫诲瀷
+ extra.setMoneyType(2);
+ extra.setSpreadMoney("浠樻绔嬪噺 楼" + spreadMoney);
+
+ array.add(gson.toJson(extra));
+ }
+
+ if (page > 1)
+ array.clear();
+
+ JSONObject data = new JSONObject();
+ data.put("count", array.size());
+ data.put("list", array);
+ if (page == 1) {
+ List<SwiperPicture> bannerList = swiperPictureService.getByBannerCardAndVersion("zigoulijian_banner",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+
+ if (bannerList != null && bannerList.size() > 0)
+ data.put("topPicture", bannerList.get(0).getSrc());
+ else
+ data.put("topPicture", "");
+
+ data.put("ruleUrl", configService.get(ConfigKeyEnum.zigoulijianRule.getKey()));
+ }
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
+ *
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "getBuyGoodsV2", method = RequestMethod.POST)
+ public void getBuyGoodsV2(AcceptData acceptData, int page, PrintWriter out) {
+
+ String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+ List<TLJBuyGoods> listHot = tljBuyGoodsService.listByDay(day);
+ if (listHot == null) {
+ listHot = new ArrayList<TLJBuyGoods>();
+ }
+
+ JSONArray array = new JSONArray();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ BigDecimal proportion = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(proportion, proportion, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+ for (TLJBuyGoods hotGoods : listHot) {
+ TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+
+ // 璁$畻鎺ㄥ箍绾㈠寘
+ BigDecimal spreadMoney = TaoBaoUtil.getGoodsHongBaoMoney(taoBaoGoodsBrief, proportion);
+
+ // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
+ if (spreadMoney.compareTo(new BigDecimal(1.0)) < 0) {
+ continue;
+ }
+
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
+
+ // 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环
+ if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
+ if (detailVO.getCouponPrice() != null && detailVO.getCouponPrice().compareTo(new BigDecimal(0)) > 0)
+ detailVO.setCouponPrice(detailVO.getCouponPrice().subtract(spreadMoney));
+ else
+ detailVO.setZkPrice(detailVO.getZkPrice().subtract(spreadMoney));
+ }
+
+ // 鍘绘帀鏍囩
+ detailVO.setLabels(null);
+
+ MoneyInfoVO moneyInfo = detailVO.getMoneyInfo();
+ moneyInfo.setMoneyType(2);
+ detailVO.setMoneyInfo(moneyInfo);
+
+ String hongBao = spreadMoney.toString();
+ ReduceHongBao vo = new ReduceHongBao();
+ vo.setLeft(hotGoods.getLeftHongBaoCount());
+ vo.setMoney(" 楼" + hongBao);
+ vo.setName("浠樻绔嬪噺 ");
+ vo.setTip("");
+ vo.setTotal(hotGoods.getTotalHongBaoCount());
+
+ OtherInfo otherInfo = new OtherInfo();
+ otherInfo.setReduceHongBao(vo);
+ detailVO.setOtherInfo(otherInfo);
+
+ array.add(gson.toJson(detailVO));
+ }
+
+ if (page > 1)
+ array.clear();
+
+ JSONObject data = new JSONObject();
+ data.put("count", array.size());
+ data.put("list", array);
+ if (page == 1) {
+ List<SwiperPicture> bannerList = swiperPictureService.getByBannerCardAndVersion("zigoulijian_banner",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+
+ if (bannerList != null && bannerList.size() > 0)
+ data.put("topPicture", bannerList.get(0).getSrc());
+ else
+ data.put("topPicture", "");
+
+ data.put("ruleUrl", configService.get(ConfigKeyEnum.zigoulijianRule.getKey()));
+ }
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 璧犻�佹窐绀奸噾
+ *
+ * @param acceptData
+ * @param uid
+ * @param amount
+ * @param out
+ */
+ @RequestMapping(value = "giveTLJ", method = RequestMethod.POST)
+ public void giveTLJ(AcceptData acceptData, Long uid, BigDecimal amount, PrintWriter out) {
+ out.print(JsonUtil.loadFalseResult(1, "鎶辨瓑锛屾帹骞跨孩鍖呯浉鍏冲姛鑳藉凡涓嬬嚎锛�"));
+ }
+
+
+
+ /**
+ * 鏂颁汉绾㈠寘璇︽儏
+ *
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "getWinDetail", method = RequestMethod.POST)
+ public void getWinDetail(AcceptData acceptData, Long uid, PrintWriter out) {
+ if (uid == null || uid <= 0) {
+ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ try {
+ TaoLiJinWinDetailVO winDetail = userTaoLiJinNewbiesService.receiveReward(uid);
+ if (winDetail == null) {
+ out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜"));
+ return;
+ }
+
+ // 2銆侀《閮ㄨ疆鎾浘
+ List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("redpack_win_detail_banner",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+ List<SwiperPicture> topPicList = new ArrayList<>();
+ if (oldtopPicList != null && oldtopPicList.size() > 0)
+ topPicList.addAll(oldtopPicList);
+
+ JSONObject data = new JSONObject();
+ data.put("detail", JsonUtil.getApiCommonGson().toJson(winDetail));
+ data.put("banner", JsonUtil.getApiCommonGson().toJson(topPicList));
+ out.print(JsonUtil.loadTrueResult(data));
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜鍟�"));
+ }
+ }
+
+
+ /**
+ * 鏂颁汉鍏嶅崟鍒楄〃
+ * @param acceptData
+ * @param uid
+ * @param out
+ */
+ @RequestMapping(value = "gerFreeList")
+ public void gerFreeList(String callback, AcceptData acceptData, int page, Long uid, PrintWriter out) {
+ if (uid == null || uid <= 0) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
+ List<TLJFreeBuyGoods> listFree = tljFreeBuyGoodsService.listByDay(day);
+ if (listFree == null) {
+ listFree = new ArrayList<TLJFreeBuyGoods>();
+ }
JSONArray array = new JSONArray();
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
-
- boolean isNewUser = userInfoExtraService.isNewUser(uid);
-
- BigDecimal proportion = hongBaoManageService.getFanLiRate();
- for (QualityFactory qualityFactory : listFreeGoods) {
- TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
- if (taoBaoGoodsBrief == null) {
+
+ ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+ acceptData.getVersion());
+
+ for (TLJFreeBuyGoods freeGoods : listFree) {
+ TaoBaoGoodsBrief goods = freeGoods.getGoods();
+ if (goods == null)
continue;
- }
- TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
-
- // 鏄剧ず绫诲瀷
- if (isNewUser) {
- extra.setMoneyType(1);
- } else {
- extra.setMoneyType(2);
- }
-
- // 鍘绘帀鏍囩
- extra.setLabels(null);
-
- BigDecimal spreadMoney = goodsTaoLiJinRateService.getGoodsSpreadMoney(taoBaoGoodsBrief);
- // 鎺ㄥ箍绾㈠寘 涓嶈兘灏忎簬1
- if (spreadMoney.compareTo(new BigDecimal(1)) < 0) {
+ // 璁$畻鍒稿悗浠� 1<= n <= 2
+ BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
+ if (couplePrice.compareTo(new BigDecimal(1.0)) < 0 && couplePrice.compareTo(new BigDecimal(2.0)) > 0)
continue;
- }
- extra.setSpreadMoney("鎺ㄥ箍绾㈠寘 楼"+ spreadMoney);
- array.add(gson.toJson(extra));
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+
+ // 涓撳睘鏍囩
+ List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>();
+ labels.add(new ClientTextStyleVO("鏂颁汉涓撳睘", "#FE0014"));
+ labels.add(new ClientTextStyleVO("瀹炰粯0鍏�", "#FF9600"));
+ detailVO.setLabels(labels);
+ array.add(gson.toJson(detailVO));
}
-
- // 杩囨湡
- userTaoLiJinOriginService.overdueHongBao(uid);
-
+
+ if (page > 1)
+ array.clear();
+
JSONObject data = new JSONObject();
- data.put("count", count);
+ data.put("count", array.size());
data.put("list", array);
- out.print(JsonUtil.loadTrueResult(data));
+ if (page == 1) {
+ try {
+ data.put("portrait", userInfoService.getUserInfo(uid).getPortrait());
+ } catch (UserInfoException e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, e.getMsg()));
+ return;
+ }
+
+ String state = "宸茶繃鏈�";
+ BigDecimal balance = new BigDecimal(0);
+ UserTaoLiJinNewbies winDetail = userTaoLiJinNewbiesService.selectByPrimaryKey(uid);
+ if (winDetail != null) {
+ balance = winDetail.getMoney() ;
+ if (winDetail.getEndTime().getTime() > java.lang.System.currentTimeMillis()) {
+ try {
+ String remaining = DateUtil.dateDiff2(new Date(), winDetail.getEndTime());
+ if (!remaining.equals("0鍒�"))
+ state = "鍓�" + remaining + "杩囨湡";
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ String rule = configTaoLiJinService.getValueByKey("new_user_free_buy_list_rule");
+ rule = rule.replace("{閾炬帴}", configService.get(ConfigKeyEnum.customerServiceLink.getKey()));
+
+ data.put("state", state);
+ data.put("balance","鏂颁汉绾㈠寘锛�" + balance.setScale(2) + "鍏�");
+ data.put("rule", rule);
+ }
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
-
}
--
Gitblit v1.8.0