From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 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 7438db7..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,15 +32,17 @@ } @Override - public void addUnreadDeviceMsg(String type, String device, int platform, int msgCount) { + 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(); update.setId(state.getId()); update.setUnReadCount(state.getUnReadCount() + msgCount); update.setUpdateTime(new Date()); + update.setLatestContent(msg); + update.setLatestContentTime(msgTime); msgDeviceReadStateMapper.updateByPrimaryKeySelective(update); - } else {// + } else { state = new MsgDeviceReadState(); state.setCreateTime(new Date()); state.setDevice(device); @@ -47,13 +50,17 @@ state.setType(type); 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()); @@ -97,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