From 92c681fabac989d1a9f16fa13202d7f5ccac52d9 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 14 一月 2019 10:22:22 +0800 Subject: [PATCH] 订单优化 + 后台提现曲线图 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java | 237 ++++++++++++++++++++++++++-------------------------------- 1 files changed, 106 insertions(+), 131 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java index 002715f..4be4283 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java @@ -21,6 +21,7 @@ import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.exception.order.CommonOrderException; 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.user.UserInfoService; import com.yeshi.fanli.util.account.UserUtil; @@ -38,24 +39,30 @@ @Resource private CommonOrderService commonOrderService; + + @Resource + private HongBaoV2CountService hongBaoV2CountService; /** * 璁㈠崟鍒楄〃 * @param acceptData * @param page * @param uid - * @param state 鐘舵�侊細1-鏈埌璐� 3-宸插埌璐� 4-宸插け鏁� + * @param state 鐘舵�侊細1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� * @param type 绫诲瀷锛�1-杩斿埄璁㈠崟 2-鍒嗕韩璁㈠崟 3-閭�璇疯鍗� - * @param orderNo 璁㈠崟鍙� + * @param orderState 1鏈夋晥璁㈠崟 2 缁存潈璁㈠崟 3澶辨晥璁㈠崟 + * @param orderNo 璁㈠崟鍙� * @param startTime 璧峰鏃堕棿 * @param endTime 缁撴潫鏃堕棿 * @param slotTime 鏃堕棿娈碉細1-鏈�杩戜笁澶� 2-鏈�杩戜竷澶� 3鏈�杩戝崐鏈� 4鏈湀 5杩戜笁鏈� 6杩戝崐骞� + * @param dateType 1-浠婃棩 2-鏄ㄥぉ 3-鏈湀 4-涓婁釜鏈� | * @param needCount * @param out */ @RequestMapping(value = "getorder", method = RequestMethod.POST) - public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, String orderNo, - String startTime, String endTime, Integer slotTime, boolean needCount, PrintWriter out) { + public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, + Integer orderState,String orderNo, String startTime, String endTime, Integer slotTime, + boolean needCount, Integer dateType, PrintWriter out) { if (uid == null) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); @@ -66,41 +73,58 @@ page = 1; } - if (state !=null && state == 0) { - state = null; + if (state != null && state == 0) { + state = null;// 鎵�鏈夌姸鎬� } if (type != null && type == 0 ) { - type = null; // 鏌ヨ鎵�鏈夌被鍨嬭鍗� + type = null; // 鎵�鏈夌被鍨嬭鍗� } try { if (slotTime != null) { - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - startTime = sd.format(new Date()); - endTime = convertDate(slotTime, startTime); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + endTime= sd.format(new Date()); + startTime = convertDate(slotTime, endTime); } } catch (Exception e) { e.printStackTrace(); } + if (endTime != null && endTime.trim().length() > 0) { + endTime += " 23:59:59"; + } + try { long count = 0; - List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderNo, - startTime, endTime); - - if (list != null && list.size() > 0) { - count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderNo, startTime, endTime); - } - int totalValid = 0; int totalProces = 0; int totalInvite = 0; long todayTotal = 0; BigDecimal todayMoney = null; - // 闇�瑕佺粺璁′俊鎭� + + + // 鏌ヨ鍒楄〃 + List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderState, + orderNo, startTime, endTime, dateType); + + if (list != null && list.size() > 0) { + // 缁熻鎬绘暟 + count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, + startTime, endTime, dateType); + } + + // 闇�瑕佺粺璁$瓫閫変俊鎭� 锛氭湭澶辨晥鐨勬�婚噾棰� 浠ュ強璁㈠崟 if (needCount && page == 1) { - Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, startTime, endTime); + + todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime); + + todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime); + + + // 缁熻鏈夋晥鐨勮鍗曟暟閲� 銆� 澶辨晥璁㈠崟鏁伴噺 銆佺淮鏉冭鍗曟暟閲� + Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, + startTime, endTime, dateType); if (countOrder.get("totalValid") != null) { totalValid = countOrder.get("totalValid").intValue(); @@ -113,14 +137,12 @@ if (countOrder.get("totalInvite") != null) { totalInvite = countOrder.get("totalInvite").intValue(); } - - todayTotal = commonOrderService.countOrder(uid, type, 1); - todayMoney = commonOrderService.countOrderMoney(uid, type , 1); } - + if (todayMoney == null) { - todayMoney = new BigDecimal(0); + todayMoney = new BigDecimal(0.00); } + String helpUrl = configService.get("order_list_help"); @@ -130,8 +152,15 @@ data.put("helpUrl", helpUrl); - data.put("todayTotal", todayTotal); - data.put("todayMoney", todayMoney); + if (type != null && type == 1) { + data.put("todayMoney", "棰勪及杩斿埄鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + } else if (type != null &&(type == 2 || type == 3)) { + data.put("todayMoney", "棰勪及濂栭噾鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + } else { + data.put("todayMoney", "棰勪及鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + } + + data.put("todayTotal", "鍏�"+ todayTotal+ "绗�"); data.put("totalValid", totalValid); // 鏈夋晥鏁伴噺 data.put("totalProces", totalProces); // 缁存潈鏁伴噺 data.put("totalInvite", totalInvite); // 澶辨晥鏁伴噺 @@ -174,7 +203,7 @@ data.put("userInfo", userInfo); /* 鎬昏鍗曠粺璁� */ - Map<String, BigDecimal> countOrder= commonOrderService.countOrderByHongBaoType(uid, null); + Map<String, BigDecimal> countOrder= commonOrderService.countHistoryOrder(uid, null); int self = 0; if (countOrder.get("totalSelf") != null) { self = countOrder.get("totalSelf").intValue(); @@ -198,7 +227,7 @@ data.put("invite", invite); /* 浠婃棩璁㈠崟缁熻 */ - Map<String, BigDecimal> countToday= commonOrderService.countOrderByHongBaoType(uid, 1); + Map<String, BigDecimal> countToday= commonOrderService.countHistoryOrder(uid, 1); int todaySelf = 0; if (countToday.get("totalSelf") != null) { @@ -226,7 +255,7 @@ data.put("today", todaydata); /* 鏄ㄦ棩璁㈠崟缁熻 */ - Map<String, BigDecimal> countYesterday= commonOrderService.countOrderByHongBaoType(uid, 2); + Map<String, BigDecimal> countYesterday= commonOrderService.countHistoryOrder(uid, 2); int yesterdaySelf = 0; if (countYesterday.get("totalSelf") != null) { yesterdaySelf = countYesterday.get("totalSelf").intValue(); @@ -274,108 +303,54 @@ try { - JSONObject data = new JSONObject(); - // 鍒嗕韩缁熻 - data.put("shareCount", commonOrderService.countOrder(uid, 2, dateType)); - data.put("sharemoney", commonOrderService.countOrderMoney(uid,2, dateType)); - // 閭�璇风粺璁� - data.put("inviteCount", commonOrderService.countOrder(uid, 3, dateType)); - data.put("inviteMoney", commonOrderService.countOrderMoney(uid,3, dateType)); + Object shareCount = 0; + BigDecimal sharemoney = new BigDecimal(0.00); + Object inviteCount = 0; + BigDecimal inviteMoney = new BigDecimal(0.00); + Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2 , dateType, null, null); + if (shareMap != null) { + Object totalNum = shareMap.get("totalNum"); + if (totalNum != null) { + shareCount = totalNum; + } + + Object totalmoney = shareMap.get("totalmoney"); + if (totalmoney != null) { + sharemoney = (BigDecimal) totalmoney; + } + } + + // 閭�璇风粺璁� + Map<String, Object> inviteMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 3 , dateType, null, null); + if (inviteMap != null) { + Object totalNum = inviteMap.get("totalNum"); + if (totalNum != null) { + inviteCount = totalNum; + } + + Object totalmoney = inviteMap.get("totalmoney"); + if (totalmoney != null) { + inviteMoney = (BigDecimal) totalmoney; + } + } + + + JSONObject data = new JSONObject(); + data.put("shareCount", shareCount); + data.put("sharemoney", sharemoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + data.put("inviteCount", inviteCount); + data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + + data.put("showTiCheng", hongBaoV2CountService.getTotalTiChengCount(uid) > 0); out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult(1, "鑾峰彇淇℃伅澶辫触")); e.printStackTrace(); } - } - /** - * 濂栭噾璁㈠崟 - * @param acceptData - * @param page - * @param uid - * @param dateType 1-浠婃棩 2-鏄ㄥぉ 3-鏈湀 4-涓婁釜鏈� | - * @param type 璁㈠崟绫诲瀷锛�1-杩斿埄璁㈠崟 2-鍒嗕韩璁㈠崟 3-閭�璇疯鍗� - * @param out - */ - @RequestMapping(value = "getbonusorder", method = RequestMethod.POST) - public void getBonusOrder(AcceptData acceptData, Integer page, Long uid, Integer dateType, - Integer type, PrintWriter out) { - - if (uid == null) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (type == null || dateType == null ) { - out.print(JsonUtil.loadFalseResult(1, "浼犻�掑弬鏁扮己澶�")); - return; - } - - if (page == null || page < 1) { - page = 1; - } - - try { - long count = 0; - List<CommonOrderVO> list = commonOrderService.listBonusOrder(page, uid, type, dateType); - - if (list != null && list.size() > 0) { - count = commonOrderService.countOrder(uid, type, dateType); - } - - int totalValid = 0; - int totalProces = 0; - int totalInvite = 0; - long todayTotal = 0; - BigDecimal todayMoney = null; - // 闇�瑕佺粺璁′俊鎭� - if (page == 1) { - Map<String, BigDecimal> countOrder = commonOrderService.countBonusOrderByState(uid, type, dateType); - - if (countOrder.get("totalValid") != null) { - totalValid = countOrder.get("totalValid").intValue(); - } - - if (countOrder.get("totalProces") != null) { - totalProces = countOrder.get("totalProces").intValue(); - } - - if (countOrder.get("totalInvite") != null) { - totalInvite = countOrder.get("totalInvite").intValue(); - } - - todayTotal = commonOrderService.countOrder(uid, type, 1); - todayMoney = commonOrderService.countOrderMoney(uid, type , 1); - } - - if (todayMoney == null) { - todayMoney = new BigDecimal(0); - } - - - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("result_list", JsonUtil.getApiCommonGson().toJson(list)); - - data.put("todayTotal", todayTotal); - data.put("todayMoney", todayMoney); - data.put("totalValid", totalValid); // 鏈夋晥鏁伴噺 - data.put("totalProces", totalProces); // 缁存潈鏁伴噺 - data.put("totalInvite", totalInvite); // 澶辨晥鏁伴噺 - - out.print(JsonUtil.loadTrueResult(data)); - - } catch(CommonOrderException e){ - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - - } /** * 鏃堕棿杞崲 @@ -384,32 +359,32 @@ * @return * @throws Exception */ - public String convertDate (Integer slotTime, String startTime) throws Exception { - String endTime = null; + public String convertDate (Integer slotTime, String endTime) throws Exception { + String startTime = null; switch (slotTime) { case 1: // 鏈�杩戜笁澶� - endTime = DateUtil.plusDay(3, startTime); + startTime = DateUtil.reduceDay(2, endTime); break; case 2: // 鏈�杩戜竷澶� - endTime = DateUtil.plusDay(7, startTime); + startTime = DateUtil.reduceDay(6, endTime); break; case 3: // 鏈�杩�15澶� 锛堝崐鏈堬級 - endTime = DateUtil.plusDay(15, startTime); + startTime = DateUtil.reduceDay(14, endTime); break; case 4: // 鏈�杩戜笁鍗佸ぉ 锛堟湰鏈堬級 - endTime = DateUtil.plusDay(30, startTime); + startTime = DateUtil.reduceDay(29, endTime); break; case 5: // 鏈�杩戜節鍗佸ぉ锛堣繎涓夋湀锛� - endTime = DateUtil.plusDay(3*30, startTime); + startTime = DateUtil.reduceDay(3*30-1, endTime); break; case 6: // 鏈�杩戜竴鐧惧叓鍗佸ぉ锛堣繎鍗婂勾锛� - endTime = DateUtil.plusDay(6*30, startTime); + startTime = DateUtil.reduceDay(6*30-1, endTime); break; default: break; } - return endTime; + return startTime; } } -- Gitblit v1.8.0