From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOtherMsgNotificationServiceImpl.java |  645 +++++++--------------------------------------------------
 1 files changed, 86 insertions(+), 559 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 850210b..23e1a19 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,559 +1,86 @@
-package com.yeshi.fanli.service.impl.msg;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
-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;
-import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
-import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.factory.msg.MsgOtherCouponContentDTOFactory;
-import com.yeshi.fanli.util.factory.msg.MsgOtherDetailFactory;
-import com.yeshi.fanli.vo.msg.CommonMsgItemVO;
-
-@Service
-public class UserOtherMsgNotificationServiceImpl implements UserOtherMsgNotificationService {
-
-	@Resource
-	private MsgOtherDetailService msgOtherDetailService;
-
-	private Integer getLeftDay(UserSystemCoupon coupon) {
-		if (coupon != null && coupon.getEndTime() != null) {
-			int cha = TimeUtil.getDayDifferenceCount(new Date(), coupon.getEndTime());
-			if (cha < 0)
-				return 0;
-			else
-				return cha + 1;
-		} else
-			return null;
-	}
-
-	@Override
-	public void welfareCouponGet(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponGet(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void welfareCouponActive(UserSystemCoupon coupon, UserInfo worker) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponActive(getLeftDay(coupon),
-				"鎴愬姛閭�璇风矇涓�:" + worker.getNickName(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鍙湪棣栭〉-鍏嶅崟鍟嗗搧-閫夋嫨鍟嗗搧-浣跨敤"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void welfareCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createWelfareCouponUsing(orderId, money,
-				coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void welfareCouponUsed(UserSystemCoupon coupon, String orderId) {
-		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, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void welfareCouponWillOutOfDate(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
-				.createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponWelfareMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void welfareCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
-				.createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			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();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponGet(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createCouponGet(getLeftDay(coupon),
-				coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "棣栭〉-鍏嶅崟-閫夋嫨鍟嗗搧-浣跨敤"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponUsing(UserSystemCoupon coupon, String orderId, BigDecimal money) {
-		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, MsgTypeOtherTypeEnum.couponMianDan, "瀹炰粯娆�-杩斿埄=0鍏冭喘锛堝厤鍗曪級"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponUsed(UserSystemCoupon coupon, String orderId) {
-		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, MsgTypeOtherTypeEnum.couponMianDan, "鍙備笌鍏朵粬娲诲姩鍙幏寰楁洿澶氬厤鍗曞埜"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponWillOutOfDate(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
-				.createWelfareCouponWillOutOfDate(getLeftDay(coupon), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponMianDan, "鑷冲皯鎴愬姛閭�璇�1涓矇涓濆悗鍙縺娲�"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void freeSheetCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory
-				.createWelfareCouponAlreadyOutOfDate(coupon.getSource(), coupon.getStartTime(), coupon.getEndTime());
-		try {
-			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 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(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "杩斿埄璁㈠崟宸插埌璐﹀啀杩�30%浠ヤ笂"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void rewardCouponUsed(UserSystemCoupon coupon, BigDecimal oldFanLiMoney, BigDecimal rewardMoney,
-			String orderId) {
-		if (coupon == null || coupon.getUid() == null)
-			return;
-		MsgOtherCouponContentDTO dto = MsgOtherCouponContentDTOFactory.createRewardCouponUsed(oldFanLiMoney,
-				rewardMoney, orderId);
-		try {
-			msgOtherDetailService.addMsgOtherDetail(MsgOtherDetailFactory.createCouponMsg(coupon.getUid(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "瀹屾垚閲戝竵浠诲姟锛屽厬鎹㈡洿澶氬鍔卞埜"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	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(),
-					coupon.getId(), dto, MsgTypeOtherTypeEnum.couponReward, "杩斿埄璁㈠崟宸插埌璐﹀啀杩�30%浠ヤ笂"));
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-
-	@Override
-	public void rewardCouponAlreadyOutOfDate(UserSystemCoupon coupon) {
-		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,
-					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();
-		}
-	}
-	
-	
-	@Override
-	public void createMsgOtherDetail(Long uid, List<CommonMsgItemVO> listMsg, MsgTypeOtherTypeEnum type) {
-		try {
-			if (listMsg == null || listMsg.size() == 0) {
-				return;
-			}
-			MsgOtherDetail detail = new MsgOtherDetail();
-			detail.setRead(false);
-			detail.setType(type);
-			detail.setUser(new UserInfo(uid));
-			detail.setContent(new Gson().toJson(listMsg));
-			detail.setCreateTime(new Date());
-			msgOtherDetailService.addMsgOtherDetail(detail);
-		} catch (MsgOtherDetailException e) {
-			e.printStackTrace();
-		}
-	}
-}
+package com.yeshi.fanli.service.impl.msg;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
+import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
+import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
+import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
+import com.yeshi.fanli.util.factory.msg.MsgOtherDetailFactory;
+
+@Service
+public class UserOtherMsgNotificationServiceImpl implements UserOtherMsgNotificationService {
+
+	@Resource
+	private MsgOtherDetailService msgOtherDetailService;
+	
+
+	@Transactional(rollbackFor = Exception.class)
+	private void saveMsgDetail(MsgOtherDetail detail) {
+		try {
+			msgOtherDetailService.addMsgOtherDetail(detail);
+		} catch (MsgOtherDetailException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void freeCouponWinMsg(Long uid, String name, String source, int num, String stateDesc, Date startTime, Date endTime) {
+		saveMsgDetail(MsgOtherDetailFactory.freeCouponMsg(uid, name, source, num, stateDesc, startTime, endTime));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void freeCouponEndMsg(Long uid, String name, String source, int num, String stateDesc) {
+		saveMsgDetail(MsgOtherDetailFactory.freeCouponMsg(uid, name, source, num, stateDesc, null, null));
+	}
+	
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void rewardCouponWinMsg(Long uid, String source, int num, String stateDesc, Date startTime, Date endTime) {
+		saveMsgDetail(MsgOtherDetailFactory.rewardCouponMsg(uid, source, num, stateDesc, startTime, endTime));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void rewardCouponEndMsg(Long uid, String source, int num, String stateDesc) {
+		saveMsgDetail(MsgOtherDetailFactory.rewardCouponMsg(uid, source, num, stateDesc, null, null));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void goldCoinSystemGiveMsg(Long uid, int num, int banlce) {
+		saveMsgDetail(MsgOtherDetailFactory.goldCoinSystemGiveMsg(uid, num, banlce));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void goldCoinRewardInviteSucceedMsg(Long uid, int num, int banlce, boolean directFans) {
+		saveMsgDetail(MsgOtherDetailFactory.goldCoinRewardInviteSucceedMsg(uid, num, banlce, directFans));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void  goldCoinOrderSubsidyMsg(Long uid, int num, int banlce, boolean directFans) {
+		saveMsgDetail(MsgOtherDetailFactory.goldCoinOrderSubsidyMsg(uid, num, banlce, directFans));
+	}
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void goldCoinExChangeMsg(Long uid, int num, int banlce, String name, String exNum) {
+		saveMsgDetail(MsgOtherDetailFactory.goldCoinExChangeMsg(uid, num, banlce, name, exNum));
+	}
+	
+	@Override
+	public void cloudMsg(Long uid, String category, String item, String desc) {
+		saveMsgDetail(MsgOtherDetailFactory.cloudMsg(uid, category, item, desc));
+	}
+	
+}

--
Gitblit v1.8.0