From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java
index a22c6fe..c2f91b0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java
@@ -6,15 +6,19 @@
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.google.gson.Gson;
 import com.yeshi.fanli.dao.mybatis.msg.MsgOtherDetailMapper;
+import com.yeshi.fanli.entity.bus.msg.MsgExtra;
 import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
 import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum;
 import com.yeshi.fanli.exception.msg.MsgOtherDetailException;
+import com.yeshi.fanli.service.inter.msg.MsgExtraService;
 import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
 import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
 
 @Service
 public class MsgOtherDetailServiceImpl implements MsgOtherDetailService {
@@ -25,22 +29,20 @@
 	@Resource
 	private UserMsgReadStateService userMsgReadStateService;
 
+	@Resource
+	private MsgExtraService msgExtraService;
+	
+	
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void addMsgOtherDetail(MsgOtherDetail detail) throws MsgOtherDetailException {
-		if (detail.getType() == MsgTypeOtherTypeEnum.couponMianDan
-				|| detail.getType() == MsgTypeOtherTypeEnum.couponReward
-				|| detail.getType() == MsgTypeOtherTypeEnum.couponWelfareMianDan) {
-			if (detail.getCoupnContent() == null)
-				throw new MsgOtherDetailException(1, "鍐呭涓虹┖");
-			detail.setContent(new Gson().toJson(detail.getCoupnContent()));
-			if (detail.getCreateTime() == null)
-				detail.setCreateTime(new Date());
-			msgOtherDetailMapper.insertSelective(detail);
-			userMsgReadStateService.addOtherMsgUnReadCount(detail.getUser().getId(), 1);
-		} else {
-			msgOtherDetailMapper.insertSelective(detail);
-			userMsgReadStateService.addOtherMsgUnReadCount(detail.getUser().getId(), 1);
+		if (detail == null || detail.getUser() == null || StringUtil.isNullOrEmpty(detail.getExtraInfo())) {
+			throw new MsgOtherDetailException(1, "娑堟伅鍐呭涓嶅叏");
 		}
+		
+		msgOtherDetailMapper.insertSelective(detail);
+		msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_OTHER);
+		userMsgReadStateService.addOtherMsgUnReadCount(detail.getUser().getId(), 1);
 	}
 
 	@Override
@@ -74,4 +76,14 @@
 		msgOtherDetailMapper.setMsgReadByUid(uid);
 	}
 
+	@Override
+	public MsgOtherDetail selectByPrimaryKey(Long id) {
+		return msgOtherDetailMapper.selectByPrimaryKey(id);
+	}
+	
+	@Override
+	public void deleteByPrimaryKey(Long id) {
+		msgOtherDetailMapper.deleteByPrimaryKey(id);
+		msgExtraService.deleteByPidAndType(id, MsgExtra.MSG_TYPE_OTHER);
+	}
 }

--
Gitblit v1.8.0