From 8cb383dcbfd972de368cdb556eff4293d14cf33e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 15:19:13 +0800
Subject: [PATCH] Merge branch 'mater-1.6.0' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 1020 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 938 insertions(+), 82 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 1a5acd7..0c98971 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,138 +1,994 @@
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.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
-import com.yeshi.fanli.entity.admin.OrderAdmin;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
+import com.yeshi.fanli.controller.admin.utils.AdminUtils;
+import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum;
+import com.yeshi.fanli.entity.money.UserMoneyDebt;
+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.HongBaoOrder;
+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.money.UserMoneyDebtService;
+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.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.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 HongBaoService hongBaoService;
-
- @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));
- }
-
-
+ 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;
+
/**
- * 缁熻鍘嗗彶娓犻亾浜х敓璁㈠崟鐨勯噾棰�
+ * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟
+ *
* @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 request
* @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 = "countTaoBaoOrder")
+ public void countTaoBaoOrder(String callback, HttpServletRequest request, PrintWriter out) {
- if (StringUtil.isNullOrEmpty(channelArray)) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨缁熻瀵瑰簲鍚嶇О"));
+ 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,
+ 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 {
+ // 鏌ヨ鍒楄〃
+ List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key,
+ state, type, orderState, startTime, endTime, sourceType);
+
+ // 缁熻鎬绘暟
+ long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime,
+ sourceType);
+
+ // 鏌ヨ鏄惁缁存潈
+ 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(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 {// 灏氭湭閫�娆�
+ 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 (dateType == null) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎺掑垪鏂瑰紡"));
+
+ 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))) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鏃堕棿鍖洪棿"));
- return;
- }
-
- if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夌粨鏉熸棩鏈�"));
- return;
- }
-
- if (StringUtil.isNullOrEmpty(startTime) && !StringUtil.isNullOrEmpty(endTime)) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夎捣濮嬫棩鏈�"));
- return;
- }
-
+
if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
startTime = null;
endTime = null;
}
-
+
+ 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 array = new JSONArray();
+ JSONArray line_list = new JSONArray();
- for (String channel: list) {
- JSONObject channelData = new JSONObject();
- List<Object> resultList = null;
- if (type == 1) {
- resultList = hongBaoService.count24HOderByChannel(channel, dateType, year, startTime, endTime);
+ for (String channel : channelList) {
+ List<Map<String, Object>> list = hongBaoV2CountService.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("infos", 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) {
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,
+ 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<Map<String, Object>> 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();
+ }
+ }
+
+ /**
+ * 褰撳墠鏈敹璐ц鍗曟暟
+ *
+ * @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;
+ }
+
+ @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("鏇存柊澶辫触"));
+ }
+ }
+
}
--
Gitblit v1.8.0