From 207dc8655711cddac2653e18b51e58a88dba2084 Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期五, 06 三月 2020 18:14:36 +0800 Subject: [PATCH] 发圈处理 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 97 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 83 insertions(+), 14 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 18a1faf..54c039d 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,19 +14,25 @@ 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.order.ESOrder; +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.user.UserCustomSettingsService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.Constant; 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.OrderCountVO; @@ -58,7 +65,13 @@ @Resource private UserCustomSettingsService userCustomSettingsService; + + @Resource + private ESOrderService esOrderService; + + + /** * 璁㈠崟鍒楄〃 * @@ -91,6 +104,15 @@ 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; } @@ -160,18 +182,23 @@ 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 (page == 1) { BigDecimal predictMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 1, - orderNo, state, goodsType, startTime, endTime); + orderNo, state, startTime, endTime, listSource); if (predictMoney != null) validMoney = predictMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); BigDecimal postSaleMoney = hongBaoV2CountService.getRewardMoneyByToSearch(uid, dateType, orderType, 2, - orderNo, state, goodsType, startTime, endTime); + orderNo, state, startTime, endTime, listSource); if (postSaleMoney != null) invalidMoney = postSaleMoney.setScale(2, BigDecimal.ROUND_DOWN).toString(); @@ -186,23 +213,23 @@ // 鏌ヨ鍒楄〃 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("helpUrl", configService.get(ConfigKeyEnum.orderListHelp.getKey())); data.put("validMoney", "楼 " + validMoney); data.put("invalidMoney", "楼 " + invalidMoney); data.put("findOrderHelpUrl", orderFindUrl); @@ -214,6 +241,44 @@ 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(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(); + LogHelper.errorDetailInfo(e); + } + } /** @@ -222,6 +287,7 @@ * @param acceptData * @param uid * 鐢ㄦ埛id + * type 绫诲瀷锛�0鍏ㄩ儴銆�1娣樺疂 2浜笢銆佹嫾澶氬 * @param out */ @RequestMapping(value = "getOrderCount", method = RequestMethod.POST) @@ -247,8 +313,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()); @@ -258,19 +325,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); @@ -317,9 +386,9 @@ show = hongBaoV2CountService.getHongBaoCount(uid, null) > 0; } - BigDecimal selfMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 1); - BigDecimal shareMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 2); - BigDecimal inviteMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3); + 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); -- Gitblit v1.8.0