From 1e5efa36908873c31b609fdbefc49c292ae969f2 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 15 一月 2019 10:36:09 +0800 Subject: [PATCH] 后台曲线统计 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 208 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 150 insertions(+), 58 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 0c1ad6a..616b594 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 @@ -627,30 +627,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) { @@ -698,33 +737,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(); } } @@ -743,34 +766,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