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