From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java | 404 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 372 insertions(+), 32 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java index e5136f8..723a795 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java @@ -1,20 +1,29 @@ 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 org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.controller.admin.utils.AdminUtils; import com.yeshi.fanli.entity.bus.user.LostOrder; +import com.yeshi.fanli.entity.bus.user.Order; +import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.GsonUtil; -import org.yeshi.utils.JsonUtil; +import com.yeshi.fanli.util.StringUtil; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller @@ -24,46 +33,377 @@ @Resource private LostOrderService lostOrderService; - @RequestMapping("findLostOrderList") - public void findLostOrderList(int page, String key, PrintWriter out) { - List<LostOrder> list = lostOrderService.findLostOrderList(key, page); - int count = lostOrderService.getCount(key); - PageEntity pe = new PageEntity(page, Constant.PAGE_SIZE, count); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("lostOrderList", GsonUtil.toJsonByUserAp(list)); - out.print(JsonUtil.loadTrueResult(data)); + /** + * 鏂扮増鍚庡彴 鍒楄〃鏌ヨ + * @param callback + * @param pageIndex + * @param key + * @param out + */ + @RequestMapping("query") + public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, + Integer handleType, PrintWriter out) { + + if (pageIndex == null || pageIndex < 0){ + pageIndex = 1; + } + + if (pageSize == null || pageSize < 1) { + pageSize = Constant.PAGE_SIZE; + } + + try { + + List<LostOrder> list = lostOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, key, state, handleType); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏇村鏁版嵁")); + return; + } + + + for (LostOrder lostOrder: list) { + + Integer stateOrder = lostOrder.getState(); + Integer resultCode = lostOrder.getResultCode(); + if (stateOrder != null && stateOrder == 1 && resultCode!= null) { + switch(resultCode) { + case 1: + lostOrder.setRemake("绛夊緟鐖彇涓�"); + break; + case 2: + lostOrder.setRemake("澶勭悊鎴愬姛"); + break; + case 3: + lostOrder.setState(2); + lostOrder.setRemake("澶勭悊澶辫触"); + break; + default: + break; + } + } else if (stateOrder != null && stateOrder == 2) { + lostOrder.setRemake("宸叉嫆缁�"); + } + + + Order order = lostOrder.getOrder(); + if (order == null) { + lostOrder.setOrder(new Order()); + } + + + UserInfo userInfo = lostOrder.getUserInfo(); + if (userInfo == null) { + lostOrder.setUserInfo(new UserInfo()); + } else { + Map<String, Object> countData = lostOrderService.countByUid(userInfo.getId()); + lostOrder.setTotal(Integer.parseInt(countData.get("total")+"")); + lostOrder.setTotalPass(Integer.parseInt(countData.get("totalPass")+"")); + lostOrder.setTotalReject(Integer.parseInt(countData.get("totalReject")+"")); + + } + } + + long count = lostOrderService.countQuery(key, state, handleType); + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", gson.toJson(list)); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鏂扮増鍚庡彴 閫氳繃 + * @param callback + * @param id + * @param out + */ + @RequestMapping("passOrder") + public void passOrder(String callback, Long id, PrintWriter out) { + + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); + return; + } + + try { + LostOrder lostOrder = lostOrderService.getOne(id); + if (lostOrder == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鏌ヨ璁㈠崟")); + return; + } + + if (lostOrder.getState() != 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ヨ鍗曞凡澶勭悊")); + return; + } + + lostOrderService.pass(lostOrder); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + e.printStackTrace(); + } + } - @RequestMapping("pass") - public void pass(long id, PrintWriter out) { - LostOrder lostOrder = lostOrderService.getOne(id); - if (lostOrder == null) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鏌ヨ璁㈠崟")); + + /** + * 鏂扮増鍚庡彴 鎷掔粷 + * @param callback + * @param id + * @param reason + * @param out + */ + @RequestMapping("rejectOrder") + public void rejectOrder(String callback, Long id, String reason, PrintWriter out) { + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); return; } - if (lostOrder.getState() != 0) { - out.print(JsonUtil.loadFalseResult("璇ヨ鍗曞凡澶勭悊")); - return; + + try { + + LostOrder lostOrder = lostOrderService.getOne(id); + if (lostOrder == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鏌ヨ璁㈠崟")); + return; + } + + if (lostOrder.getState() != 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ヨ鍗曞凡澶勭悊")); + return; + } + + lostOrder.setRemake(reason); + lostOrderService.reject(lostOrder); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + e.printStackTrace(); } - lostOrderService.pass(lostOrder); - out.print(JsonUtil.loadTrueResult("")); + } + + - @RequestMapping("reject") - public void reject(long id,String reason, PrintWriter out) { - LostOrder lostOrder = lostOrderService.getOne(id); - if (lostOrder == null) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鏌ヨ璁㈠崟")); + /** + * 缁熻鎻愮幇鐢宠鎬绘鏁� + * @param callback + * @param dateType 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 + * @param state 鐘舵�侊細 1-鏈鐞� 2-鎴愬姛 3-澶辫触 + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getLostNum") + public void getLostNum(String callback, Integer dateType, String stateArray, 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 (lostOrder.getState() != 0) { - out.print(JsonUtil.loadFalseResult("璇ヨ鍗曞凡澶勭悊")); - return; + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; } - lostOrder.setRemake(reason); - lostOrderService.reject(lostOrder); - out.print(JsonUtil.loadTrueResult("")); + + + List<Integer> channelList = null; + if (stateArray != null && stateArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(stateArray, new TypeToken<ArrayList<Integer>>() {}.getType()); + } + + + 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 { + + + JSONArray line_list = new JSONArray(); + if (channelList == null || channelList.size() == 0) { + + } else { + for (Integer state : channelList) { + + List<Map<String, Object>> list = lostOrderService.countLostNum(dateType, state, year, + startTime, endTime); + + + JSONObject innerList = new JSONObject(); + if (state == 1) { + innerList.put("name", "鏈鐞�"); + } else if (state == 2) { + innerList.put("name", "鎴愬姛"); + } else if (state == 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 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); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + /** + * 缁熻鐢宠瘔閲戦鎬绘暟 + * @param callback + * @param dateType 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getAppealMoney") + public void getAppealMoney(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; + } + + 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); + + try { + + + JSONArray line_list = new JSONArray(); + + List<Map<String, Object>> list = lostOrderService.countAppealMoney(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); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } } -- Gitblit v1.8.0