From ab9e60fa9a8e43d797446730a5dc9ebfb6b3f4e6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 27 六月 2019 09:48:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 128 +++++++++++++++++++++++++++--------------- 1 files changed, 81 insertions(+), 47 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..633a56b 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,6 +11,7 @@ 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; @@ -26,14 +27,13 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; 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.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.user.UserMoneyExtra; import com.yeshi.fanli.entity.bus.user.UserRank; +import com.yeshi.fanli.entity.taobao.ShareHotGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra; import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException; @@ -45,9 +45,9 @@ import com.yeshi.fanli.service.inter.lable.QualityGoodsService; import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service; import com.yeshi.fanli.service.inter.monitor.MonitorService; +import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; 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; @@ -60,6 +60,7 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoLiJinUtil; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO; import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO; @@ -120,15 +121,18 @@ 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; + + /** * 鑾峰彇娣樼ぜ閲戝垎浜褰� * @@ -323,7 +327,21 @@ 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(); @@ -372,10 +390,11 @@ 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("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); + data.put("jumpName", "鍘讳娇鐢�"); + data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules")); + data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link")); out.print(JsonUtil.loadTrueResult(data)); return; @@ -384,7 +403,6 @@ // 鐧诲綍鐢ㄦ埛 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())) { @@ -406,9 +424,11 @@ 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("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); + data.put("jumpName", "鍘讳娇鐢�"); + data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip")); + data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link")); } else if(type.equals(TaoLiJinOriginEnum.rankWin.name())) { boolean isRank = false; @@ -422,11 +442,12 @@ UserRank userRank = userInfoExtraService.gerUserRank(uid); if (userRank != null) { try { - isRank = true; 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; } @@ -440,9 +461,10 @@ data.put("content", "鎺ㄥ箍绾㈠寘锛屽ソ鍙嬬鍒╋紒"); data.put("type", 2); data.put("money", "鏈湀璐︽埛绛夌骇鏈揪鍒癨r\n缁х画鍔犳补"); - data.put("usage", "鍘烩�滄垜鐨�-璐︽埛绛夌骇鈥濇煡鐪� >"); + data.put("jumpName", "鍘绘煡鐪�"); data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank")); data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip")); + data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link")); out.print(JsonUtil.loadTrueResult(data)); return; } else { @@ -450,9 +472,11 @@ 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("usage", "棰嗗彇鎴愬姛锛屽凡瀛樺叆鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥�"); + data.put("jumpName", "鍘讳娇鐢�"); + data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot")); data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip")); + data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link")); } } else { @@ -472,64 +496,74 @@ * @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>(); - } - long count = listFreeGoods.size(); 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; + } + } + BigDecimal proportion = hongBaoManageService.getFanLiRate(); - for (QualityFactory qualityFactory : listFreeGoods) { - TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); + for (ShareHotGoods hotGoods : listHot) { + TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods(); if (taoBaoGoodsBrief == null) { continue; } - TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null); + // 璁$畻鎺ㄥ箍绾㈠寘 + String warningRate = configTaoLiJinService.getValueByKey("warning_value"); + BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief); - // 鏄剧ず绫诲瀷 - 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) { + if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) { continue; } - extra.setSpreadMoney("鎺ㄥ箍绾㈠寘 楼"+ spreadMoney); + 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)); } - // 杩囨湡 - userTaoLiJinOriginService.overdueHongBao(uid); - + executor.execute(new Runnable() { + @Override + public void run() { + // 杩囨湡 + userTaoLiJinOriginService.overdueHongBao(uid); + } + }); + JSONObject data = new JSONObject(); - data.put("count", count); + data.put("count", array.size()); data.put("list", array); out.print(JsonUtil.loadTrueResult(data)); } -- Gitblit v1.8.0