From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 18 一月 2020 12:06:27 +0800
Subject: [PATCH] 用户注册信息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java |  426 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 345 insertions(+), 81 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
index ddece43..ea44cd2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java
@@ -1,13 +1,24 @@
 package com.yeshi.fanli.service.impl.msg;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
 
+import com.google.gson.Gson;
+import com.yeshi.fanli.dto.msg.MsgOtherCouponActivateDTO;
 import com.yeshi.fanli.dto.msg.MsgOtherCouponContentDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherExchangeContentDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherRewardIntegralDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherSystemGiveDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherTaoLiJinContentDTO;
+import com.yeshi.fanli.dto.msg.MsgOtherVIPDTO;
+import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
 import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
 import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
 import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
@@ -40,50 +51,50 @@
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponGet(getLeftDay(coupon),
 				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void welfareCouponActive(UserSystemCoupon coupon) {
+	public void welfareCouponActive(UserSystemCoupon coupon, UserInfo worker) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponActive(getLeftDay(coupon),
-				coupon.getStartTime(), coupon.getEndTime());
+				"鎴愬姛閭�璇风矇涓�:" + worker.getNickName(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鍙湪棣栭〉-鍏嶅崟鍟嗗搧-閫夋嫨鍟嗗搧-浣跨敤"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void welfareCouponUsing(UserSystemCoupon coupon) {
+	public void welfareCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(coupon.getStartTime(),
-				coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(orderId, money,
+				coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void welfareCouponUsed(UserSystemCoupon coupon) {
+	public void welfareCouponUsed(UserSystemCoupon coupon, String orderId) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(getLeftDay(coupon),
-				coupon.getStartTime(), coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
+				"瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級", coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -96,8 +107,8 @@
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
 				.createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -108,10 +119,26 @@
 		if (coupon == null || coupon.getUid() == null)
 			return;
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
-				.createWelfareCouponAlreadyOutOfDate(coupon.getStartTime(), coupon.getEndTime());
+				.createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponWelfareMianDan, null));
+			MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
+					MsgTypeOtherTypeEnum.couponWelfareMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜");
+			detail.setCreateTime(coupon.getEndTime());
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+
+	@Override
+	public void welfareCouponDrawBack(UserSystemCoupon coupon, String orderId) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponDrawBack(getLeftDay(coupon),
+				orderId, coupon.getStartTime(), coupon.getEndTime());
+		try {
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "閫�鍥炲悗渚濈劧鍙湪鏈夋晥鏈熷唴浣跨敤"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -124,50 +151,36 @@
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponGet(getLeftDay(coupon),
 				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "棣栭〉-鍏嶅崟-閫夋嫨鍟嗗搧-浣跨敤"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void freeSheetCouponActive(UserSystemCoupon coupon) {
+	public void freeSheetCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponActive(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponUsing(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(coupon.getSource(),
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(orderId, money,
 				coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void freeSheetCouponUsed(UserSystemCoupon coupon) {
+	public void freeSheetCouponUsed(UserSystemCoupon coupon, String orderId) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsed(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
+				"瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級", coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -177,11 +190,11 @@
 	public void freeSheetCouponWillOutOfDate(UserSystemCoupon coupon) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponWillOutOfDate(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
+				.createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -191,67 +204,71 @@
 	public void freeSheetCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponAlreadyOutOfDate(coupon.getSource(),
-				coupon.getStartTime(), coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
+				.createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponMianDan, null));
+			MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
+					MsgTypeOtherTypeEnum.couponMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜");
+			detail.setCreateTime(coupon.getEndTime());
+
+			msgOtherDetailService.addMsgOtherDetail(detail);
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void rewardCouponGet(UserSystemCoupon coupon) {
+	public void freeSheetCouponDrawBack(UserSystemCoupon coupon, String orderId) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponDrawBack(getLeftDay(coupon),
+				orderId, coupon.getStartTime(), coupon.getEndTime());
+		try {
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "閫�鍥炲悗渚濈劧鍙湪鏈夋晥鏈熷唴浣跨敤"));
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+
+	@Override
+	public void rewardCouponGet(UserSystemCoupon coupon, int percent) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponGet(getLeftDay(coupon),
 				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponReward, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "杩斿埄璁㈠崟宸插埌璐﹀啀杩�30%浠ヤ笂"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void rewardCouponActive(UserSystemCoupon coupon) {
+	public void rewardCouponUsed(UserSystemCoupon coupon, BigDecimal oldFanLiMoney, BigDecimal rewardMoney,
+			String orderId) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponActive(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponUsed(oldFanLiMoney,
+				rewardMoney, orderId);
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponReward, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "瀹屾垚閲戝竵浠诲姟锛屽厬鎹㈡洿澶氬鍔卞埜"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
 	@Override
-	public void rewardCouponUsed(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponUsed(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponReward, null));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void rewardCouponWillOutOfDate(UserSystemCoupon coupon) {
+	public void rewardCouponWillOutOfDate(UserSystemCoupon coupon, int percent) {
 		if (coupon == null || coupon.getUid() == null)
 			return;
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponWillOutOfDate(
 				getLeftDay(coupon), coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponReward, null));
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "杩斿埄璁㈠崟宸插埌璐﹀啀杩�30%浠ヤ笂"));
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
@@ -264,11 +281,258 @@
 		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
 				.createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
 		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), dto,
-					MsgTypeOtherTypeEnum.couponReward, null));
+			MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
+					MsgTypeOtherTypeEnum.couponReward, "瀹屾垚閲戝竵浠诲姟锛屽厬鎹㈡洿澶氬鍔卞埜");
+			detail.setCreateTime(coupon.getEndTime());
+			msgOtherDetailService.addMsgOtherDetail(detail);
 		} catch (MsgOtherDetailException e) {
 			e.printStackTrace();
 		}
 	}
 
+	
+	
+	@Override
+	public void couponUsingFreeSheet(UserSystemCoupon coupon, String orderId, BigDecimal money, MsgTypeOtherTypeEnum type) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponUsing(orderId, money,
+				coupon.getStartTime(), coupon.getEndTime());
+		try {
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, type, "瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級"));
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void couponUsedFreeSheet(UserSystemCoupon coupon, String orderId, MsgTypeOtherTypeEnum type) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsed(orderId,
+				"瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級", coupon.getStartTime(), coupon.getEndTime());
+		try {
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, type, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜"));
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void couponDrawBack(UserSystemCoupon coupon, String orderId, MsgTypeOtherTypeEnum type) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponDrawBack(getLeftDay(coupon),
+				orderId, coupon.getStartTime(), coupon.getEndTime());
+		try {
+			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
+					coupon.getId(), dto, type, "閫�鍥炲悗渚濈劧鍙湪鏈夋晥鏈熷唴浣跨敤"));
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void outOfDate(UserSystemCoupon coupon, MsgTypeOtherTypeEnum type) {
+		if (coupon == null || coupon.getUid() == null)
+			return;
+		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
+				.createRewardCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
+		try {
+			MsgOtherDetail detail = MsgOtherDetailFactory.createCouponMsg(coupon.getUid(), coupon.getId(), dto,
+					type, "鍙備笌娲诲姩鍙幏鍙栨洿澶氬鍔卞埜");
+			detail.setCreateTime(coupon.getEndTime());
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void giveCouponActivateMsg(Long uid, String beiZhu, MsgOtherCouponActivateDTO content) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(content));
+			detail.setType(MsgTypeOtherTypeEnum.couponActivate);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void taoLiJinMsg(Long uid, String beiZhu, MsgOtherTaoLiJinContentDTO content) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(content));
+			detail.setType(MsgTypeOtherTypeEnum.taoLiJin);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+
+	
+	@Override
+	public void tokenGiveMsg(Long uid, String beiZhu,  MsgOtherGiveContentDTO content) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(content));
+			detail.setType(MsgTypeOtherTypeEnum.give);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	
+	@Override
+	public void exchangeMsg(Long uid, String beiZhu,  MsgOtherExchangeContentDTO content) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(content));
+			detail.setType(MsgTypeOtherTypeEnum.exchange);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void firstOrderRewardMsg(Long uid, String beiZhu,  MsgOtherRewardIntegralDTO content) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(content));
+			detail.setType(MsgTypeOtherTypeEnum.firstOrderReward);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+
+	@Override
+	public void systemGiveRewardCoupon(Long uid, String beiZhu, MsgOtherSystemGiveDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.systemGive);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void taoLiJinExchangeMsg(Long uid, String beiZhu, MsgOtherRewardIntegralDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.taoLiJinExchange);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void passVIPApplyMsg(Long uid, String beiZhu, MsgOtherVIPDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.passVIPApply);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void rejectVIPApply(Long uid, String beiZhu, MsgOtherVIPDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.rejectVIPApply);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void teamVIPCallBoss(Long uid, String beiZhu, MsgOtherVIPDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.teamVIPCallBoss);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	
+	@Override
+	public void teamSplitCallBoss(Long uid, String beiZhu, MsgOtherVIPDTO dto) {
+		try {
+			MsgOtherDetail detail = new MsgOtherDetail();
+			detail.setBeiZhu(beiZhu);
+			detail.setCreateTime(new Date());
+			detail.setRead(false);
+			detail.setUser(new UserInfo(uid));
+			detail.setContent(new Gson().toJson(dto));
+			detail.setType(MsgTypeOtherTypeEnum.teamSplitCallBoss);
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
 }

--
Gitblit v1.8.0