From 047c6fef2dd5bbcef0891a7b4628a09ded0ab882 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期三, 09 一月 2019 17:36:38 +0800 Subject: [PATCH] 订单接口优化调整 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/LostOrderAdminController.java | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 285 insertions(+), 3 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..92befeb 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,21 +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 net.sf.json.JSONArray; +import net.sf.json.JSONObject; + 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.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 net.sf.json.JSONObject; +import com.yeshi.fanli.util.StringUtil; @Controller @RequestMapping("admin/new/api/v1/lostOrder") @@ -66,4 +74,278 @@ out.print(JsonUtil.loadTrueResult("")); } + + /** + * 鏂扮増鍚庡彴 鍒楄〃鏌ヨ + * @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) { + + 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(); + } + + } + + + /** + * 鏂扮増鍚庡彴 鎷掔粷 + * @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; + } + + 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(); + } + + } + + + /** + * 楠岃瘉缁熻淇℃伅鍙傛暟 + * @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 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, 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 { + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + List<Map<String, Object>> resultList =lostOrderService.countLostNum(dateType, state, 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 鏄剧ず瑙嗗浘锛氭棩-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 = validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); + return; + } + + try { + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + List<Map<String, Object>> resultList =lostOrderService.countAppealMoney(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