From 3590da403de193aa6bb7633d7526bd04f3821736 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期六, 05 一月 2019 14:44:28 +0800 Subject: [PATCH] 后端曲线图 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 229 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 196 insertions(+), 33 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 1a5acd7..2da03a5 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 @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -17,6 +18,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.admin.OrderAdmin; +import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.hongbao.HongBaoService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.tag.PageEntity; @@ -26,86 +28,94 @@ @Controller @RequestMapping("admin/new/api/v1/order") public class OrderAdminController { - + @Resource private OrderService orderService; - + @Resource private HongBaoService hongBaoService; - - @RequestMapping(value ="getOrderList",method=RequestMethod.POST) - public void getOrderList(int pageIndex,String key,PrintWriter out){ - List<OrderAdmin> orderAdminList = hongBaoService.getOrderAdminList(pageIndex,key); + + @Resource + private HongBaoV2CountService hongBaoV2CountService; + + @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); + 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)); + data.put("orderList", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(orderAdminList)); out.print(JsonUtil.loadTrueResult(data)); } - - + /** * 缁熻鍘嗗彶娓犻亾浜х敓璁㈠崟鐨勯噾棰� + * * @param callback - * @param channelArray 鍚嶅瓧鏁扮粍 - * @param type 缁熻绫诲瀷 1-24灏忔椂 2-鎵�鏈� - * @param dateType 绫诲瀷 1鏃� 2鏈� 3骞� - * @param year 2018 - * @param startTime 2018-12-01 - * @param endTime 2018-12-01 + * @param channelArray + * 鍚嶅瓧鏁扮粍 + * @param type + * 缁熻绫诲瀷 1-24灏忔椂 2-鎵�鏈� + * @param dateType + * 绫诲瀷 1鏃� 2鏈� 3骞� + * @param year + * 2018 + * @param startTime + * 2018-12-01 + * @param endTime + * 2018-12-01 * @param out */ @RequestMapping(value = "getHistoryOderByChannel") - public void getHistoryOderByChannel(String callback, String channelArray, Integer dateType, - Integer type, String year, String startTime, String endTime, PrintWriter out) { + public void getHistoryOderByChannel(String callback, String channelArray, Integer dateType, Integer type, + String year, String startTime, String endTime, PrintWriter out) { if (StringUtil.isNullOrEmpty(channelArray)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨缁熻瀵瑰簲鍚嶇О")); return; } - + if (dateType == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎺掑垪鏂瑰紡")); return; } - + if (dateType == 1 && (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime))) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鏃堕棿鍖洪棿")); return; } - + if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夌粨鏉熸棩鏈�")); return; } - + if (StringUtil.isNullOrEmpty(startTime) && !StringUtil.isNullOrEmpty(endTime)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夎捣濮嬫棩鏈�")); return; } - + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { startTime = null; endTime = null; } - + try { Gson gson = new Gson(); - List<String> list = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); + List<String> list = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { + }.getType()); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟鏍煎紡涓嶆纭�")); return; } - + JSONArray array = new JSONArray(); - for (String channel: list) { + for (String channel : list) { JSONObject channelData = new JSONObject(); List<Object> resultList = null; if (type == 1) { @@ -114,8 +124,7 @@ } else if (type == 2) { resultList = hongBaoService.countHistoryOderByChannel(channel, dateType, year, startTime, endTime); } - - + if (resultList == null) { resultList = new ArrayList<Object>(); } @@ -123,7 +132,7 @@ channelData.put("infos", resultList); array.add(channelData); } - + JSONObject data = new JSONObject(); data.put("result_list", array); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); @@ -132,7 +141,161 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); e.printStackTrace(); } + } + /** + * 楠岃瘉缁熻淇℃伅鍙傛暟 + * @param shwoType + * @param startTime + * @param endTime + * @return + */ + public String validateParams(Integer shwoType, String startTime, String endTime) { + + if (shwoType == null) { + return "璇烽�夋嫨瑙嗗浘绫诲瀷"; + } + + if (shwoType == 1 && (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime))) { + return "璇烽�夋嫨鏃堕棿鍖洪棿"; + } + + if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { + return "璇烽�夌粨鏉熸棩鏈�"; + } + + if (StringUtil.isNullOrEmpty(startTime) && !StringUtil.isNullOrEmpty(endTime)) { + return "璇烽�夎捣濮嬫棩鏈�"; + } + + return null; } + + + /** + * 缁熻鎻愮幇鐢宠鎬绘鏁� + * @param callback + * @param channelArray 娓犻亾鍚� 涓虹┖鏄粺璁℃墍鏈� + * @param dateType 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 + * @param state 鐘舵�侊細 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getHongBaoNum") + public void getHongBaoNum(String callback,String channelArray, Integer dateType, Integer state, + String year, String startTime, String endTime, PrintWriter out) { + + String validateMsg = validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); + return; + } + + try { + JSONObject data = countHongBao(channelArray, dateType, state, year, startTime, endTime, 1); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); + e.printStackTrace(); + } + } + + /** + * 缁熻鎻愮幇鐢宠鎬婚噾棰� + * @param callback + * @param channelArray 娓犻亾鍚� 涓虹┖鏄粺璁℃墍鏈� + * @param dateType 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 + * @param state 鐘舵�侊細 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getHongBaoMoney") + public void getHongBaoMoney(String callback,String channelArray, Integer dateType, Integer state, + String year, String startTime, String endTime, PrintWriter out) { + + String validateMsg = validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); + return; + } + + try { + JSONObject data = countHongBao( channelArray, dateType, state, year, startTime, endTime, 2); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + 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 countHongBao(String channelArray, Integer dateType, Integer state, String year, String startTime, + String endTime, int countType) throws Exception { + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); + } + + if (channelList == null || channelList.size() == 0) { + channelList = new ArrayList<String>(); + channelList.add("all"); + } + + JSONArray array = new JSONArray(); + for (String channel : channelList) { + JSONObject channelData = new JSONObject(); + + + List<Map<String, Object>> resultList = null; + if (countType == 1 ) { + resultList = hongBaoV2CountService.countHongBaoNum(channel, dateType, state, year, + startTime, endTime); + } else if (countType == 2) { + resultList = hongBaoV2CountService.countHongBaoMoney(channel, dateType, state, year, + startTime, endTime); + } + + if (resultList == null) { + resultList = new ArrayList<Map<String, Object>>(); + } + + if ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; + } + channelData.put("name", channel); + channelData.put("infos", resultList); + array.add(channelData); + } + + JSONObject data = new JSONObject(); + data.put("result_list", array); + + return data; + } + } -- Gitblit v1.8.0