From 036fc28606e5fcb2203cbc7c4736c99512a522f7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 14 四月 2020 10:52:05 +0800 Subject: [PATCH] 订单统计测试中的相关代码的bug修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 742 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 508 insertions(+), 234 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java index bf188f5..ddc9f07 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java @@ -5,7 +5,9 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -17,23 +19,37 @@ import org.yeshi.utils.NumberUtil; import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord; import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.order.CommonOrderGoods; import com.yeshi.fanli.entity.order.ESOrder; +import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.InviteOrderSubsidy; -import com.yeshi.fanli.entity.order.OrderTeamReward; import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; +import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; +import com.yeshi.fanli.service.inter.order.CommonOrderGoodsService; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.ESOrderService; -import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyServiceV2; -import com.yeshi.fanli.service.inter.order.OrderTeamRewardService; +import com.yeshi.fanli.service.inter.order.HongBaoOrderService; +import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMapService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; +import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.invite.UserInviteService; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -41,8 +57,12 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.account.UserUtil; +import com.yeshi.fanli.util.user.UserLevelUtil; +import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import com.yeshi.fanli.vo.order.CommonOrderVO; +import com.yeshi.fanli.vo.order.CurrentBonusVO; import com.yeshi.fanli.vo.order.GoodsRebateVO; +import com.yeshi.fanli.vo.order.HongBaoCountVO; import com.yeshi.fanli.vo.order.OrderCountVO; import com.yeshi.fanli.vo.order.OrderRebateVO; import com.yeshi.fanli.vo.order.TeamBonusVO; @@ -72,22 +92,46 @@ @Resource private RedisManager redisManager; - + @Resource private UserCustomSettingsService userCustomSettingsService; - + @Resource private ESOrderService esOrderService; @Resource - private OrderTeamRewardService orderTeamRewardService; - - @Resource private UserVIPInfoService userVIPInfoService; + + @Resource + private InviteOrderSubsidyService inviteOrderSubsidyServiceV2; + + @Resource + private HongBaoOrderService hongBaoOrderService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + + @Resource + private CommonOrderGoodsService commonOrderGoodsService; @Resource - private InviteOrderSubsidyServiceV2 inviteOrderSubsidyServiceV2; + private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; + @Resource + private JumpDetailV2Service jumpDetailV2Service; + + @Resource + private UserSystemCouponRecordService userSystemCouponRecordService; + + @Resource + private UserInviteService userInviteService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + + @Resource + private OrderHongBaoMapService orderHongBaoMapService; + /** * 璁㈠崟鍒楄〃 * @@ -115,23 +159,24 @@ * @param out */ @RequestMapping(value = "getOrderList", method = RequestMethod.POST) - public void getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, String type, - Integer orderState, String orderNo, String startTime, String endTime, Integer slotTime, - Integer dateType, Integer goodsType, String source, PrintWriter out) { + public void getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, String type, + Integer orderState, String orderNo, String startTime, String endTime, Integer slotTime, Integer dateType, + Integer goodsType, String source, PrintWriter out) { if (uid == null) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + if (page == null || page < 1) page = 1; - + // 鎼滅储鍐呭銆佽鍗曞彿 - if (!StringUtil.isNullOrEmpty(orderNo) && VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) { + if (!StringUtil.isNullOrEmpty(orderNo) + && VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) { searchOrder(acceptData, orderNo, page, uid, out); return; } - + // 杞崲鐘舵�� if (state != null) { if (state == 0) { @@ -152,18 +197,18 @@ Integer orderType = null; if (StringUtil.isNullOrEmpty(type)) { orderType = null; - } else if (!"0".equalsIgnoreCase(type)){ - orderType = Integer.parseInt(type); - } + } else if (!"0".equalsIgnoreCase(type)) { + orderType = Integer.parseInt(type); + } if (goodsType != null && goodsType == 0) goodsType = null; - + // 绛涢�夋椂闂� if (slotTime != null) { try { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); - + switch (slotTime) { case 1: // 鏈�杩戜笁澶� endTime = sd.format(new Date()); @@ -193,7 +238,7 @@ e.printStackTrace(); } } - + if (endTime != null && endTime.trim().length() > 0) { endTime += " 23:59:59"; } @@ -201,8 +246,8 @@ List<Integer> listSource = new ArrayList<>(); if (goodsType != null) { listSource.add(goodsType); - } - + } + try { // 绛涢�夌粨鏋滈《閮ㄧ粺璁� String validMoney = "0.00"; @@ -210,14 +255,14 @@ if (page == 1) { BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 1, orderNo, state, startTime, endTime, listSource); - if (predictMoney != null) + if (predictMoney != null) validMoney = predictMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); - + BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 2, orderNo, state, startTime, endTime, listSource); - if (postSaleMoney != null) + if (postSaleMoney != null) invalidMoney = postSaleMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); - + if (orderType != null && dateType != null && dateType == 4) { if (orderType == 1) { dateType = 6; // 杩斿埄璁㈠崟鏈夋晥 @@ -226,22 +271,30 @@ } } } - - // 鏌ヨ鍒楄〃 - List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, orderType, orderState, - orderNo, startTime, endTime, dateType, listSource); - // 缁熻鎬绘暟 - long count = commonOrderService.countGroupOrderNoByUid(uid, state, orderType, orderState, orderNo, startTime, - endTime, dateType, listSource); + + + long count = 0L; + List<CommonOrderVO> list = null; + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + list = commonOrderService.getOrderList(acceptData, page, uid, state, orderType, + orderState, orderNo, startTime, endTime, dateType, listSource); + count = commonOrderService.countOrderList(uid, state, orderType, orderState, orderNo, + startTime, endTime, dateType, listSource); + } else { + list = commonOrderService.getOrderByUid(acceptData, page, uid, state, orderType, + orderState, orderNo, startTime, endTime, dateType, listSource); + count = commonOrderService.countGroupOrderNoByUid(uid, state, orderType, orderState, orderNo, + startTime, endTime, dateType, listSource); + } - // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀� 8绉掑唴璇锋眰3娆¤Е鍙� + // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀� 8绉掑唴璇锋眰3娆¤Е鍙� String orderFindUrl = null; - if (state ==null && page == 1) { - if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4)||count==0L) { + if (state == null && page == 1) { + if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4) || count == 0L) { orderFindUrl = configService.get(ConfigKeyEnum.orderFindNotifyUrl.getKey()); } } - + JSONObject data = new JSONObject(); data.put("count", count); data.put("result_list", JsonUtil.getApiCommonGson().toJson(list)); @@ -258,7 +311,7 @@ LogHelper.errorDetailInfo(e); } } - + /** * 鎼滅储璁㈠崟 * @param key @@ -269,9 +322,10 @@ long count = 0; List<CommonOrderVO> list = null; if (NumberUtil.isNumeric(key.replace("-", ""))) { - list = commonOrderService.getOrderByUid(acceptData, page, uid, null, null, null, key, null, null, null, null); - } - + list = commonOrderService.getOrderByUid(acceptData, page, uid, null, null, null, key, null, null, null, + null); + } + if (list == null || list.size() == 0) { List<ESOrder> listES = esOrderService.query(key, uid.toString(), null); if (listES.size() != 0) { @@ -281,11 +335,11 @@ } else { count = list.size(); } - + if (list == null) { list = new ArrayList<>(); } - + JSONObject data = new JSONObject(); data.put("count", count); data.put("result_list", JsonUtil.getApiCommonGson().toJson(list)); @@ -297,7 +351,6 @@ } } - /** * 鐢ㄦ埛璁㈠崟缁熻 * @@ -313,7 +366,7 @@ out.print(JsonUtil.loadFalseResult(1, "璇锋眰鍙傛暟涓嶆纭�")); return; } - + try { UserInfo user = userInfoService.selectByPKey(uid); if (user == null) { @@ -329,7 +382,7 @@ } JSONObject data = new JSONObject(); data.put("userInfo", userInfo); - + List<Integer> listSource = new ArrayList<>(); if (type == null || type == 0) { OrderCountVO total = commonOrderService.getOrderCount(uid, null, null); @@ -342,10 +395,10 @@ data.put("self", 0); data.put("shared", 0); data.put("invite", 0); - + listSource.add(type); } - + // 浠婂ぉ OrderCountVO today = commonOrderService.getOrderCount(uid, 1, listSource); today.setTotal(today.getSelf() + today.getShared() + today.getInvite()); @@ -370,7 +423,6 @@ } } - /** * 缁熻濂栭噾 * @param acceptData @@ -384,55 +436,76 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + boolean show = false; UserSettingsVO settings = null; try { settings = userCustomSettingsService.getMySettings(uid); } catch (Exception e) { } - + // 楠岃瘉鏄惁鏄剧ず妯″潡 - if (settings != null && settings.getNoBonusCount()!= null) { - if(settings.getNoBonusCount() == 1) { + if (settings != null && settings.getNoBonusCount() != null) { + if (settings.getNoBonusCount() == 1) { show = false; - } else if(settings.getNoBonusCount() == 0) { + } else if (settings.getNoBonusCount() == 0) { show = true; } } else { show = hongBaoV2CountService.getHongBaoCount(uid, null) > 0; } - + BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1, null); BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2, null); - BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, null); JSONObject data = new JSONObject(); data.put("show", show); - data.put("selfMoney", selfMoney.setScale(2,BigDecimal.ROUND_DOWN).toString()); + data.put("selfMoney", selfMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); data.put("shareMoney", shareMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); - // 鍥㈤槦濂栧姳 TODO - if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { - BigDecimal teamSubsidy = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, dateType, null); - if (teamSubsidy == null) { - teamSubsidy = new BigDecimal(0); + + BigDecimal teamMoney = new BigDecimal(0); + if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + teamMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, null); + } else { + BigDecimal bonus = null; + BigDecimal subsidy = null; + BigDecimal dividend = null; // TODO 鍒嗙孩缁熻 + if (dateType == 4) { // 宸插埌璐� + dividend = new BigDecimal(0); + bonus = hongBaoV2CountService.geBonusByuid(uid, dateType, 3, 2); + subsidy = inviteOrderSubsidyServiceV2.sumMoneyByUidAndDateAndState(uid,dateType,null,3); + } else { // 鏈け鏁� + bonus = hongBaoV2CountService.geBonusByuid(uid, dateType, 3, 4); + subsidy = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,dateType,null); } - BigDecimal teamReward = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, dateType, null); - if (teamReward == null) { - teamReward = new BigDecimal(0); - } + dividend = new BigDecimal(0); + // 鎬诲洟闃熷鍔� + teamMoney = bonus.add(subsidy).add(dividend); - data.put("teamSubsidy", teamSubsidy.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("teamReward", teamReward.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("tutorSubsidy", "0.00"); + JSONObject paramsFanli = new JSONObject(); + paramsFanli.put("type", "1"); + data.put("paramsFanli", paramsFanli); + data.put("jumpFanli", jumpDetailV2Service.getByTypeCache("fanli_share_statistics", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + + JSONObject paramsShare = new JSONObject(); + paramsShare.put("type", "2"); + data.put("paramsShare", paramsShare); + data.put("jumpShare", jumpDetailV2Service.getByTypeCache("fanli_share_statistics", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); + + JSONObject paramsTeam = new JSONObject(); + paramsTeam.put("type", "3"); + data.put("paramsTeam", paramsTeam); + data.put("jumpTeam", jumpDetailV2Service.getByTypeCache("team_statistics", + Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion()))); } + data.put("inviteMoney", teamMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); out.print(JsonUtil.loadTrueResult(data)); } - /** * 鍥㈤槦鏀剁泭缁熻 缁熻宸插埌璐︽湭鍒拌处 锛� 绱鍙粺璁″凡鍒拌处 * @param acceptData @@ -445,23 +518,23 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + UserInfo user = userInfoService.selectByPKey(uid); if (user == null) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�")); return; } - + if (type == null || type < 1 || type > 3) { type = 1; } - + if (type == 1) { // 琛ヨ创 sumTeamSubsidy(out, user); } else if (type == 2) { // 濂栧姳 - sumTeamReward(out, user); + //TODO 鍥㈤槦濂栧姳宸茬粡鍒犻櫎 } else { // 瀵煎笀娲ヨ创 JSONObject data = new JSONObject(); @@ -480,78 +553,86 @@ Long uid = user.getId(); // 鏄惁VIP boolean vip = userVIPInfoService.isVIP(uid); - + JSONObject data = new JSONObject(); data.put("link", configService.get(ConfigKeyEnum.orderTeamSubsidyLink.getKey())); if (!vip) { - data.put("exist", false); + data.put("exist", false); out.print(JsonUtil.loadTrueResult(data)); return; - } - - data.put("exist", true); + } + + data.put("exist", true); data.put("portrait", user.getPortrait()); - + // 浠婃棩缁熻 - BigDecimal todayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1, InviteOrderSubsidy.LEVEL_ONE); + BigDecimal todayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1, + InviteOrderSubsidy.LEVEL_ONE); if (todayDirect == null) { todayDirect = new BigDecimal(0); } - BigDecimal todayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1, InviteOrderSubsidy.LEVEL_TWO); + BigDecimal todayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1, + InviteOrderSubsidy.LEVEL_TWO); if (todayIndirect == null) { todayIndirect = new BigDecimal(0); } TeamBonusVO today = new TeamBonusVO(); today.setDirect(todayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); today.setIndirect(todayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - today.setTotal(MoneyBigDecimalUtil.add(todayDirect, todayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - + today.setTotal( + MoneyBigDecimalUtil.add(todayDirect, todayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); + // 鏄ㄦ棩缁熻 - BigDecimal yesterdayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2, InviteOrderSubsidy.LEVEL_ONE); + BigDecimal yesterdayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2, + InviteOrderSubsidy.LEVEL_ONE); if (yesterdayDirect == null) { yesterdayDirect = new BigDecimal(0); } - BigDecimal yesterdayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2, InviteOrderSubsidy.LEVEL_TWO); + BigDecimal yesterdayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2, + InviteOrderSubsidy.LEVEL_TWO); if (yesterdayIndirect == null) { yesterdayIndirect = new BigDecimal(0); } TeamBonusVO yesterday = new TeamBonusVO(); yesterday.setDirect(yesterdayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); yesterday.setIndirect(yesterdayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - yesterday.setTotal(MoneyBigDecimalUtil.add(yesterdayDirect, yesterdayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - + yesterday.setTotal(MoneyBigDecimalUtil.add(yesterdayDirect, yesterdayIndirect) + .setScale(2, BigDecimal.ROUND_DOWN).toString()); + // 鏈湀缁熻 - BigDecimal thisMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3, InviteOrderSubsidy.LEVEL_ONE); + BigDecimal thisMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3, + InviteOrderSubsidy.LEVEL_ONE); if (thisMonthDirect == null) { thisMonthDirect = new BigDecimal(0); } - BigDecimal thisMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3, InviteOrderSubsidy.LEVEL_TWO); + BigDecimal thisMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3, + InviteOrderSubsidy.LEVEL_TWO); if (thisMonthIndirect == null) { thisMonthIndirect = new BigDecimal(0); } TeamBonusVO thisMonth = new TeamBonusVO(); thisMonth.setDirect(thisMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); thisMonth.setIndirect(thisMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - thisMonth.setTotal(MoneyBigDecimalUtil.add(thisMonthDirect, thisMonthIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - + thisMonth.setTotal(MoneyBigDecimalUtil.add(thisMonthDirect, thisMonthIndirect) + .setScale(2, BigDecimal.ROUND_DOWN).toString()); + // 鏈湀缁熻 - BigDecimal lastMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4, InviteOrderSubsidy.LEVEL_ONE); + BigDecimal lastMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4, + InviteOrderSubsidy.LEVEL_ONE); if (lastMonthDirect == null) { lastMonthDirect = new BigDecimal(0); } - BigDecimal lastMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4, InviteOrderSubsidy.LEVEL_TWO); + BigDecimal lastMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4, + InviteOrderSubsidy.LEVEL_TWO); if (lastMonthIndirect == null) { lastMonthIndirect = new BigDecimal(0); } TeamBonusVO lastMonth = new TeamBonusVO(); lastMonth.setDirect(lastMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); lastMonth.setIndirect(lastMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - lastMonth.setTotal(MoneyBigDecimalUtil.add(lastMonthDirect, lastMonthIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - + lastMonth.setTotal(MoneyBigDecimalUtil.add(lastMonthDirect, lastMonthIndirect) + .setScale(2, BigDecimal.ROUND_DOWN).toString()); + BigDecimal direct = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid, InviteOrderSubsidy.LEVEL_ONE); if (direct == null) { direct = new BigDecimal(0); @@ -561,7 +642,7 @@ indirect = new BigDecimal(0); } BigDecimal total = MoneyBigDecimalUtil.add(direct, indirect); - + data.put("today", today); data.put("yesterday", yesterday); data.put("thisMonth", thisMonth); @@ -571,109 +652,7 @@ data.put("indirect", indirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); out.print(JsonUtil.loadTrueResult(data)); } - - /** - * 缁熻鍥㈤槦濂栧姳 - * @param out - * @param user - */ - private void sumTeamReward(PrintWriter out, UserInfo user) { - Long uid = user.getId(); - // 鏄惁VIP - boolean vip = userVIPInfoService.isVIP(uid); - - JSONObject data = new JSONObject(); - data.put("link", configService.get(ConfigKeyEnum.orderTeamRewardLink.getKey())); - if (!vip) { - data.put("exist", false); - out.print(JsonUtil.loadTrueResult(data)); - return; - } - - data.put("exist", true); - data.put("portrait", user.getPortrait()); - - - // 浠婃棩缁熻 - BigDecimal todayDirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 1, OrderTeamReward.LEVEL_ONE); - if (todayDirect == null) { - todayDirect = new BigDecimal(0); - } - BigDecimal todayIndirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 1, OrderTeamReward.LEVEL_TWO); - if (todayIndirect == null) { - todayIndirect = new BigDecimal(0); - } - TeamBonusVO today = new TeamBonusVO(); - today.setDirect(todayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - today.setIndirect(todayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - today.setTotal(MoneyBigDecimalUtil.add(todayDirect, todayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - - // 鏄ㄦ棩缁熻 - BigDecimal yesterdayDirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 2, OrderTeamReward.LEVEL_ONE); - if (yesterdayDirect == null) { - yesterdayDirect = new BigDecimal(0); - } - BigDecimal yesterdayIndirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 2, OrderTeamReward.LEVEL_TWO); - if (yesterdayIndirect == null) { - yesterdayIndirect = new BigDecimal(0); - } - TeamBonusVO yesterday = new TeamBonusVO(); - yesterday.setDirect(yesterdayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - yesterday.setIndirect(yesterdayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - yesterday.setTotal(MoneyBigDecimalUtil.add(yesterdayDirect, yesterdayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - - // 鏈湀缁熻 - BigDecimal thisMonthDirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 3, OrderTeamReward.LEVEL_ONE); - if (thisMonthDirect == null) { - thisMonthDirect = new BigDecimal(0); - } - BigDecimal thisMonthIndirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 3, OrderTeamReward.LEVEL_TWO); - if (thisMonthIndirect == null) { - thisMonthIndirect = new BigDecimal(0); - } - TeamBonusVO thisMonth = new TeamBonusVO(); - thisMonth.setDirect(thisMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - thisMonth.setIndirect(thisMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - thisMonth.setTotal(MoneyBigDecimalUtil.add(thisMonthDirect, thisMonthIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - - // 鏈湀缁熻 - BigDecimal lastMonthDirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 4, OrderTeamReward.LEVEL_ONE); - if (lastMonthDirect == null) { - lastMonthDirect = new BigDecimal(0); - } - BigDecimal lastMonthIndirect = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, 4, OrderTeamReward.LEVEL_TWO); - if (lastMonthIndirect == null) { - lastMonthIndirect = new BigDecimal(0); - } - TeamBonusVO lastMonth = new TeamBonusVO(); - lastMonth.setDirect(lastMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - lastMonth.setIndirect(lastMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - lastMonth.setTotal(MoneyBigDecimalUtil.add(lastMonthDirect, lastMonthIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString()); - - - BigDecimal direct = orderTeamRewardService.sumRecievedMoneyByUid(uid, OrderTeamReward.LEVEL_ONE); - if (direct == null) { - direct = new BigDecimal(0); - } - BigDecimal indirect = orderTeamRewardService.sumRecievedMoneyByUid(uid, OrderTeamReward.LEVEL_TWO); - if (indirect == null) { - indirect = new BigDecimal(0); - } - BigDecimal total = MoneyBigDecimalUtil.add(direct, indirect); - - data.put("today", today); - data.put("yesterday", yesterday); - data.put("thisMonth", thisMonth); - data.put("lastMonth", lastMonth); - data.put("total", total.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("direct", direct.setScale(2, BigDecimal.ROUND_DOWN).toString()); - data.put("indirect", indirect.setScale(2, BigDecimal.ROUND_DOWN).toString()); - out.print(JsonUtil.loadTrueResult(data)); - } - + /** * 杩斿埄璇存槑 @@ -684,51 +663,346 @@ * @param out */ @RequestMapping(value = "getReBateInfo") - public void getReBateInfo(String callback, AcceptData acceptData, Long uid, String orderNo, Integer sourceType, PrintWriter out) { + public void getReBateInfo(String callback, AcceptData acceptData, Long uid, String orderNo, Integer sourceType, + PrintWriter out) { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } - + UserInfo user = userInfoService.selectByPKey(uid); if (user == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�")); return; } + + // 绾㈠寘淇℃伅 + List<HongBaoOrder> hoList = hongBaoOrderService.listDetailByOrderIdAndSourceTypeAndUid(orderNo, sourceType, uid); + HongBaoCountVO hongBaoCountVO = hongBaoOrderService.getHongBaoCountVO(hoList); - GoodsRebateVO goodsVO = new GoodsRebateVO(); - goodsVO.setTitle("鑸掑鑸掑厠鍏夋劅鐐櫧鐗欑墖缇庣櫧鐗欓娇鐗欒啘濂楄鍘婚粍鐗欐竻鏂板彛姘�"); - goodsVO.setPicture("https://img.alicdn.com/bao/uploaded/i4/355739614/O1CN01RB6Hlg2KtGMWR4mON_!!0-item_pic.jpg"); - goodsVO.setActualPay("楼60.00"); - goodsVO.setFanliRate("X20%"); - goodsVO.setFanliExpect("楼25.00"); - goodsVO.setCommision("10.00"); - goodsVO.setSubsidy("6.00"); + Integer hongBaoState = hongBaoCountVO.getCurrentState(); + String stateDesc = ""; + String predictDesc = ""; + if (HongBaoV2.STATE_KELINGQU == hongBaoState || HongBaoV2.STATE_BUKELINGQU == hongBaoState) { + stateDesc = "鏈埌璐�"; + predictDesc = "棰勪及"; + } else if (HongBaoV2.STATE_YILINGQU == hongBaoState) { + stateDesc = "宸插埌璐�"; + } else if (HongBaoV2.STATE_SHIXIAO == hongBaoState) { + stateDesc = "宸插け鏁�"; + } - GoodsRebateVO goodsVO2 = new GoodsRebateVO(); - goodsVO2.setTitle("棣ヤ僵缇庣櫧鏌旇偆姘寸埥鑲ゆ按琛ユ按淇濇箍濂冲寲濡嗘箍鏁风簿鍗庢按鐢锋棗鑸板簵瀹樼綉姝e搧"); - goodsVO2.setPicture("https://img.alicdn.com/bao/uploaded/i4/738252756/O1CN01MgFdXy1WEI8zmkyg7_!!0-item_pic.jpg"); - goodsVO2.setActualPay("楼62.00"); - goodsVO2.setFanliRate("X22%"); - goodsVO2.setFanliExpect("楼26.00"); - goodsVO2.setCommision("12.00"); - goodsVO2.setSubsidy("8.00"); + int type = 0; + String typeName = ""; + int hongBaoType = hoList.get(0).getHongBaoV2().getType(); + if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) { + type = 1; + typeName = "杩斿埄"; + } else if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType) { + type = 2; + typeName = "濂栭噾"; + } else if (HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType + || HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType + || HongBaoV2.TYPE_ERJI == hongBaoType) { + type = 3; + typeName = "鏀剁泭"; + } - List<GoodsRebateVO> listGoods= new ArrayList<>(); - listGoods.add(goodsVO); - listGoods.add(goodsVO2); + List<Long> goodsIdList = new ArrayList<>(); + if (hoList != null) + for (HongBaoOrder hongBaoOrder : hoList) { + if (hongBaoOrder.getCommonOrder() != null) + goodsIdList.add(hongBaoOrder.getCommonOrder().getCommonOrderGoods().getId()); + } + + Map<Long, CommonOrderGoods> orderGoodsMap = new HashMap<>(); + List<CommonOrderGoods> goodsList = commonOrderGoodsService.listByByPrimaryKeys(goodsIdList); + if (goodsList != null) + for (CommonOrderGoods goods : goodsList) + orderGoodsMap.put(goods.getId(), goods); + OrderRebateVO orderRebateVO = new OrderRebateVO(); - orderRebateVO.setTotalFanLi("楼50.00"); - orderRebateVO.setUpperFanLi("楼60.00"); - orderRebateVO.setUserLevel(UserLevelEnum.daRen.name()); - orderRebateVO.setJumpLink("https://www.baidu.com/"); - orderRebateVO.setListGoods(listGoods); + // 绾㈠寘淇℃伅 + BigDecimal hongBao = hongBaoCountVO.getValidMoney(); + if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { + List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderNo); + if (listWQ != null && listWQ.size() > 0) { + BigDecimal weiQuanMoney = commonOrderService.getWeiQuanMoney(listWQ, sourceType, uid); + + orderRebateVO.setWq(true); + orderRebateVO.setWqMoney("楼"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN)); + if (hongBao.compareTo(weiQuanMoney) > 0) { + orderRebateVO.setWqDesc("閮ㄥ垎鍞悗閫�鍥�"); + } else { + orderRebateVO.setWqDesc("鍞悗閫�鍥�"); + } + // 璁$畻鍓╀綑绾㈠寘 + hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); + } + } + orderRebateVO.setFanLiDesc(predictDesc + typeName); + orderRebateVO.setFanLi("楼" + hongBao.setScale(2)); + + HongBaoV2 hongBaoV2 = hoList.get(0).getHongBaoV2(); + UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(hongBaoV2.getUrank()); + if (userLevel == null) + userLevel = UserLevelEnum.daRen; + UserLevelEnum upperLevel = UserLevelEnum.superVIP; + + BigDecimal upperTotalMoney = new BigDecimal(0); + List<GoodsRebateVO> voList = new ArrayList<>(); + for (HongBaoOrder hongBaoOrder : hoList) { + if (hongBaoOrder.getHongBaoV2().getState() == HongBaoV2.STATE_SHIXIAO) + hongBaoOrder.getHongBaoV2().setMoney(new BigDecimal(0)); + + GoodsRebateVO goodsVO = new GoodsRebateVO(); + + // 鏍囬銆佸浘鐗� + CommonOrder commonOrder = hongBaoOrder.getCommonOrder(); + if (orderGoodsMap.get(commonOrder.getCommonOrderGoods().getId()) != null) { + goodsVO.setTitle(orderGoodsMap.get(commonOrder.getCommonOrderGoods().getId()).getTitle()); + goodsVO.setPicture(orderGoodsMap.get(commonOrder.getCommonOrderGoods().getId()).getPicture()); + } + + // 瀹炰粯娆� + BigDecimal payment = hongBaoOrder.getCommonOrder().getPayment(); + if (hongBaoOrder.getCommonOrder().getSettlement() != null) + payment = hongBaoOrder.getCommonOrder().getSettlement(); + if (payment == null) + payment = new BigDecimal(0); + goodsVO.setActualPay("楼" + payment.setScale(2)); + + BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder); + if (type == 3) { // 濂栭噾 + goodsVO.setBonus("楼" + hongBaoOrder.getHongBaoV2().getMoney() +""); + } else { // 浣i噾 + goodsVO.setCommision("楼" +commission); + } + + // 骞冲彴琛ヨ创 + BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney(); + goodsVO.setSubsidy("楼" + vipFanli.subtract(commission).setScale(2)); + // 杈句汉琛ヨ创 + if (userLevel != UserLevelEnum.daRen) { + BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen); + goodsVO.setOriginSubsidy("楼" + darenFanli.subtract(commission).setScale(2) + ""); + } + + voList.add(goodsVO); + + upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel)); + } + + // 鍥㈤槦琛ヨ创 + if (type == 3) { + BigDecimal teamSubsidy = null; + BigDecimal lowerSubsidy = null; + InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType); + if (inviteOrderSubsidy != null) { + teamSubsidy = inviteOrderSubsidy.getMoney(); + if (userLevel != UserLevelEnum.daRen) { + CommonOrder commonOrder = hoList.get(0).getCommonOrder(); + Integer urank = commonOrder.getUrank(); + UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank); + boolean direct = false; + if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) { + direct = true; + } + // 璁$畻涓婁竴绾цˉ璐� + lowerSubsidy = getLowerSubsidy(inviteOrderSubsidy.getMoney(), commonOrder.getThirdCreateTime(), buyerUserLevel, userLevel, direct); + } + } else { + teamSubsidy = BigDecimal.valueOf(0.00); + lowerSubsidy = BigDecimal.valueOf(0.00); + } + + if (userLevel != UserLevelEnum.daRen) { + orderRebateVO.setOriginSubsidy("楼" + lowerSubsidy.setScale(2)); + } + orderRebateVO.setSubsidyDesc("鍥㈤槦琛ヨ创"); + orderRebateVO.setSubsidy("楼" + teamSubsidy.setScale(2) +""); + } + + orderRebateVO.setType(type); + orderRebateVO.setStateDesc(stateDesc); + orderRebateVO.setListGoods(voList); + orderRebateVO.setUserLevel(userLevel.name()); + + // 涓婄骇杩斿埄 + if (upperLevel != null) { + orderRebateVO.setUpperFanLi("楼" + upperTotalMoney); + orderRebateVO.setJumpLink(upperLevel.getDetailLink()); + } + + int freeState = 0; + boolean rewardSuccess = false; + List<String> listNo = new ArrayList<String>(); + listNo.add(orderNo); + List<UserSystemCouponRecord> useRecord = userSystemCouponRecordService.getRecordByOrderNoList(sourceType, listNo); + if (useRecord != null && useRecord.size() > 0) { + for (UserSystemCouponRecord couponRecord : useRecord) { + Integer state = couponRecord.getState(); + String cType = couponRecord.getCouponType(); + if (CouponTypeEnum.rebatePercentCoupon.name().equals(cType) && UserSystemCouponRecord.STATE_SUCCESS == state) { + rewardSuccess = true; + break; + } else if (CouponTypeEnum.freeCoupon.name().equals(cType) || CouponTypeEnum.welfareFreeCoupon.name().equals(cType) + || CouponTypeEnum.freeCouponBuy.name().equals(cType)) { + freeState = state; + break; + } + + } + } + + if (rewardSuccess) { // 宸蹭娇鐢ㄥ鍔卞埜 + JSONObject params = new JSONObject(); + params.put("orderNo", orderNo); + params.put("goodsType", sourceType + ""); + BigDecimal couponMoney = orderHongBaoMapService.getCouponHongbaoByOrderNo(orderNo, uid); + if (couponMoney == null) { + couponMoney = new BigDecimal(0); + } + orderRebateVO.setCouponType(1); + orderRebateVO.setCouponUse(true); + orderRebateVO.setCouponText("濂栧姳鎴愬姛"); + orderRebateVO.setCouponDesc("宸插啀杩斅�" +couponMoney.setScale(2)); + orderRebateVO.setCouponParams(params.toString()); + orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("rewardCouponDetail")); + } else if (freeState > 0) { // 宸蹭娇鐢ㄥ厤鍗曞埜 + JSONObject params = new JSONObject(); + params.put("orderNo", orderNo); + params.put("goodsType", sourceType + ""); + orderRebateVO.setCouponType(2); + orderRebateVO.setCouponUse(true); + orderRebateVO.setCouponParams(params.toString()); + orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("freeCouponDetail")); + if (UserSystemCouponRecord.STATE_FREE_ON == freeState) { + orderRebateVO.setCouponText("鍏嶅崟涓�"); + } else if (UserSystemCouponRecord.STATE_SUCCESS == freeState) { + orderRebateVO.setCouponText("鍏嶅崟鎴愬姛"); + } else if (UserSystemCouponRecord.STATE_FAIL_RULE == freeState + || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == freeState) { + orderRebateVO.setCouponText("鍏嶅崟澶辫触"); + } + } else { + Date accountTime = hongBaoV2.getGetTime(); + if (accountTime != null) { + boolean vip = userInviteService.verifyVIP(uid); + Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime); + long currentTime = java.lang.System.currentTimeMillis(); + if (endDay.getTime() > currentTime && !vip) { + UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null); + if (couponRecord == null + || (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) { + orderRebateVO.setCoupon(true); + orderRebateVO.setCouponType(1); + orderRebateVO.setCouponText("绔嬪嵆浣跨敤"); + orderRebateVO.setCouponDesc("杩斿埄鍐嶈繑"); + } + } + } + } JSONObject data = new JSONObject(); data.put("result", orderRebateVO); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } - + + private BigDecimal getLowerSubsidy(BigDecimal money, Date downTime, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, boolean direct) { + // 鍘熷姣斾緥 + BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, + buyerUserLevel, userLevel, direct); + + // 灏忎竴绾ф瘮渚� + BigDecimal darenRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, buyerUserLevel, UserLevelEnum.daRen, direct); + + return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.div(money,originRate), darenRate); + } + + + /** + * 鏁版嵁缁熻 + * @param acceptData + * @param uid + * @param type 1鑷喘 2鍒嗕韩 3鍥㈤槦 + * @param out + */ + @RequestMapping(value = "getCurrentBonus", method = RequestMethod.POST) + public void getCurrentBonus(AcceptData acceptData, Long uid, Integer type, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + JSONObject data = new JSONObject(); + if (type == 1 || type == 2) { + CurrentBonusVO bonus = new CurrentBonusVO(); + bonus.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + + CurrentBonusVO bonusNot = new CurrentBonusVO(); + bonusNot.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonusNot.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonusNot.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonusNot.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString()); + + + data.put("bonus",bonus); + data.put("bonusNot",bonusNot); + data.put("total", hongBaoV2CountService.geBonusByuid(uid, null, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("totalNot", hongBaoV2CountService.geBonusByuid(uid, null, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString()); + } else { + CurrentBonusVO bonus = new CurrentBonusVO(); + bonus.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString()); + bonus.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString()); + + + CurrentBonusVO subsidy = new CurrentBonusVO(); + subsidy.setToday(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,1,null).setScale(2, BigDecimal.ROUND_DOWN).toString()); + subsidy.setYesterday(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,2,null).setScale(2, BigDecimal.ROUND_DOWN).toString()); + subsidy.setThisMonth(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,3,null).setScale(2, BigDecimal.ROUND_DOWN).toString()); + subsidy.setLastMonth(inviteOrderSubsidyServiceV2.sumMoneyByUidAndDateAndState(uid,4,null,3).setScale(2, BigDecimal.ROUND_DOWN).toString()); + + // TODO 鍒嗙孩缁熻 + CurrentBonusVO dividend = new CurrentBonusVO(); + dividend.setThisMonth("0.00"); + dividend.setLastMonth("0.00"); + + BigDecimal totalBonus = hongBaoV2CountService.geBonusByuid(uid, null, type, 2); + BigDecimal totalubsidy = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid,null); + BigDecimal totalDividend = new BigDecimal(0); + + BigDecimal total = totalDividend.add(totalBonus).add(totalubsidy); + + + data.put("bonus",bonus); + data.put("subsidy",subsidy); + data.put("dividend",dividend); + data.put("subsidy",subsidy); + data.put("total", total.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("totalBonus", totalBonus.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("totalubsidy", totalubsidy.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("totalDividend", totalDividend.setScale(2, BigDecimal.ROUND_DOWN).toString()); + } + + String key = null; + if (type == 1) { + key = ConfigKeyEnum.bonusCountLinkFanli.getKey(); + } else if (type == 2) { + key = ConfigKeyEnum.bonusCountLinkShare.getKey(); + } else { + key = ConfigKeyEnum.bonusCountLinkTeam.getKey(); + } + + data.put("link",configService.get(key)); + out.print(JsonUtil.loadTrueResult(data)); + } + } -- Gitblit v1.8.0