From fe879975a3e8a0a1aa280fb839e02d159bfbcff8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 27 八月 2019 18:04:38 +0800 Subject: [PATCH] 金币任务多次获取bug修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java | 27 +++++++++++++++++++++++++-- 1 files changed, 25 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..ac81ebf 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,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,6 +49,8 @@ state.setType(type); state.setUnReadCount(msgCount); state.setUpdateTime(new Date()); + state.setLatestContent(msg); + state.setLatestContentTime(msgTime); msgDeviceReadStateMapper.insertSelective(state); } } @@ -86,4 +91,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