From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 13:44:00 +0800
Subject: [PATCH] 淘礼金创建异常处理

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 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 fa1555f..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,6 +1,7 @@
 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;
@@ -17,22 +18,28 @@
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 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;
@@ -75,6 +82,15 @@
 
 	@Resource
 	private OrderProcessService orderProcessService;
+
+	@Resource
+	private HongBaoOrderService hongBaoOrderService;
+
+	@Resource
+	private UserMoneyDebtService userMoneyDebtService;
+
+	@Resource
+	private UserSystemCouponRecordService userSystemCouponRecordService;
 
 	/**
 	 * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟
@@ -128,7 +144,8 @@
 	 */
 	@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) {
+			Integer state, Integer type, Integer orderState, String startTime, String endTime, Integer sourceType,
+			PrintWriter out) {
 
 		if (pageIndex == null || pageIndex < 1) {
 			pageIndex = 1;
@@ -150,16 +167,13 @@
 		}
 
 		try {
-			long count = 0;
-
 			// 鏌ヨ鍒楄〃
 			List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key,
-					state, type, orderState, startTime, endTime);
+					state, type, orderState, startTime, endTime, sourceType);
 
-			if (list != null && list.size() > 0) {
-				// 缁熻鎬绘暟
-				count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime);
-			}
+			// 缁熻鎬绘暟
+			long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime,
+					sourceType);
 
 			// 鏌ヨ鏄惁缁存潈
 			for (CommonOrderVO order : list) {
@@ -200,7 +214,22 @@
 							// 閫�娆炬垚鍔�
 							order.setWeiQuanBackMoney(detail.getMoney().abs().toString());
 						} else {// 灏氭湭閫�娆�
-							order.setWeiQuanBackMoney("-" + order.getHongBao());
+							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 {// 灏氭湭閫�娆�
@@ -708,7 +737,7 @@
 	 */
 	@RequestMapping(value = "getTrackAccuracyRate")
 	public void getTrackAccuracyRate(String callback, Integer dateType, String year, String startTime, String endTime,
-			PrintWriter out) {
+			int sourceType, PrintWriter out) {
 
 		if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
 			startTime = null;
@@ -744,7 +773,7 @@
 			JSONArray line_list = new JSONArray();
 
 			List<Map<String, Object>> list = commonOrderCountService.getTrackAccuracyRate(dateType, year, startTime,
-					endTime);
+					endTime, sourceType);
 
 			JSONObject innerList = new JSONObject();
 			innerList.put("name", "鎬昏");

--
Gitblit v1.8.0