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/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