From baacd1378b33c4a84ee7a4998fb08fd9979ee4e1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 09 一月 2019 11:02:52 +0800 Subject: [PATCH] Merge branch 'dev-hongbao' --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 505 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 491 insertions(+), 14 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 13167df..96969f8 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 @@ -1,45 +1,522 @@ package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import javax.annotation.Resource; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.JsonUtil; +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.CommonOrderCountService; import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.GsonUtil; -import org.yeshi.utils.JsonUtil; - -import net.sf.json.JSONObject; +import com.yeshi.fanli.util.StringUtil; @Controller @RequestMapping("admin/new/api/v1/order") public class OrderAdminController { - + @Resource private OrderService orderService; - + @Resource private HongBaoService hongBaoService; + + @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); + @Resource + private CommonOrderCountService commonOrderCountService; + + @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 out + */ + @RequestMapping(value = "getHistoryOderByChannel") + 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()); + + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟鏍煎紡涓嶆纭�")); + return; + } + + JSONArray array = new JSONArray(); + + for (String channel : list) { + JSONObject channelData = new JSONObject(); + List<Object> resultList = null; + if (type == 1) { + resultList = hongBaoService.count24HOderByChannel(channel, dateType, year, startTime, endTime); + + } else if (type == 2) { + resultList = hongBaoService.countHistoryOderByChannel(channel, dateType, year, startTime, endTime); + } + + if (resultList == null) { + resultList = new ArrayList<Object>(); + } + channelData.put("name", channel); + channelData.put("data_list", resultList); + array.add(channelData); + } + + JSONObject data = new JSONObject(); + data.put("result_list", array); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + 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("data_list", resultList); + array.add(channelData); + } + + JSONObject data = new JSONObject(); + data.put("result_list", array); + + return data; + } + + + /** + * 鍒嗙被鍨嬭鍗曟暟涓庢瘮渚� + * @param callback + * @param dateType 鏃� -1 鏈�-2 骞�-3 + * @param type 杩斿埄璁㈠崟-1 鍒嗕韩璁㈠崟-2 閭�璇疯鍗�-3 + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getTypeRate") + public void getTypeRate(String callback, Integer dateType, Integer type, String year, + String startTime, String endTime, PrintWriter out) { + + if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鏃堕棿鍖洪棿")); + return; + } + + if (type == null || dateType ==null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("瑙嗗浘绫诲瀷銆佽鍗曠被鍨嬩笉鑳戒负绌�")); + return; + } + + try { + + List<Map<String, Object>> resultList = hongBaoV2CountService.getProportionByType(dateType, + type, year, startTime, endTime); + + if (resultList == null) { + resultList = new ArrayList<Map<String, Object>>(); + } + + 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); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + /** + * 璁㈠崟璺熻釜鍑嗙‘鐜�(杩斿埄鍒哥敤鎴疯鍗�/娣樺疂鑱旂洘璁㈠崟) + * @param callback + * @param dateType + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getTrackAccuracyRate") + 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; + } + + try { + + List<Map<String, Object>> resultList = commonOrderCountService.getTrackAccuracyRate(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); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + /** + * 褰撳墠鏈敹璐ц鍗曟暟 + * @param callback + * @param type 璁㈠崟鐘舵��-鏆傛湭浣跨敤 + * @param out + */ + @RequestMapping(value = "getHistoryUnreceived") + public void getHistoryUnreceived(String callback, Integer type, PrintWriter out) { + try { + + Long total = commonOrderCountService.countByState(1); + if (total == null) { + total = 0L; + } + JSONObject data = new JSONObject(); + data.put("total", total); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + + /** + * 缁存潈璁㈠崟鏁� + * @param callback + * @param dateType + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getWeiQaunOrderNumber") + 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‘鏃堕棿鍖洪棿")); + 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); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + /** + * 缁存潈璁㈠崟閲戦 + * @param callback + * @param dateType + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getWeiQaunOrderMoney") + 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‘鏃堕棿鍖洪棿")); + 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); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + } -- Gitblit v1.8.0