From e265881fa0d83b8767cadf7b1c83c71b80b5bb6d Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 17 十二月 2019 10:39:24 +0800
Subject: [PATCH] 隐藏好店
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 296 +++++++++++++++++++++++++++-------------------------------
1 files changed, 138 insertions(+), 158 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 c3c7d61..b9657ab 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
@@ -15,9 +15,9 @@
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.fasterxml.jackson.core.util.VersionUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
@@ -27,20 +27,18 @@
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.homemodule.SwiperPicture;
-import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord;
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.tlj.UserTaoLiJinNewbies;
import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
-import com.yeshi.fanli.entity.bus.user.UserRank;
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.tlj.UserTaoLiJinRecordException;
+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;
@@ -51,10 +49,11 @@
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.UserTaoLiJinDetailService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
@@ -63,7 +62,6 @@
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;
@@ -74,6 +72,7 @@
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;
@@ -135,9 +134,6 @@
private QualityGoodsService qualityGoodsService;
@Resource
- private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
-
- @Resource
private JumpDetailV2Service jumpDetailV2Service;
@Resource(name = "taskExecutor")
@@ -151,6 +147,13 @@
@Resource
private SwiperPictureService swiperPictureService;
+
+ @Resource
+ private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
+
+ @Resource
+ private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
+
/**
* 鑾峰彇娣樼ぜ閲戝垎浜褰�
@@ -376,146 +379,7 @@
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", null);
- 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", null));
- data.put("title", "鏂颁汉绾㈠寘");
- data.put("content", "鑷喘鐩存帴鎶电幇锛屼紭鎯犵湡瀹炲彲瑙侊紒");
- data.put("type", 1);
- data.put("money", money.setScale(2).toString());
- data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�");
- data.put("jumpName", "鍘讳娇鐢�");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip", null));
- data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link", null));
-
- out.print(JsonUtil.loadTrueResult(data));
- return;
- }
-
- // 鐧诲綍鐢ㄦ埛
- boolean isReceive = false;
- JSONObject data = new JSONObject();
- data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon", null));
-
- 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("jumpName", "鍘讳娇鐢�");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip", null));
- data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link", null));
-
- } else if (type.equals(TaoLiJinOriginEnum.rankWin.name())) {
- boolean isRank = false;
- BigDecimal hasMoney = null;
- UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getRankByThisMonth(uid, type);
- if (userTaoLiJin != null) { // 宸查鍙�
- isRank = true;
- isReceive = true;
- hasMoney = userTaoLiJin.getMoney();
- } else {
- isRank = false;
- UserRank userRank = userInfoExtraService.gerUserRank(uid);
- if (userRank != null) {
- try {
- UserTaoLiJinOrigin origin = userTaoLiJinOriginService.addRankWinMoney(uid, userRank);
- hasMoney = origin.getMoney();
- isRank = true;
- } catch (UserTaoLiJinOriginException e) {
- if (e.getCode() != 2) {
- isRank = false;
- 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("jumpName", "鍘绘煡鐪�");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip", null));
- data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link", null));
- out.print(JsonUtil.loadTrueResult(data));
- return;
- } else {
- data.put("title", "璐︽埛绛夌骇绂忓埄");
- data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒");
- data.put("type", 1);
- data.put("money", hasMoney.setScale(2).toString());
- if (isReceive) {
- data.put("usage", "鏈湀棰嗗彇锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�");
- } else {
- data.put("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�");
- }
- data.put("jumpName", "鍘讳娇鐢�");
- data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
- data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip", null));
- data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link", null));
- }
-
- } else {
- out.print(JsonUtil.loadFalseResult(1, "绫诲瀷涓嶅尮閰�"));
- return;
- }
-
- out.print(JsonUtil.loadTrueResult(data));
- }
+
/**
* 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲�
@@ -626,6 +490,8 @@
BigDecimal fanLiRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
BigDecimal shareRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis());
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
for (ShareHotGoods hotGoods : listHot) {
TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
if (taoBaoGoodsBrief == null) {
@@ -641,7 +507,7 @@
continue;
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
// 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环
if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -783,6 +649,7 @@
.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) {
@@ -797,7 +664,7 @@
continue;
}
- GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, proportion, proportion);
+ GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, paramsDTO);
// 澶т簬1.6.5鐨勬墠浼氭樉绀虹鍒╀环
if (com.yeshi.fanli.util.VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -858,17 +725,130 @@
*/
@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 {
- String tips = userTaoLiJinRecordService.giveTaolijin(uid, amount);
- out.print(JsonUtil.loadTrueResult(tips));
- } catch (UserTaoLiJinRecordException e) {
- out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
+ TaoLiJinWinDetailVO winDetail = userTaoLiJinNewbiesService.receiveReward(uid);
+ if (winDetail == null) {
+ out.print(JsonUtil.loadFalseResult(1, "绾㈠寘宸茶鎶㈠厜"));
+ return;
+ }
+
+ // 2銆侀《閮ㄨ疆鎾浘
+ List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("redpack_win_detail_banner");
+ 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();
+ BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+ ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, fanLiRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+ for (TLJFreeBuyGoods freeGoods : listFree) {
+ TaoBaoGoodsBrief goods = freeGoods.getGoods();
+ if (goods == null)
+ continue;
+
+ // 璁$畻鍒稿悗浠� 1<= n <= 2
+ BigDecimal couplePrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
+ if (couplePrice.compareTo(new BigDecimal(1.0)) < 0 && couplePrice.compareTo(new BigDecimal(2.0)) > 0)
+ continue;
+
+ 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));
+ }
+
+ if (page > 1)
+ array.clear();
+
+ JSONObject data = new JSONObject();
+ data.put("count", array.size());
+ data.put("list", array);
+ 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("customer_service_link"));
+
+ 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