From 7e37f77192fa701e309fa04f821aa5fd5259ca33 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 01 四月 2020 09:28:31 +0800 Subject: [PATCH] 队员列表 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 525 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 462 insertions(+), 63 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 6b572d7..bf188f5 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 @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -13,22 +14,38 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.yeshi.utils.DateUtil; import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.NumberUtil; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.entity.order.ESOrder; +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.exception.order.CommonOrderException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; 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.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.vip.UserVIPInfoService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.vo.order.CommonOrderVO; +import com.yeshi.fanli.vo.order.GoodsRebateVO; import com.yeshi.fanli.vo.order.OrderCountVO; +import com.yeshi.fanli.vo.order.OrderRebateVO; +import com.yeshi.fanli.vo.order.TeamBonusVO; import com.yeshi.fanli.vo.user.UserInfoExtraVO; import com.yeshi.fanli.vo.user.UserSettingsVO; @@ -58,7 +75,19 @@ @Resource private UserCustomSettingsService userCustomSettingsService; + + @Resource + private ESOrderService esOrderService; + @Resource + private OrderTeamRewardService orderTeamRewardService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private InviteOrderSubsidyServiceV2 inviteOrderSubsidyServiceV2; + /** * 璁㈠崟鍒楄〃 * @@ -81,15 +110,25 @@ * 鏃堕棿娈碉細1-鏈�杩戜笁澶� 2-鏈�杩戜竷澶� 3鏈�杩戝崐鏈� 4鏈湀 5杩戜笁鏈� 6杩戝崐骞� * @param dateType * 1-浠婃棩 2-鏄ㄥぉ 3-鏈湀 4-涓婁釜鏈� | - * @param needCount + * @param source + * 椤甸潰鏉ユ簮锛歸elfareCore-绂忓埄涓績銆乥onus -濂栭噾缁熻锛堟垜鐨勭晫闈級 * @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, PrintWriter out) { + 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())) { + searchOrder(acceptData, orderNo, page, uid, out); return; } @@ -113,66 +152,144 @@ Integer orderType = null; if (StringUtil.isNullOrEmpty(type)) { orderType = null; - } else if ("0".equalsIgnoreCase(type)){ + } else if (!"0".equalsIgnoreCase(type)){ orderType = Integer.parseInt(type); - } + } + if (goodsType != null && goodsType == 0) + goodsType = null; + // 绛涢�夋椂闂� if (slotTime != null) { - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); try { - endTime = sd.format(new Date()); - startTime = convertDate(slotTime, endTime); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + + switch (slotTime) { + case 1: // 鏈�杩戜笁澶� + endTime = sd.format(new Date()); + startTime = DateUtil.reduceDay(2, endTime); + break; + case 2: // 鏈�杩戜竷澶� + endTime = sd.format(new Date()); + startTime = DateUtil.reduceDay(6, endTime); + break; + case 3: // 鏈�杩�15澶� 锛堝崐鏈堬級 + endTime = sd.format(new Date()); + startTime = DateUtil.reduceDay(14, endTime); + break; + case 4: // 鏈�杩戜笁鍗佸ぉ 锛堟湰鏈堬級 + dateType = 10; + break; + case 5: // 鏈�杩戜節鍗佸ぉ锛堣繎涓夋湀锛� + dateType = 11; + break; + case 6: // 鏈�杩戜竴鐧惧叓鍗佸ぉ锛堣繎鍗婂勾锛� + dateType = 12; + break; + default: + break; + } } catch (Exception e) { e.printStackTrace(); } } + if (endTime != null && endTime.trim().length() > 0) { endTime += " 23:59:59"; } + List<Integer> listSource = new ArrayList<>(); + if (goodsType != null) { + listSource.add(goodsType); + } + try { // 绛涢�夌粨鏋滈《閮ㄧ粺璁� String validMoney = "0.00"; String invalidMoney = "0.00"; - if (dateType != null) { - BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByDate(uid, dateType, orderType, 1); + if (page == 1) { + BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 1, + orderNo, state, startTime, endTime, listSource); if (predictMoney != null) validMoney = predictMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); - BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByDate(uid, dateType, orderType, 2); + BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 2, + orderNo, state, startTime, endTime, listSource); if (postSaleMoney != null) invalidMoney = postSaleMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); - if (dateType == 4) - dateType = 5; // 鏂扮増鏌ヨ鏈湀鍒拌处 + if (orderType != null && dateType != null && dateType == 4) { + if (orderType == 1) { + dateType = 6; // 杩斿埄璁㈠崟鏈夋晥 + } else { + dateType = 5; // 鏂扮増鏌ヨ鏈湀鍒拌处 + } + } } // 鏌ヨ鍒楄〃 List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, orderType, orderState, - orderNo, startTime, endTime, dateType, goodsType); + orderNo, startTime, endTime, dateType, listSource); // 缁熻鎬绘暟 long count = commonOrderService.countGroupOrderNoByUid(uid, state, orderType, orderState, orderNo, startTime, - endTime, dateType, goodsType); + endTime, dateType, listSource); // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀� 8绉掑唴璇锋眰3娆¤Е鍙� String orderFindUrl = null; if (state ==null && page == 1) { if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4)||count==0L) { - orderFindUrl = configService.get("order_find_notify_url"); + orderFindUrl = configService.get(ConfigKeyEnum.orderFindNotifyUrl.getKey()); } } JSONObject data = new JSONObject(); data.put("count", count); data.put("result_list", JsonUtil.getApiCommonGson().toJson(list)); - data.put("helpUrl", configService.get("order_list_help")); - data.put("validMoney", validMoney); - data.put("invalidMoney", invalidMoney); + data.put("helpUrl", configService.get(ConfigKeyEnum.orderListHelp.getKey())); + data.put("bonusLink", configService.get(ConfigKeyEnum.orderBonusLink.getKey())); + data.put("validMoney", "楼 " + validMoney); + data.put("invalidMoney", "楼 " + invalidMoney); data.put("findOrderHelpUrl", orderFindUrl); out.print(JsonUtil.loadTrueResult(data)); } catch (CommonOrderException e) { out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + LogHelper.errorDetailInfo(e); + } + } + + /** + * 鎼滅储璁㈠崟 + * @param key + * @param out + */ + private void searchOrder(AcceptData acceptData, String key, Integer page, Long uid, PrintWriter out) { + try { + 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); + } + + if (list == null || list.size() == 0) { + List<ESOrder> listES = esOrderService.query(key, uid.toString(), null); + if (listES.size() != 0) { + list = commonOrderService.searchOrderByUid(acceptData, page, Constant.PAGE_SIZE, uid, listES); + count = commonOrderService.countSearchOrderByUid(uid, listES); + } + } 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)); + out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); e.printStackTrace(); @@ -182,48 +299,12 @@ /** - * 鏃堕棿杞崲 - * - * @param slotTime - * @param startTime - * @return - * @throws Exception - */ - private String convertDate(Integer slotTime, String endTime) throws Exception { - String startTime = null; - - switch (slotTime) { - case 1: // 鏈�杩戜笁澶� - startTime = DateUtil.reduceDay(2, endTime); - break; - case 2: // 鏈�杩戜竷澶� - startTime = DateUtil.reduceDay(6, endTime); - break; - case 3: // 鏈�杩�15澶� 锛堝崐鏈堬級 - startTime = DateUtil.reduceDay(14, endTime); - break; - case 4: // 鏈�杩戜笁鍗佸ぉ 锛堟湰鏈堬級 - startTime = DateUtil.reduceDay(29, endTime); - break; - case 5: // 鏈�杩戜節鍗佸ぉ锛堣繎涓夋湀锛� - startTime = DateUtil.reduceDay(3 * 30 - 1, endTime); - break; - case 6: // 鏈�杩戜竴鐧惧叓鍗佸ぉ锛堣繎鍗婂勾锛� - startTime = DateUtil.reduceDay(6 * 30 - 1, endTime); - break; - default: - break; - } - return startTime; - } - - - /** * 鐢ㄦ埛璁㈠崟缁熻 * * @param acceptData * @param uid * 鐢ㄦ埛id + * type 绫诲瀷锛�0鍏ㄩ儴銆�1娣樺疂 2浜笢銆佹嫾澶氬 * @param out */ @RequestMapping(value = "getOrderCount", method = RequestMethod.POST) @@ -249,8 +330,9 @@ JSONObject data = new JSONObject(); data.put("userInfo", userInfo); + List<Integer> listSource = new ArrayList<>(); if (type == null || type == 0) { - OrderCountVO total = commonOrderService.getOrderCount(uid, null, type); + OrderCountVO total = commonOrderService.getOrderCount(uid, null, null); data.put("total", total.getSelf() + total.getShared() + total.getInvite()); data.put("self", total.getSelf()); data.put("shared", total.getShared()); @@ -260,19 +342,21 @@ data.put("self", 0); data.put("shared", 0); data.put("invite", 0); + + listSource.add(type); } // 浠婂ぉ - OrderCountVO today = commonOrderService.getOrderCount(uid, 1, type); + OrderCountVO today = commonOrderService.getOrderCount(uid, 1, listSource); today.setTotal(today.getSelf() + today.getShared() + today.getInvite()); // 鏄ㄥぉ - OrderCountVO yesterday = commonOrderService.getOrderCount(uid, 2, type); + OrderCountVO yesterday = commonOrderService.getOrderCount(uid, 2, listSource); yesterday.setTotal(yesterday.getSelf() + yesterday.getShared() + yesterday.getInvite()); // 鏈湀 - OrderCountVO thisMonth = commonOrderService.getOrderCount(uid, 3, type); + OrderCountVO thisMonth = commonOrderService.getOrderCount(uid, 3, listSource); thisMonth.setTotal(thisMonth.getSelf() + thisMonth.getShared() + thisMonth.getInvite()); // 涓婃湀 - OrderCountVO lastMonth = commonOrderService.getOrderCount(uid, 4, type); + OrderCountVO lastMonth = commonOrderService.getOrderCount(uid, 4, listSource); lastMonth.setTotal(lastMonth.getSelf() + lastMonth.getShared() + lastMonth.getInvite()); data.put("today", today); @@ -319,17 +403,332 @@ show = hongBaoV2CountService.getHongBaoCount(uid, null) > 0; } - BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyByDate(uid, dateType, 1, null); - BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyByDate(uid, dateType, 2, null); - BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyByDate(uid, dateType, 3, null); + 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("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 teamReward = orderTeamRewardService.sumValidMoneyByUidAndDate(uid, dateType, null); + if (teamReward == null) { + teamReward = new BigDecimal(0); + } + + 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"); + } out.print(JsonUtil.loadTrueResult(data)); } + /** + * 鍥㈤槦鏀剁泭缁熻 缁熻宸插埌璐︽湭鍒拌处 锛� 绱鍙粺璁″凡鍒拌处 + * @param acceptData + * @param uid + * @param type 1-鍥㈤槦琛ヨ创 2-鍥㈤槦濂栧姳 3-瀵煎笀娲ヨ创 + */ + @RequestMapping(value = "getTeamBonus", method = RequestMethod.POST) + public void getTeamBonus(AcceptData acceptData, Long uid, Integer type, PrintWriter out) { + if (uid == null) { + 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); + } else { + // 瀵煎笀娲ヨ创 + JSONObject data = new JSONObject(); + data.put("exist", false); + data.put("link", configService.get(ConfigKeyEnum.tutorSubsidyLink.getKey())); + out.print(JsonUtil.loadTrueResult(data)); + } + } + + /** + * 缁熻琛ヨ创 + * @param out + * @param user + */ + private void sumTeamSubsidy(PrintWriter out, UserInfo user) { + 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); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + + data.put("exist", true); + data.put("portrait", user.getPortrait()); + + // 浠婃棩缁熻 + 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); + 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 = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2, InviteOrderSubsidy.LEVEL_ONE); + if (yesterdayDirect == null) { + yesterdayDirect = new BigDecimal(0); + } + 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()); + + + // 鏈湀缁熻 + 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); + 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 = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4, InviteOrderSubsidy.LEVEL_ONE); + if (lastMonthDirect == null) { + lastMonthDirect = new BigDecimal(0); + } + 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()); + + + BigDecimal direct = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid, InviteOrderSubsidy.LEVEL_ONE); + if (direct == null) { + direct = new BigDecimal(0); + } + BigDecimal indirect = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid, InviteOrderSubsidy.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)); + } + + /** + * 缁熻鍥㈤槦濂栧姳 + * @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)); + } + + + /** + * 杩斿埄璇存槑 + * @param acceptData + * @param uid + * @param orderNo + * @param sourceType + * @param out + */ + @RequestMapping(value = "getReBateInfo") + 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; + } + + 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"); + + 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"); + + List<GoodsRebateVO> listGoods= new ArrayList<>(); + listGoods.add(goodsVO); + listGoods.add(goodsVO2); + + 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); + + JSONObject data = new JSONObject(); + data.put("result", orderRebateVO); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + } -- Gitblit v1.8.0