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 | 32 +++++++++++++++++++++++++++++--- 1 files changed, 29 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 1f3fff7..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 @@ -1,10 +1,12 @@ package com.yeshi.fanli.service.impl.msg; import java.util.Date; +import java.util.List; 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; @@ -30,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); @@ -46,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()); @@ -86,4 +94,22 @@ } } + @Override + public int getUnReadCount(String device, int platform) { + int totalCount = 0; + List<MsgDeviceReadState> stateList = msgDeviceReadStateMapper.listByDeviceAndPlatform(device, platform); + for (MsgDeviceReadState state : stateList) { + totalCount += state.getUnReadCount(); + } + 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