From cdcbed9af813b2a02cdc01eefa24db8bec6b51a9 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期三, 27 三月 2019 12:17:33 +0800 Subject: [PATCH] 主分类 + 子分类 DAO改造 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 387 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 278 insertions(+), 109 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java index 02763d3..f3f76f7 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java @@ -6,9 +6,7 @@ import java.util.Map; import javax.annotation.Resource; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; +import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,7 +19,7 @@ import com.yeshi.fanli.entity.admin.OrderAdmin; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoService; +import com.yeshi.fanli.service.inter.count.TaoBaoOrderCountService; import com.yeshi.fanli.service.inter.order.CommonOrderCountService; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.OrderService; @@ -31,6 +29,9 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.vo.order.CommonOrderVO; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + @Controller @RequestMapping("admin/new/api/v1/order") public class OrderAdminController { @@ -38,8 +39,6 @@ @Resource private OrderService orderService; - @Resource - private HongBaoService hongBaoService; @Resource private HongBaoV2CountService hongBaoV2CountService; @@ -52,20 +51,45 @@ @Resource private TaoBaoOrderService taoBaoOrderService; + + @Resource + private TaoBaoOrderCountService taoBaoOrderCountService; + /** + * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 + * @param callback + * @param request + * @param out + */ + @RequestMapping(value = "countTaoBaoOrder") + public void countTaoBaoOrder(String callback, HttpServletRequest request, PrintWriter out) { - @RequestMapping(value = "getOrderList", method = RequestMethod.POST) - public void getOrderList(int pageIndex, String key, PrintWriter out) { - List<OrderAdmin> orderAdminList = hongBaoService.getOrderAdminList(pageIndex, key); - int count = orderService.getCount(key); - int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("orderList", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(orderAdminList)); - out.print(JsonUtil.loadTrueResult(data)); + try { + Map<String, Object> countByOdrerType = taoBaoOrderCountService.countByOdrerType(); + + JSONObject data = new JSONObject(); + data.put("typeOrder", countByOdrerType); + + // 缁熻浠婃棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� + int todayOrder = taoBaoOrderCountService.countToday(); + // 缁熻鏄ㄦ棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� + int yesterdayOrder = taoBaoOrderCountService.countYesterday(); + + data.put("todayOrder", todayOrder); + data.put("yesterdayOrder", yesterdayOrder); + + data.put("genzong", yesterdayOrder); + data.put("yesterdayOrder", yesterdayOrder); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); + e.printStackTrace(); + } } + /** * 鏌ヨ鎵�鏈夌敤鎴疯鍗曞垪琛� @@ -228,8 +252,8 @@ * 2018-12-01 * @param out */ - @RequestMapping(value = "getOderChannelCharts") - public void getOderChannelCharts(String callback, String channelArray, Integer dateType, Integer type, + @RequestMapping(value = "get24HOderChannelCharts") + public void get24HOderChannelCharts(String callback, String channelArray, Integer dateType, String year, String startTime, String endTime, PrintWriter out) { String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); @@ -283,14 +307,10 @@ List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); JSONArray line_list = new JSONArray(); + for (String channel : channelList) { - List<Map<String, Object>> list = null; - if (type == 1) { - list = hongBaoService.count24HOderByChannel(channel, dateType, year, startTime, endTime); + List<Map<String, Object>> list = hongBaoV2CountService.count24HOderByChannel(channel, dateType, year, startTime, endTime); - } else if (type == 2) { - list = hongBaoService.countHistoryOderByChannel(channel, dateType, year, startTime, endTime); - } if ("all".equalsIgnoreCase(channel)) { channel = "鎬昏"; @@ -300,7 +320,7 @@ innerList.put("name", channel); if (dateType != 3) { - innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateList, list))); + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); } else { // 骞磋鍥� Map<String, Object> map = AdminUtils.yearsDataFactory(list); @@ -386,7 +406,7 @@ try { - JSONObject data = countHistoryHongBao(channelArray, dateType, state, year, startTime, endTime, 1); + JSONObject data = countHistoryHongBao(channelArray, dateType, state, year, startTime, endTime, 2); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); @@ -476,7 +496,7 @@ innerList.put("name", channel); if (dateType != 3) { - innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateList, list))); + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); } else { // 骞磋鍥� Map<String, Object> map = AdminUtils.yearsDataFactory(list); @@ -514,44 +534,101 @@ * @param endTime * @param out */ - @RequestMapping(value = "getTypeRate") - public void getTypeRate(String callback, Integer dateType, Integer type, String year, + @RequestMapping(value = "getTypeNumber") + public void getTypeNumber(String callback, Integer dateType, String typeArray, String year, String startTime, String endTime, PrintWriter out) { - if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鏃堕棿鍖洪棿")); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } - if (type == null || dateType ==null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("瑙嗗浘绫诲瀷銆佽鍗曠被鍨嬩笉鑳戒负绌�")); + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + + List<Integer> channelList = null; + if (typeArray != null && typeArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(typeArray, new TypeToken<ArrayList<Integer>>() {}.getType()); + } + + if (channelList == null || channelList.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁㈠崟绫诲瀷涓嶈兘涓虹┖")); return; } + + + if (dateType == 1 && year != null) { + year = null; // 璁剧疆涓虹┖ + } else if (dateType == 2) { + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + + } else if (dateType == 3) { + if (year != null) + year = null; + + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + } + + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); try { - List<Map<String, Object>> resultList = hongBaoV2CountService.getProportionByType(dateType, - type, year, startTime, endTime); - if (resultList == null) { - resultList = new ArrayList<Map<String, Object>>(); + JSONArray line_list = new JSONArray(); + for (Integer type : channelList) { + + List<Map<String, Object>> list = hongBaoV2CountService.countHongBaoType(dateType, + type, year, startTime, endTime); + + + JSONObject innerList = new JSONObject(); + if (type == 1) { + innerList.put("name", "杩斿埄璁㈠崟"); + } else if (type == 2) { + innerList.put("name", "鍒嗕韩璁㈠崟"); + } else if (type == 3) { + innerList.put("name", "閭�璇疯鍗�"); + } + + if (dateType != 3) { + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); + } else { + // 骞磋鍥� + Map<String, Object> map = AdminUtils.yearsDataFactory(list); + + if (objectDate == null) { + objectDate = map.get("date"); + } + innerList.put("data", gson.toJson(map.get("value"))); + } + + line_list.add(innerList); } - JSONObject innerList = new JSONObject(); - if (type == 1) { - innerList.put("name", "杩斿埄璁㈠崟"); - } else if (type == 2) { - innerList.put("name", "鍒嗕韩璁㈠崟"); - } else if (type == 3) { - innerList.put("name", "閭�璇疯鍗�"); - } - innerList.put("data_list", resultList); - - JSONArray outList = new JSONArray(); - outList.add(innerList); - + JSONObject data = new JSONObject(); - data.put("result_list", outList); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + + data.put("line_list", line_list); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); @@ -574,30 +651,69 @@ public void getTrackAccuracyRate(String callback, Integer dateType, String year, String startTime, String endTime, PrintWriter out) { - if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鏃堕棿鍖洪棿")); - return; + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + if (dateType == 1 && year != null) { + year = null; // 璁剧疆涓虹┖ + } else if (dateType == 2) { + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + + } else if (dateType == 3) { + if (year != null) + year = null; + + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; } try { - - List<Map<String, Object>> resultList = commonOrderCountService.getTrackAccuracyRate(dateType, + + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); + + JSONArray line_list = new JSONArray(); + + List<Map<String, Object>> list = commonOrderCountService.getTrackAccuracyRate(dateType, year, startTime, endTime); - if (resultList == null) { - resultList = new ArrayList<Map<String, Object>>(); + JSONObject innerList = new JSONObject(); + innerList.put("name", "鎬昏"); + + if (dateType != 3) { + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); + } else { + // 骞磋鍥� + Map<String, Object> map = AdminUtils.yearsDataFactory(list); + + if (objectDate == null) { + objectDate = map.get("date"); + } + innerList.put("data", gson.toJson(map.get("value"))); } - JSONObject innerList = new JSONObject(); - innerList.put("name", "鍑嗙‘鐜�"); - innerList.put("data_list", resultList); - - JSONArray outList = new JSONArray(); - outList.add(innerList); - + line_list.add(innerList); + + JSONObject data = new JSONObject(); - data.put("result_list", outList); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + data.put("line_list", line_list); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { @@ -645,33 +761,17 @@ public void getWeiQaunOrderNumber(String callback, Integer dateType, String year, String startTime, String endTime, PrintWriter out) { - if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鏃堕棿鍖洪棿")); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } + try { - - List<Map<String, Object>> resultList = commonOrderCountService.countWeiQaunOrderNumber(dateType, - year, startTime, endTime); - - if (resultList == null) { - resultList = new ArrayList<Map<String, Object>>(); - } - - JSONObject innerList = new JSONObject(); - innerList.put("name", "鏁伴噺"); - innerList.put("data_list", resultList); - - JSONArray outList = new JSONArray(); - outList.add(innerList); - - JSONObject data = new JSONObject(); - data.put("result_list", outList); - + JSONObject data = countWeiQaunOrder(dateType, year, startTime, endTime, 1); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); e.printStackTrace(); } } @@ -690,34 +790,103 @@ public void getWeiQaunOrderMoney(String callback, Integer dateType, String year, String startTime, String endTime, PrintWriter out) { - if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鏃堕棿鍖洪棿")); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } + try { - - List<Map<String, Object>> resultList = commonOrderCountService.countWeiQaunOrderMoney(dateType, - year, startTime, endTime); - - if (resultList == null) { - resultList = new ArrayList<Map<String, Object>>(); - } - - JSONObject innerList = new JSONObject(); - innerList.put("name", "閲戦"); - innerList.put("data_list", resultList); - - JSONArray outList = new JSONArray(); - outList.add(innerList); - - JSONObject data = new JSONObject(); - data.put("result_list", outList); + JSONObject data = countWeiQaunOrder(dateType, year, startTime, endTime, 2); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); e.printStackTrace(); } } + + + /** + * 缁熻绾㈠寘淇℃伅 + * @param channelArray + * @param dateType + * @param state + * @param year + * @param startTime + * @param endTime + * @return + * @throws Exception + */ + public JSONObject countWeiQaunOrder(Integer dateType, String year, String startTime, + String endTime, int countType) throws Exception { + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + if (dateType == 1 && year != null) { + year = null; // 璁剧疆涓虹┖ + } else if (dateType == 2) { + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + + } else if (dateType == 3) { + if (year != null) + year = null; + + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + } + + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); + + JSONArray line_list = new JSONArray(); + List<Map<String, Object>> list = null; + if (countType == 1 ) { + list = commonOrderCountService.countWeiQaunOrderNumber(dateType, year, startTime, endTime); + } else if (countType == 2) { + list = commonOrderCountService.countWeiQaunOrderMoney(dateType, year, startTime, endTime); + } + + + JSONObject innerList = new JSONObject(); + innerList.put("name", "鎬昏"); + + if (dateType != 3) { + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); + } else { + // 骞磋鍥� + Map<String, Object> map = AdminUtils.yearsDataFactory(list); + + if (objectDate == null) { + objectDate = map.get("date"); + } + innerList.put("data", gson.toJson(map.get("value"))); + } + + line_list.add(innerList); + + + JSONObject data = new JSONObject(); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + + data.put("line_list", line_list); + + return data; + } + } -- Gitblit v1.8.0