From d416e2bc71750d1e349b4a4909b5551a83d49c70 Mon Sep 17 00:00:00 2001 From: Guava Date: Wed, 21 Jun 2023 09:06:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=B6=88=E6=81=AF=E5=8F=91?= =?UTF-8?q?=E9=80=81=E4=BB=A5=E5=8F=8A=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/service/impl/MessageServiceImpl.java | 51 ++++++++++++++----- .../xboe/task/CasesRecommendPushSchedule.java | 11 +++- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/MessageServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/MessageServiceImpl.java index a474096a..b68b83ea 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/MessageServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/MessageServiceImpl.java @@ -1,24 +1,24 @@ package com.xboe.system.user.service.impl; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - import com.xboe.common.OrderCondition; -import com.xboe.core.orm.FilterCheckValue; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - import com.xboe.common.PageList; import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.QueryBuilder; import com.xboe.core.orm.UpdateBuilder; +import com.xboe.module.boecase.dao.CasesRecommendPushRecordDao; +import com.xboe.module.boecase.entity.CasesRecommendPushRecord; import com.xboe.system.user.dao.MessageDao; import com.xboe.system.user.entity.Message; import com.xboe.system.user.service.IMessageService; -import com.xboe.system.user.vo.BatchMessage; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 消息 @@ -29,6 +29,9 @@ public class MessageServiceImpl implements IMessageService { @Resource private MessageDao dao; + @Resource + private CasesRecommendPushRecordDao casesRecommendPushRecordDao; + @Override public PageList query(int pageIndex, int pageSize, String aid, Boolean isRead) { QueryBuilder builder = QueryBuilder.from(Message.class); @@ -72,6 +75,14 @@ public class MessageServiceImpl implements IMessageService { Message message = dao.get(id); if(!message.getIsRead()){ dao.updateFieldById(id,"isRead",true); + + if("99".equals(message.getRefType())){ + casesRecommendPushRecordDao.update(UpdateBuilder.from(CasesRecommendPushRecord.class) + .addUpdateField("readFlag",1) + .addUpdateField("readStartTime",new Date()) + .addFilter(FieldFilters.eq("id",message.getRefId())) + .builder()); + } } return message; } @@ -94,6 +105,20 @@ public class MessageServiceImpl implements IMessageService { @Override @Transactional public void updateIsRead(List ids) { + if(CollectionUtils.isEmpty(ids)){ + return; + } + //更新最后读时间 + for (String id:ids){ + Message message = dao.get(id); + if("99".equals(message.getRefType())){ + casesRecommendPushRecordDao.update(UpdateBuilder.from(CasesRecommendPushRecord.class) + .addUpdateField("readEndTime",new Date()) + .addFilter(FieldFilters.eq("id",message.getRefId())) + .builder()); + } + } + dao.update(UpdateBuilder.from(Message.class) .addUpdateField("isRead",true) .addFilter(FieldFilters.in("id",ids)) @@ -141,13 +166,13 @@ public class MessageServiceImpl implements IMessageService { @Override public void cleanByAcceptId(String aid) { dao.deleteByField("acceptId", aid); - + } @Override @Transactional public void batchSave(List list) { - + // for(Message msg : list) { // // } diff --git a/servers/boe-server-task/src/main/java/com/xboe/task/CasesRecommendPushSchedule.java b/servers/boe-server-task/src/main/java/com/xboe/task/CasesRecommendPushSchedule.java index ef95a988..7546b148 100644 --- a/servers/boe-server-task/src/main/java/com/xboe/task/CasesRecommendPushSchedule.java +++ b/servers/boe-server-task/src/main/java/com/xboe/task/CasesRecommendPushSchedule.java @@ -1,6 +1,7 @@ package com.xboe.task; import com.xboe.constants.CasesPushStatusEnum; +import com.xboe.core.event.IEventDataSender; import com.xboe.module.cases.entity.CasesRecommend; import com.xboe.module.cases.entity.CasesRecommendPushRecord; import com.xboe.module.cases.service.ICasesRecommendPushRecordService; @@ -34,6 +35,10 @@ public class CasesRecommendPushSchedule { @Resource private ICasesRecommendPushRecordService casesRecommendPushRecordService; + @Resource + private IEventDataSender eventDataSender; + + /** * 每分钟执行一次 */ @@ -69,7 +74,11 @@ public class CasesRecommendPushSchedule { pushRecordTemp.setId(casesRecommendPushRecord.getId()); pushRecordTemp.setPushTime(new Date()); try { - //TODO 推送 + + eventDataSender.send("案例推荐", "recommendCases", "案例推荐【" + casesRecommendPushRecord.getCaseTitle() + "】", + casesRecommendPushRecord.getCaseId(), "99", casesRecommendPushRecord.getCaseTitle(), + casesRecommendPushRecord.getSysCreateAid(), casesRecommendPushRecord.getSysCreateBy(), ""); + pushRecordTemp.setPushStatus(CasesPushStatusEnum.PUSH_SUCCESS.getStatus()); } catch (Exception e) { pushRecordTemp.setPushStatus(CasesPushStatusEnum.PUSH_FAIL.getStatus());