From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgOtherDetailServiceImpl.java |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 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 284ea93..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,14 +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 {
@@ -21,18 +26,23 @@
 	@Resource
 	private MsgOtherDetailMapper msgOtherDetailMapper;
 
-	@Override
-	public void addMsgOtherDetail(MsgOtherDetail detail) throws MsgOtherDetailException {
+	@Resource
+	private UserMsgReadStateService userMsgReadStateService;
 
-		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()));
-			detail.setCreateTime(new Date());
-			msgOtherDetailMapper.insertSelective(detail);
+	@Resource
+	private MsgExtraService msgExtraService;
+	
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void addMsgOtherDetail(MsgOtherDetail detail) throws MsgOtherDetailException {
+		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
@@ -45,6 +55,7 @@
 			if (detail.getCoupnContent() == null)
 				throw new MsgOtherDetailException(1, "鍐呭涓虹┖");
 			detail.setContent(new Gson().toJson(detail.getCoupnContent()));
+			if(detail.getUpdateTime()==null)
 			detail.setUpdateTime(new Date());
 			msgOtherDetailMapper.updateByPrimaryKeySelective(detail);
 		}
@@ -65,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