From 8c04d27e5cebb7e654c208533e9567c4df2c8acc Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 12 十二月 2019 14:21:44 +0800
Subject: [PATCH] 券时间限制

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java |   85 +++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 39 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
index 2b17f89..c37fa76 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
@@ -28,7 +28,8 @@
 import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
 import com.yeshi.fanli.dto.HongBao;
-import com.yeshi.fanli.dto.order.OrderMoneyRecievedMQMsgDTO;
+import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
+import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
@@ -59,6 +60,7 @@
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager;
 import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
 
@@ -152,9 +154,9 @@
 		}
 
 		// 閭�璇疯禋鍒拌处浜嬪姟娑堟伅
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
+				sourceType, null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -215,9 +217,9 @@
 		}
 
 		// 閭�璇疯禋鍒拌处浜嬪姟娑堟伅
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
+				sourceType, null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -274,9 +276,9 @@
 		}
 
 		// 閭�璇疯禋鍒拌处浜嬪姟娑堟伅
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
+				sourceType, null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -315,9 +317,9 @@
 				hongBaoList.addAll(tempHongBaoList);
 		}
 
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType,
+				null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -360,9 +362,9 @@
 				hongBaoList.addAll(tempHongBaoList);
 		}
 
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType,
+				null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -401,9 +403,9 @@
 				hongBaoList.addAll(tempHongBaoList);
 		}
 
-		OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid,
-				sourceType, null, null, new Date());
-		Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes());
+		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType,
+				null, null, new Date(), 0);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -422,7 +424,7 @@
 
 	@Transactional
 	@Override
-	public void ziGouSettle(String orderId, int sourceType,String taskKey) throws OrderMoneySettleException {
+	public void ziGouSettle(String orderId, int sourceType, String taskKey) throws OrderMoneySettleException {
 		// 鏌ヨ鍚屼竴璁㈠崟鍙风殑绾㈠寘
 		List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId);
 		List<HongBaoV2> hongBaoList = new ArrayList<>();
@@ -466,6 +468,10 @@
 			}
 		}
 
+		// if (userMoney.isEmpty()) {
+		// throw new OrderMoneySettleException(1, "娌℃湁闇�瑕佺粨绠楃殑璁㈠崟");
+		// }
+
 		Iterator<Long> its = userMoney.keySet().iterator();
 
 		while (its.hasNext()) {
@@ -486,8 +492,8 @@
 			}
 
 			userMoneyService.addUserMoney(uid, money, userMoneyDetail);
-			
-			List<Long> hbIdList=new ArrayList<>();
+
+			List<Long> hbIdList = new ArrayList<>();
 			// 娣诲姞璧勯噾鏄庣粏涓庣孩鍖呯殑鏄犲皠鍏崇郴
 			for (HongBaoV2 v2 : userHongBao.get(uid)) {
 				hbIdList.add(v2.getId());
@@ -498,7 +504,7 @@
 					LogHelper.errorDetailInfo(e);
 				}
 			}
-			//娣诲姞缁撶畻鏄犲皠
+			// 娣诲姞缁撶畻鏄犲皠
 			hongBaoV2SettleTempService.addTemp(hbIdList, taskKey);
 
 			// 绔欏唴淇�+鎺ㄩ��
@@ -539,10 +545,9 @@
 			} else
 				throw new OrderMoneySettleException(e.getCode(), "缁存潈澶勭悊鍑洪敊:" + e.getMsg());
 		}
-		
-		//娣诲姞缁撶畻鏄犲皠
-		
-		
+
+		// 娣诲姞缁撶畻鏄犲皠
+
 	}
 
 	private HongBaoV2 filterWeiQuanINGHongBao(HongBaoV2 hongBao) {
@@ -622,9 +627,9 @@
 				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);
+						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
 				long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate);
+						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
 
 				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, Constant.SOURCE_TYPE_TAOBAO,
 						(int) validCount, (int) weiQuanCount, invitemoney, new Date());
@@ -708,9 +713,9 @@
 				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);
+						minDate, maxDate, sourceType);
 				long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate);
+						minDate, maxDate, sourceType);
 
 				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, sourceType, (int) validCount,
 						(int) weiQuanCount, invitemoney, new Date());
@@ -806,9 +811,9 @@
 				Date minDate = new Date(TimeUtil
 						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
 				long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS,
-						minDate, maxDate);
+						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
 				long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate);
+						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
 
 				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO,
 						(int) validCount, (int) weiQuanCount, sharemoney, new Date());
@@ -904,12 +909,12 @@
 				Date minDate = new Date(TimeUtil
 						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
 				long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS,
-						minDate, maxDate);
+						minDate, maxDate, sourceType);
 				long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate);
+						minDate, maxDate, sourceType);
 
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO,
-						(int) validCount, (int) weiQuanCount, sharemoney, new Date());
+				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, (int) validCount,
+						(int) weiQuanCount, sharemoney, new Date());
 				// 娣诲姞璧勯噾
 				userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
 
@@ -961,7 +966,7 @@
 			for (HongBaoV2SettleTemp temp : list) {
 				Long hongBaoId = temp.getHongBaoId();
 				HongBaoV2 hongBao = hongBaoV2Mapper.selectByPrimaryKey(hongBaoId);
-				if (sourceType != null)
+				if (hongBao != null)
 					sourceType = hongBao.getOrderType();
 				if (hongBao.getParent() != null)
 					hongBao = hongBao.getParent();
@@ -1018,7 +1023,9 @@
 				}
 				// 娣诲姞璧勯噾
 				userMoneyService.addUserMoney(uid, totalMoney, userMoneyDetail);
-				// TODO 娣诲姞娑堟伅
+				// 娣诲姞娑堟伅
+				userMoneyMsgNotificationService.inviteOrderSubSidy(uid, new Date(), "绯荤粺鑷姩涓嬪彂", totalMoney,
+						userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao());
 			}
 		}
 	}

--
Gitblit v1.8.0