From 71298bf0680d1204d403a9f9bd11e985088c8495 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 08 一月 2019 16:35:54 +0800
Subject: [PATCH] 新版订单与返利的修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java |   72 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
index 90402ea..8e712c0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -2,6 +2,7 @@
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -758,6 +759,7 @@
 				updateHongBao.setId(hongBao.getId());
 				updateHongBao.setGetTime(new Date());
 				updateHongBao.setState(HongBaoV2.STATE_YILINGQU);
+				updateHongBao.setUpdateTime(new Date());
 				hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
 				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
 				hbIdList.add(hongBao.getId());
@@ -799,6 +801,7 @@
 				updateHongBao.setId(hb.getId());
 				updateHongBao.setGetTime(new Date());
 				updateHongBao.setState(HongBaoV2.STATE_YILINGQU);
+				updateHongBao.setUpdateTime(new Date());
 				hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
 				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
 				hbIdList.add(hb.getId());
@@ -819,8 +822,23 @@
 
 			// 娣诲姞鏂扮増璇︽儏璁板綍
 			try {
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, 0, 0, 0, invitemoney,
-						new Date());
+				// 鏌ヨ閭�璇疯禋鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗�
+				Calendar ca = Calendar.getInstance();
+				Date maxDate = new Date(TimeUtil
+						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
+				ca.add(Calendar.MONTH, -1);
+
+				Date minDate = new Date(TimeUtil
+						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
+				long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS,
+						minDate, maxDate);
+				long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
+						minDate, maxDate);
+				long invalidCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_SX,
+						minDate, maxDate);
+
+				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, (int) validCount,
+						(int) weiQuanCount, (int) invalidCount, invitemoney, new Date());
 				userMoneyDetail.setId(accountDetails.getId());
 				userMoneyDetailMapper.insert(userMoneyDetail);
 			} catch (UserMoneyDetailException e) {
@@ -869,6 +887,7 @@
 				updateHongBao.setId(hongBao.getId());
 				updateHongBao.setGetTime(new Date());
 				updateHongBao.setState(HongBao.STATE_YILINGQU);
+				updateHongBao.setUpdateTime(new Date());
 				hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
 				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
 				hbIdList.add(hongBao.getId());
@@ -897,8 +916,24 @@
 
 			// 娣诲姞鏂扮増璇︽儏璁板綍
 			try {
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, 0, 0, 0, sharemoney,
-						new Date());
+				// 璁$畻鏈湀鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗�
+				Calendar ca = Calendar.getInstance();
+
+				Date maxDate = new Date(TimeUtil
+						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
+				ca.add(Calendar.MONTH, -1);
+
+				Date minDate = new Date(TimeUtil
+						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
+				long validCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid,
+						CommonOrder.STATE_JS, minDate, maxDate);
+				long weiQuanCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid,
+						CommonOrder.STATE_WQ, minDate, maxDate);
+				long invalidCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid,
+						CommonOrder.STATE_SX, minDate, maxDate);
+
+				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, (int) validCount,
+						(int) weiQuanCount, (int) invalidCount, sharemoney, new Date());
 				userMoneyDetail.setId(accountDetails.getId());
 				userMoneyDetailMapper.insert(userMoneyDetail);
 			} catch (UserMoneyDetailException e) {
@@ -998,13 +1033,14 @@
 			orderMapper.updateByPrimaryKeySelective(updateOrder);
 
 			// 鐢ㄧ涓�涓瓙璁㈠崟閿佸畾鐢ㄦ埛
-			for (TaoBaoOrder taoBaoOrder : orderList) {
+			List<CommonOrder> commonOrderList = null;
+			try {
+				commonOrderList = commonOrderService.addTaoBaoOrder(orderList, uid);
+				hongBaoV2Service.addHongBao(commonOrderList, HongBaoV2.TYPE_ZIGOU);
+			} catch (CommonOrderException e) {
 				try {
-					CommonOrder commonOrder = commonOrderService.addTaoBaoOrder(taoBaoOrder, uid);
-					hongBaoV2Service.addHongBao(commonOrder, HongBaoV2.TYPE_ZIGOU);
-				} catch (CommonOrderException e) {
-					e.printStackTrace();
-				} catch (HongBaoException e1) {
+					LogHelper.errorDetailInfo(e, null, "璁㈠崟鍙�:" + orderId);
+				} catch (Exception e1) {
 					e1.printStackTrace();
 				}
 			}
@@ -1028,15 +1064,13 @@
 				return;
 
 			// 鐢ㄧ涓�涓瓙璁㈠崟閿佸畾鐢ㄦ埛
-			for (TaoBaoOrder taoBaoOrder : orderList) {
-				try {
-					CommonOrder commonOrder = commonOrderService.addTaoBaoOrder(taoBaoOrder, uid);
-					hongBaoV2Service.addHongBao(commonOrder, HongBaoV2.TYPE_SHARE_GOODS);
-				} catch (CommonOrderException e) {
-					e.printStackTrace();
-				} catch (HongBaoException e1) {
-					e1.printStackTrace();
-				}
+			try {
+				List<CommonOrder> commonOrders = commonOrderService.addTaoBaoOrder(orderList, uid);
+				hongBaoV2Service.addHongBao(commonOrders, HongBaoV2.TYPE_SHARE_GOODS);
+			} catch (CommonOrderException e) {
+				e.printStackTrace();
+			} catch (HongBaoException e1) {
+				e1.printStackTrace();
 			}
 		}
 

--
Gitblit v1.8.0