From a2e287f9bfec6f64bcd1dce4155b0139d1474cb7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 10 六月 2019 12:15:57 +0800 Subject: [PATCH] 设备消息,用户消息总未读消息修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java | 25 +++++++++++++++++++++++-- 1 files changed, 23 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 1f3fff7..e7cd750 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,6 +1,7 @@ package com.yeshi.fanli.service.impl.msg; import java.util.Date; +import java.util.List; import javax.annotation.Resource; @@ -30,15 +31,16 @@ } @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) { 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); msgDeviceReadStateMapper.updateByPrimaryKeySelective(update); - } else {// + } else { state = new MsgDeviceReadState(); state.setCreateTime(new Date()); state.setDevice(device); @@ -46,6 +48,7 @@ state.setType(type); state.setUnReadCount(msgCount); state.setUpdateTime(new Date()); + state.setLatestContent(msg); msgDeviceReadStateMapper.insertSelective(state); } } @@ -86,4 +89,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