From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 06 五月 2020 12:02:09 +0800
Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java
index a286dba..7885691 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java
@@ -6,6 +6,7 @@
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.msg.MsgDeviceReadStateMapper;
 import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
@@ -31,7 +32,7 @@
 	}
 
 	@Override
-	public void addUnreadDeviceMsg(String type, String device, int platform, int msgCount, String msg) {
+	public void addUnreadDeviceMsg(String type, String device, int platform, int msgCount, String msg, Date msgTime) {
 		MsgDeviceReadState state = msgDeviceReadStateMapper.selectByDeviceAndPlatformAndType(device, platform, type);
 		if (state != null) {
 			MsgDeviceReadState update = new MsgDeviceReadState();
@@ -39,6 +40,7 @@
 			update.setUnReadCount(state.getUnReadCount() + msgCount);
 			update.setUpdateTime(new Date());
 			update.setLatestContent(msg);
+			update.setLatestContentTime(msgTime);
 			msgDeviceReadStateMapper.updateByPrimaryKeySelective(update);
 		} else {
 			state = new MsgDeviceReadState();
@@ -49,13 +51,16 @@
 			state.setUnReadCount(msgCount);
 			state.setUpdateTime(new Date());
 			state.setLatestContent(msg);
+			state.setLatestContentTime(msgTime);
 			msgDeviceReadStateMapper.insertSelective(state);
 		}
 	}
 
+	@Transactional
 	@Override
 	public MsgDeviceReadState getByDeviceAndPlatformAndType(String type, String device, int platform) {
-		MsgDeviceReadState state = msgDeviceReadStateMapper.selectByDeviceAndPlatformAndType(device, platform, type);
+		MsgDeviceReadState state = msgDeviceReadStateMapper.selectByDeviceAndPlatformAndTypeForUpdate(device, platform,
+				type);
 		if (state == null) {
 			state = new MsgDeviceReadState();
 			state.setCreateTime(new Date());
@@ -99,4 +104,12 @@
 		return totalCount;
 	}
 
+	@Override
+	public int getUnReadCount(String device, int platform, String type) {
+		MsgDeviceReadState state = getByDeviceAndPlatformAndType(type, device, platform);
+		if (state == null)
+			return 0;
+		return state.getUnReadCount() == null ? 0 : state.getUnReadCount();
+	}
+
 }

--
Gitblit v1.8.0