From 463df335df625f02a4a884f6b8a305cc64481440 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 27 四月 2020 18:29:16 +0800
Subject: [PATCH] 商品返利比例计算返回
---
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 1612 ++++++++++++++++++++++++----------------------------------
1 files changed, 672 insertions(+), 940 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 35b471a..05a06e3 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,940 +1,672 @@
-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 javax.servlet.http.HttpServletRequest;
-
-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.reflect.TypeToken;
-import com.yeshi.fanli.controller.admin.utils.AdminUtils;
-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.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")
-public class OrderAdminController {
-
- @Resource
- private OrderService orderService;
-
- @Resource
- private HongBaoV2CountService hongBaoV2CountService;
-
- @Resource
- private CommonOrderCountService commonOrderCountService;
-
- @Resource
- private CommonOrderService commonOrderService;
-
- @Resource
- private TaoBaoOrderService taoBaoOrderService;
-
- @Resource
- private TaoBaoOrderCountService taoBaoOrderCountService;
-
- @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;
-
- 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.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key,
- state, type, orderState, startTime, endTime);
-
- if (list != null && list.size() > 0) {
- // 缁熻鎬绘暟
- 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);
-
- 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();
- }
- }
-
- /**
- * 缁熻鍘嗗彶娓犻亾浜х敓璁㈠崟鐨勯噾棰�
- *
- * @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 = "get24HOderChannelCharts")
- public void get24HOderChannelCharts(String callback, String channelArray, 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;
- }
-
- 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();
- 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 = hongBaoV2CountService.count24HOderByChannel(channel, dateType, 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(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 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 = 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);
- 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 = 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, 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 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());
- }
-
- 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;
- }
-
- 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);
- } else if (countType == 2) {
- 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(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;
- }
-
- /**
- * 鍒嗙被鍨嬭鍗曟暟涓庢瘮渚�
- *
- * @param callback
- * @param dateType
- * 鏃� -1 鏈�-2 骞�-3
- * @param type
- * 杩斿埄璁㈠崟-1 鍒嗕韩璁㈠崟-2 閭�璇疯鍗�-3
- * @param year
- * @param startTime
- * @param endTime
- * @param out
- */
- @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 (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 {
-
- 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 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
- * @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 (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 {
-
- 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", "鎬昏");
-
- 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 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) {
-
- String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
- if (validateMsg != null) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
- return;
- }
-
- try {
- JSONObject data = countWeiQaunOrder(dateType, 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 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) {
-
- String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
- if (validateMsg != null) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
- return;
- }
-
- try {
- JSONObject data = countWeiQaunOrder(dateType, 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 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;
- }
-
-}
+package com.yeshi.fanli.controller.admin;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.yeshi.utils.JsonUtil;
+
+import com.google.gson.Gson;
+import com.yeshi.fanli.controller.admin.utils.AdminUtils;
+import com.yeshi.fanli.dto.ChartTDO;
+import com.yeshi.fanli.dto.common.CategoryInfoDTO;
+import com.yeshi.fanli.entity.bus.user.HongBaoV2;
+import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.money.UserMoneyDebt;
+import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum;
+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.order.CommonOrderGoods;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
+import com.yeshi.fanli.entity.order.UserOrderWeiQuanRecord;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+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.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+import com.yeshi.fanli.service.inter.count.TaoBaoOrderCountService;
+import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
+import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
+import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService;
+import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
+import com.yeshi.fanli.service.inter.order.OrderProcessService;
+import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.order.UserOrderWeiQuanRecordService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
+import com.yeshi.fanli.tag.PageEntity;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.vo.order.CommonOrderVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("admin/new/api/v1/order")
+public class OrderAdminController {
+
+ @Resource
+ private OrderService orderService;
+
+ @Resource
+ private HongBaoV2CountService hongBaoV2CountService;
+
+ @Resource
+ private CommonOrderCountService commonOrderCountService;
+
+ @Resource
+ private CommonOrderService commonOrderService;
+
+ @Resource
+ private TaoBaoOrderService taoBaoOrderService;
+
+ @Resource
+ private TaoBaoOrderCountService taoBaoOrderCountService;
+
+ @Resource
+ private TaoBaoWeiQuanDrawBackService taoBaoWeiQuanDrawBackService;
+
+ @Resource
+ private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+
+ @Resource
+ private UserMoneyDetailService userMoneyDetailService;
+
+ @Resource
+ private OrderProcessService orderProcessService;
+
+ @Resource
+ private HongBaoOrderService hongBaoOrderService;
+
+ @Resource
+ private UserMoneyDebtService userMoneyDebtService;
+
+ @Resource
+ private UserSystemCouponRecordService userSystemCouponRecordService;
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource
+ private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService;
+
+ @Resource
+ private CommonGoodsService commonGoodsService;
+
+ /**
+ * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟
+ *
+ * @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, Integer sourceType,
+ Integer riskType, BigDecimal payment, PrintWriter out) {
+
+ 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 {
+ Date minTime = null;
+ BigDecimal money = null;
+ List<Long> listShopId = null;
+ List<Long> listGoodsId = null;
+ // 椋庨櫓
+ if (riskType != null && !StringUtil.isNullOrEmpty(key) && keyType != null && keyType == 2) {
+ long uid = Long.parseLong(key);
+ // 鏌ヨ鍚屽簵閾哄晢鍝侊紝鍚屽晢鍝佽鍗曡秴杩囦竴瀹氭暟閲忕殑
+ List<Integer> typeList = new ArrayList<>();
+ typeList.add(HongBaoV2.TYPE_ZIGOU);
+
+ if (riskType == 1) {
+ listGoodsId = commonOrderCountService.getSameGoodsOrderByUidAndHongBaoType(typeList, uid,
+ Integer.parseInt(configService.get(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey())));
+ if (listGoodsId == null || listGoodsId.isEmpty()) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽晢鍝佽鍗�"));
+ return;
+ }
+ } else if (riskType == 2) {
+ listShopId = commonOrderCountService.getSameShopOrderByUidAndHongBaoType(typeList, uid,
+ Integer.parseInt(configService.get(ConfigKeyEnum.adminMinSameShopOrderCount.getKey())));
+ if (listShopId == null || listShopId.isEmpty()) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽簵閾鸿鍗�"));
+ return;
+ }
+ } else if (riskType == 3) {
+ money = new BigDecimal(100);
+ minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L);
+ }
+ }
+
+ // 鏌ヨ鍒楄〃
+ List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key,
+ state, type, orderState, startTime, endTime, sourceType, listShopId, listGoodsId, minTime, money, payment);
+
+ // 缁熻鎬绘暟
+ long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime,
+ sourceType, listShopId, listGoodsId, minTime, money, payment);
+
+ for (CommonOrderVO order : list) {
+
+ CommonOrderGoods goods = order.getCommonOrderGoods();
+ if (goods != null) {
+ CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goods.getGoodsId()),
+ goods.getGoodsType());
+ if (commonGoods != null) {
+ String categoryInfo = commonGoods.getCategoryInfo();
+ if (!StringUtil.isNullOrEmpty(categoryInfo)) {
+ JSONObject json = JSONObject.fromObject(categoryInfo);
+ CategoryInfoDTO otherDTO = (CategoryInfoDTO) JSONObject.toBean(json, CategoryInfoDTO.class);
+ if (otherDTO != null) {
+ goods.setCategory1(otherDTO.getCid1Name());
+ goods.setCategory2(otherDTO.getCid2Name());
+ goods.setCategory3(otherDTO.getCid3Name());
+ }
+ }
+ }
+ }
+
+
+ if (order.getUserId() == null)
+ continue;
+
+ // 鏌ヨ鏄惁缁存潈
+ TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId());
+ if (weiQuanOrder != null)// 鏈夌淮鏉�
+ {
+ order.setWeiQuanState(weiQuanOrder.getState());
+ order.setState(CommonOrder.STATE_WQ);
+ TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService.selectByOrderItemIdAndUid(
+ weiQuanOrder.getOrderItemId(), Long.parseLong(order.getUserId()));
+ 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(drawBack.getDrawBackMoney().toString());
+ // 鏌ヨ鍑哄搴旂殑hongBaoId
+ CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(
+ Constant.SOURCE_TYPE_TAOBAO, drawBack.getOrderItemId());
+ if (commonOrder != null) {
+ HongBaoOrder hongBaoOrder = hongBaoOrderService
+ .selectDetailByCommonOrderId(commonOrder.getId());
+ if (hongBaoOrder != null) {
+ UserMoneyDebt debt = userMoneyDebtService.selectByTypeAndSourceId(
+ UserMoneyDebtTypeEnum.order, hongBaoOrder.getHongBaoV2().getId());
+ if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0) {
+ order.setWeiQuanBackMoney(
+ new BigDecimal(0).subtract(debt.getLeftMoney()).toString());// 鏈墸闄�
+ }
+ }
+ }
+ }
+
+ } else {// 灏氭湭閫�娆�
+ UserOrderWeiQuanRecord record = userOrderWeiQuanRecordService.selectByOrderInfoAndUid(
+ Long.parseLong(order.getUserId()), weiQuanOrder.getOrderItemId(),
+ Constant.SOURCE_TYPE_TAOBAO);
+ if (record != null)
+ order.setWeiQuanBackMoney("-" + record.getMoney());
+ 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);
+
+ 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();
+ }
+ }
+
+
+ /**
+ * 褰撳墠鏈敹璐ц鍗曟暟
+ *
+ * @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) {
+
+ String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
+ if (validateMsg != null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
+ return;
+ }
+
+ try {
+ JSONObject data = countWeiQaunOrder(dateType, 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 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) {
+
+ String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
+ if (validateMsg != null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
+ return;
+ }
+
+ try {
+ JSONObject data = countWeiQaunOrder(dateType, 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 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<ChartTDO> 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;
+ }
+
+ @RequestMapping(value = "uploadTaoBaoWeiQuanOrder")
+ public void uploadWeiQuanOrder(String callback, HttpServletRequest request, PrintWriter out) {
+ try {
+ // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷
+ if (request instanceof MultipartHttpServletRequest) {
+ MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
+ MultipartFile file = fileRequest.getFile("file");
+ List<TaoBaoWeiQuanOrder> orderList = TaoBaoOrderUtil.getWeiQuanOrders(file.getInputStream());
+ for (TaoBaoWeiQuanOrder order : orderList)
+ taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
+ // 澶勭悊缁存潈璁㈠崟
+ orderProcessService.weiQuanOrder(orderList);
+ }
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛"));
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏇存柊澶辫触"));
+ }
+ }
+
+ /**
+ * 璁㈠崟璺熻釜鍑嗙‘鐜�(鏉挎牀蹇渷鐢ㄦ埛璁㈠崟/娣樺疂鑱旂洘璁㈠崟)
+ *
+ * @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,
+ int sourceType, 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 {
+
+ Gson gson = new Gson();
+ Object objectDate = null;
+ List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
+
+ JSONArray line_list = new JSONArray();
+
+ List<ChartTDO> list = commonOrderCountService.getTrackAccuracyRate(dateType, year, startTime, endTime,
+ sourceType);
+
+ 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