From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 27 八月 2019 12:32:46 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java | 608 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 466 insertions(+), 142 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..2bf7a0c 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,28 +27,32 @@ 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.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.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.TLJBuyGoods; 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.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.homemodule.SwiperPictureService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; 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.taobao.TLJBuyGoodsService; 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; @@ -58,9 +63,18 @@ import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; 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.tlj.ReduceHongBao; +import com.yeshi.fanli.vo.tlj.SpreadHongBao; import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO; import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO; @@ -103,31 +117,39 @@ @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; /** * 鑾峰彇娣樼ぜ閲戝垎浜褰� @@ -148,18 +170,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 +190,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 +212,10 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - - // 杩囨湡 - userTaoLiJinOriginService.overdueHongBao(uid); - + + // 杩囨湡 -鍙栨秷鏀跺洖 + // userTaoLiJinOriginService.overdueHongBao(uid); + // 鎴戠殑娣樼ぜ閲� BigDecimal tlj = null; UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid); @@ -205,29 +224,44 @@ } 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 +271,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 +282,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 +327,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 +355,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,11 +375,10 @@ data.put("data", gson.toJson(list)); out.print(JsonUtil.loadTrueResult(data)); } - - - + /** - * 绾㈠寘棰嗗彇璇︽儏 + * 绾㈠寘棰嗗彇璇︽儏 + * * @param acceptData * @param uid * @param type @@ -343,13 +386,13 @@ */ @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()); @@ -357,7 +400,7 @@ // 宸查鍙� money = deviceRecord.getMoney(); } else { - String value = configTaoLiJinService.getValueByKey("hongbao_newbies"); + String value = configTaoLiJinService.getValueByKey("hongbao_newbies", null); if (StringUtil.isNullOrEmpty(value)) { out.print(JsonUtil.loadFalseResult(1, "绯荤粺绾㈠寘涓嶅瓨鍦�")); return; @@ -365,28 +408,28 @@ money = new BigDecimal(value); deviceTaoLiJinRecordService.save(acceptData.getDevice(), money); } - + JSONObject data = new JSONObject(); - data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon")); + 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("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods")); - data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip")); - data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules")); - + 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("rules", configTaoLiJinService.getValueByKey("taolijin_rules")); - data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon")); - + data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon", null)); + if (type.equals(TaoLiJinOriginEnum.newbiesWin.name())) { BigDecimal hasMoney = null; UserTaoLiJinOrigin userTaoLiJin = userTaoLiJinOriginService.getByUidAndOrigin(uid, type); @@ -401,48 +444,53 @@ 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())) { + 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 { - 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; } } } } - + // 绛夌骇涓嶈冻 if (!isRank) { data.put("title", "璐︽埛绛夌骇绂忓埄"); 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("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 { @@ -450,88 +498,364 @@ 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")); + 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)); } - - - + /** * 鍒嗕韩鐖嗘鍟嗗搧-闄愪簬娣樼ぜ閲� + * * @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; + } + + 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 = userInfoExtraService.isNewUser(uid); + if (isNewUser) { + // 鍒ゅ畾涓鸿�佺敤鎴凤細 鏂颁汉鍙浣跨敤浜嗘柊浜虹孩鍖咃紝涔熷氨鏄偅1鍧楅挶锛岄偅涔堬紝浠栫湅鍒扮殑鍒嗕韩鐖嗘涓殑鍟嗗搧-灏卞彧鑳藉垎浜�� + long countRecord = userTaoLiJinRecordService.countRecordByUid(uid); + if (countRecord > 0) { + isNewUser = false; + } + } + + 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) { + if (uid == null || uid <= 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + 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; + } + } + + BigDecimal fanLiRate = hongBaoManageService.getTLJShareRate(System.currentTimeMillis()); + BigDecimal shareRate = 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; + } + + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate); + // 鍘绘帀鏍囩 + 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.getByBannerCard("zigoulijian_banner"); + + if (bannerList != null && bannerList.size() > 0) + data.put("topPicture", bannerList.get(0).getSrc()); + else + data.put("topPicture", ""); + + data.put("ruleUrl", configService.get("zigoulijian_rule")); + } + 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; + 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, null, proportion, proportion); + // 鍘绘帀鏍囩 + 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.getByBannerCard("zigoulijian_banner"); + + if (bannerList != null && bannerList.size() > 0) + data.put("topPicture", bannerList.get(0).getSrc()); + else + data.put("topPicture", ""); + + data.put("ruleUrl", configService.get("zigoulijian_rule")); + } + 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) { if (uid == null || uid <= 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - if (page == null || page < 1) { - page = 1; + try { + String tips = userTaoLiJinRecordService.giveTaolijin(uid, amount); + out.print(JsonUtil.loadTrueResult(tips)); + } catch (UserTaoLiJinRecordException e) { + out.print(JsonUtil.loadFalseResult(1, e.getMsg())); } - - 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); - - BigDecimal proportion = hongBaoManageService.getFanLiRate(); - for (QualityFactory qualityFactory : listFreeGoods) { - TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief(); - if (taoBaoGoodsBrief == 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) { - continue; - } - - extra.setSpreadMoney("鎺ㄥ箍绾㈠寘 楼"+ spreadMoney); - array.add(gson.toJson(extra)); - } - - // 杩囨湡 - userTaoLiJinOriginService.overdueHongBao(uid); - - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("list", array); - out.print(JsonUtil.loadTrueResult(data)); } - + } -- Gitblit v1.8.0