From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 11 七月 2019 16:34:13 +0800 Subject: [PATCH] 订单bug,分享爆款自购修改 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 880 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 594 insertions(+), 286 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 97c11df..35b471a 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,35 +1,43 @@ package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; -import java.math.BigDecimal; 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 javax.servlet.http.HttpServletRequest; 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.controller.admin.utils.AdminUtils; -import com.yeshi.fanli.entity.admin.OrderAdmin; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; +import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; +import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; 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; +import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService; +import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService; +import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; 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") @@ -39,45 +47,87 @@ private OrderService orderService; @Resource - private HongBaoService hongBaoService; - - @Resource private HongBaoV2CountService hongBaoV2CountService; - + @Resource private CommonOrderCountService commonOrderCountService; - + @Resource private CommonOrderService commonOrderService; - - @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)); - } - - + @Resource + private TaoBaoOrderService taoBaoOrderService; - @RequestMapping(value = "getHistoryOrder") - public void getHistoryOrder(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer state, Integer type, - Integer orderState, String orderNo, String startTime, String endTime, PrintWriter out) { + @Resource + private TaoBaoOrderCountService taoBaoOrderCountService; - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("uid涓嶈兘涓虹┖")); - return; + @Resource + private TaoBaoWeiQuanDrawBackService taoBaoWeiQuanDrawBackService; + + @Resource + private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; + + @Resource + private UserMoneyDetailService userMoneyDetailService; + + /** + * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 + * + * @param callback + * @param request + * @param out + */ + @RequestMapping(value = "countTaoBaoOrder") + public void countTaoBaoOrder(String callback, HttpServletRequest request, PrintWriter out) { + + 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(); } + } + + /** + * 鏌ヨ鎵�鏈夌敤鎴疯鍗曞垪琛� + * + * @param callback + * @param pageIndex + * @param pageSize + * @param uid + * @param state + * @param type + * @param orderState + * @param orderNo + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getUserOrderList") + public void getUserOrderList(String callback, Integer pageIndex, Integer pageSize, Integer keyType, String key, + Integer state, Integer type, Integer orderState, String startTime, String endTime, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } - + if (pageSize == null) pageSize = Constant.PAGE_SIZE; @@ -89,19 +139,143 @@ type = null; // 鎵�鏈夌被鍨嬭鍗� } + if (endTime != null && endTime.trim().length() > 0) { + endTime += " 23:59:59"; + } + try { long count = 0; // 鏌ヨ鍒楄〃 - List<CommonOrderVO> list = commonOrderService.listQueryByUid((pageIndex - 1) * pageSize, pageSize , - uid, state, type, orderState, orderNo, startTime, endTime, null); + List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key, + state, type, orderState, startTime, endTime); if (list != null && list.size() > 0) { // 缁熻鎬绘暟 - count = commonOrderService.countQueryByUid(uid, state, type, orderState, orderNo, startTime, - endTime, null); + count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime); } - + + // 鏌ヨ鏄惁缁存潈 + for (CommonOrderVO order : list) { + // 鏌ヨ鏄惁缁存潈 + TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId()); + if (weiQuanOrder != null)// 鏈夌淮鏉� + { + order.setWeiQuanState(weiQuanOrder.getState()); + order.setState(CommonOrder.STATE_WQ); + TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService + .selectByOrderItemId(weiQuanOrder.getOrderItemId()); + if (drawBack != null) {// 宸茬粡閫�娆� + + // 璁$畻閫�娆捐祫閲� + UserMoneyDetail detail = null; + switch (order.getHongBaoType()) { + case 1: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.fanliWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + if (detail == null) + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.weiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + case 3: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.inviteWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + case 2: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.shareWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + } + if (detail != null) { + // 閫�娆炬垚鍔� + order.setWeiQuanBackMoney(detail.getMoney().abs().toString()); + } else {// 灏氭湭閫�娆� + order.setWeiQuanBackMoney("-" + order.getHongBao()); + } + + } else {// 灏氭湭閫�娆� + order.setWeiQuanBackMoney("-" + order.getHongBao()); + } + } + } + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (CommonOrderException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鏌ヨ璁㈠崟鍒楄〃鐢ㄦ埛uid + * + * @param callback + * @param pageIndex + * @param pageSize + * @param uid + * @param state + * @param type + * @param orderState + * @param orderNo + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getHistoryOrder") + public void getHistoryOrder(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer state, + Integer type, Integer orderState, String orderNo, String startTime, String endTime, PrintWriter out) { + + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("uid涓嶈兘涓虹┖")); + return; + } + + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null) + pageSize = Constant.PAGE_SIZE; + + if (state != null && state == 0) { + state = null;// 鎵�鏈夌姸鎬� + } + + if (type != null && type == 0) { + type = null; // 鎵�鏈夌被鍨嬭鍗� + } + + if (endTime != null && endTime.trim().length() > 0) { + endTime += " 23:59:59"; + } + + try { + long count = 0; + + // 鏌ヨ鍒楄〃 + List<CommonOrderVO> list = commonOrderService.listQueryByUid((pageIndex - 1) * pageSize, pageSize, uid, + state, type, orderState, orderNo, startTime, endTime, null); + + if (list != null && list.size() > 0) { + // 缁熻鎬绘暟 + count = commonOrderService.countQueryByUid(uid, state, type, orderState, orderNo, startTime, endTime, + null); + } + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); @@ -137,32 +311,13 @@ * 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) { + @RequestMapping(value = "get24HOderChannelCharts") + public void get24HOderChannelCharts(String callback, String channelArray, Integer dateType, 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("璇烽�夎捣濮嬫棩鏈�")); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } @@ -171,39 +326,81 @@ 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"); + } + + 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 { Gson gson = new Gson(); - List<String> list = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { - }.getType()); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟鏍煎紡涓嶆纭�")); - return; - } + JSONArray line_list = new JSONArray(); - JSONArray array = new JSONArray(); + for (String channel : channelList) { + List<Map<String, Object>> list = hongBaoV2CountService.count24HOderByChannel(channel, dateType, year, + startTime, endTime); - 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 ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; } - if (resultList == null) { - resultList = new ArrayList<Object>(); + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + + 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"))); } - channelData.put("name", channel); - channelData.put("data_list", resultList); - array.add(channelData); + + line_list.add(innerList); } JSONObject data = new JSONObject(); - data.put("result_list", array); + 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) { @@ -213,58 +410,32 @@ } /** - * 楠岃瘉缁熻淇℃伅鍙傛暟 - * @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 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) { + 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); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); if (validateMsg != null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } try { - JSONObject data = countHistoryHongBao(channelArray, dateType, state, year, startTime, endTime, 1); + JSONObject data = countHistoryHongBao(channelArray, dateType, state, year, startTime, endTime, 1); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); @@ -274,28 +445,32 @@ /** * 缁熻鎻愮幇鐢宠鎬婚噾棰� + * * @param callback - * @param channelArray 娓犻亾鍚� 涓虹┖鏄粺璁℃墍鏈� - * @param dateType 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 - * @param state 鐘舵�侊細 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� - * @param year + * @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) { + public void getHongBaoMoney(String callback, String channelArray, Integer dateType, Integer state, String year, + String startTime, String endTime, PrintWriter out) { String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); if (validateMsg != null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } - + 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("绯荤粺寮傚父")); @@ -303,15 +478,9 @@ } } - - - - - - - /** * 缁熻绾㈠寘淇℃伅 + * * @param channelArray * @param dateType * @param state @@ -321,19 +490,19 @@ * @return * @throws Exception */ - public JSONObject countHistoryHongBao(String channelArray, Integer dateType, Integer state, String year, String startTime, - String endTime, int countType) throws Exception { + public JSONObject countHistoryHongBao(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()); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { + }.getType()); } if (channelList == null || channelList.size() == 0) { @@ -341,51 +510,48 @@ channelList.add("all"); } - if (dateType == 1 && year != null) { year = null; // 璁剧疆涓虹┖ } else if (dateType == 2) { - if (startTime != null) - startTime = null; - - if (endTime != null) - endTime = null; - + 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; + 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(); for (String channel : channelList) { List<Map<String, Object>> list = null; - if (countType == 1 ) { - list = hongBaoV2CountService.countHongBaoNum(channel, dateType, state, year, - startTime, endTime); + if (countType == 1) { + list = hongBaoV2CountService.countHongBaoNum(channel, dateType, state, year, startTime, endTime); } else if (countType == 2) { - list = hongBaoV2CountService.countHongBaoMoney(channel, dateType, state, year, - startTime, endTime); + list = hongBaoV2CountService.countHongBaoMoney(channel, dateType, state, year, startTime, endTime); } - + if ("all".equalsIgnoreCase(channel)) { channel = "鎬昏"; } - + JSONObject innerList = new JSONObject(); 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); @@ -395,10 +561,9 @@ } innerList.put("data", gson.toJson(map.get("value"))); } - + line_list.add(innerList); } - JSONObject data = new JSONObject(); if (objectDate != null) { @@ -406,62 +571,117 @@ } else { data.put("xAxis_list", gson.toJson(dateList)); } - + data.put("line_list", line_list); - + return data; } - /** - * 鍒嗙被鍨嬭鍗曟暟涓庢瘮渚� + * 鍒嗙被鍨嬭鍗曟暟涓庢瘮渚� + * * @param callback - * @param dateType 鏃� -1 鏈�-2 骞�-3 - * @param type 杩斿埄璁㈠崟-1 鍒嗕韩璁㈠崟-2 閭�璇疯鍗�-3 + * @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‘鏃堕棿鍖洪棿")); + @RequestMapping(value = "getTypeNumber") + public void getTypeNumber(String callback, Integer dateType, String typeArray, String year, String startTime, + String endTime, PrintWriter out) { + + 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)); } catch (Exception e) { @@ -469,9 +689,10 @@ e.printStackTrace(); } } - + /** * 璁㈠崟璺熻釜鍑嗙‘鐜�(杩斿埄鍒哥敤鎴疯鍗�/娣樺疂鑱旂洘璁㈠崟) + * * @param callback * @param dateType * @param year @@ -480,33 +701,70 @@ * @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; + public void getTrackAccuracyRate(String callback, Integer dateType, String year, String startTime, String endTime, + PrintWriter out) { + + 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, - year, startTime, endTime); - - if (resultList == null) { - resultList = new ArrayList<Map<String, Object>>(); - } - + 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); + JSONObject innerList = new JSONObject(); - innerList.put("name", "鍑嗙‘鐜�"); - innerList.put("data_list", resultList); - - JSONArray outList = new JSONArray(); - outList.add(innerList); - + 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(); - 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) { @@ -514,18 +772,19 @@ e.printStackTrace(); } } - - + /** * 褰撳墠鏈敹璐ц鍗曟暟 + * * @param callback - * @param type 璁㈠崟鐘舵��-鏆傛湭浣跨敤 + * @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; @@ -538,11 +797,10 @@ e.printStackTrace(); } } - - - + /** * 缁存潈璁㈠崟鏁� + * * @param callback * @param dateType * @param year @@ -551,43 +809,27 @@ * @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‘鏃堕棿鍖洪棿")); + public void getWeiQaunOrderNumber(String callback, Integer dateType, String year, String startTime, String endTime, + PrintWriter out) { + + 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(); } } - - + /** * 缁存潈璁㈠崟閲戦 + * * @param callback * @param dateType * @param year @@ -596,37 +838,103 @@ * @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‘鏃堕棿鍖洪棿")); + public void getWeiQaunOrderMoney(String callback, Integer dateType, String year, String startTime, String endTime, + PrintWriter out) { + + 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