提交消息发送以及查看

This commit is contained in:
Guava
2023-06-21 09:06:01 +08:00
parent cdbf0f61fd
commit d416e2bc71
2 changed files with 48 additions and 14 deletions

View File

@@ -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<Message> 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<String> 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<Message> list) {
// for(Message msg : list) {
//
// }

View File

@@ -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());