|
@ -19,10 +19,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.UUID;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Created by wsl on 2022/7/4
|
|
@ -76,12 +73,19 @@ public class ManageSystemPushMessageService {
|
|
|
* @param pushDate
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void addPushMessage(String content, Integer pushObjectType, String pushObjectJson, Integer pushDateType, String pushDate) {
|
|
|
public void addPushMessage(String content, Integer pushObjectType, String pushObjectJson, Integer pushDateType, String pushDate,Integer addType,String pushId) {
|
|
|
BasePushRecordLogEntity basePushRecordLogEntity = new BasePushRecordLogEntity();
|
|
|
List<BasePatientDO> basePatientDOS = null;
|
|
|
List<BasePushrecordLogInfoEntity> basePushrecordLogInfoEntityList = new ArrayList<>();
|
|
|
|
|
|
Date date =DateUtil.strToDate(pushDate);
|
|
|
if (null!=addType&&addType==2) {
|
|
|
BasePushRecordLogEntity one = basePushRecordLogDao.findOne(pushId);
|
|
|
if (one.getStatus()!=1) {
|
|
|
basePushRecordLogDao.delete(pushId);
|
|
|
basePushrecordLogInfoDao.deleteByPushId(pushId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//判断发送对象类型 1签约老人 2 部分签约老人
|
|
|
if (1 == pushObjectType) {
|
|
@ -95,31 +99,34 @@ public class ManageSystemPushMessageService {
|
|
|
basePushRecordLogEntity.setSendObject(s);
|
|
|
}
|
|
|
|
|
|
|
|
|
Integer status ;
|
|
|
//判断 1立即发送 2定时发送
|
|
|
if (1==pushDateType) {
|
|
|
SystemMessageDOListSave(basePatientDOS,content);
|
|
|
basePushRecordLogEntity.setStatus(1);
|
|
|
basePushRecordLogEntity.setSendTime(new Date());
|
|
|
basePushRecordLogEntity.setPushType("1");
|
|
|
}else {
|
|
|
//创建定时任务记录
|
|
|
basePatientDOS.forEach(logInfoDO->{
|
|
|
String data = content;
|
|
|
if (StringUtils.containsIgnoreCase(content,"【姓名】"))data = data.replace("【姓名】",logInfoDO.getName());
|
|
|
if (StringUtils.containsIgnoreCase(content,"【称谓】"))data = data.replace("【称谓】",logInfoDO.getSex()==1?"大爷":"大妈");
|
|
|
BasePushrecordLogInfoEntity basePushrecordLogInfoEntity = new BasePushrecordLogInfoEntity();
|
|
|
basePushrecordLogInfoEntity.setPatient(logInfoDO.getId());
|
|
|
basePushrecordLogInfoEntity.setPatientName(logInfoDO.getName());
|
|
|
basePushrecordLogInfoEntity.setContent(data);
|
|
|
basePushrecordLogInfoEntity.setStatus(0);
|
|
|
basePushrecordLogInfoEntity.setSendTime(date);
|
|
|
basePushrecordLogInfoEntityList.add(basePushrecordLogInfoEntity);
|
|
|
});
|
|
|
status = 1;
|
|
|
}else{
|
|
|
basePushRecordLogEntity.setSendTime(date);
|
|
|
basePushRecordLogEntity.setStatus(0);
|
|
|
basePushRecordLogEntity.setPushType("2");
|
|
|
status = 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
//创建定时任务记录
|
|
|
for (BasePatientDO logInfoDO : basePatientDOS) {
|
|
|
String data = content;
|
|
|
if (StringUtils.containsIgnoreCase(content,"【姓名】"))data = data.replace("【姓名】",logInfoDO.getName());
|
|
|
if (StringUtils.containsIgnoreCase(content,"【称谓】"))data = data.replace("【称谓】",logInfoDO.getSex()==1?"大爷":"大妈");
|
|
|
BasePushrecordLogInfoEntity basePushrecordLogInfoEntity = new BasePushrecordLogInfoEntity();
|
|
|
basePushrecordLogInfoEntity.setPatient(logInfoDO.getId());
|
|
|
basePushrecordLogInfoEntity.setPatientName(logInfoDO.getName());
|
|
|
basePushrecordLogInfoEntity.setContent(data);
|
|
|
basePushrecordLogInfoEntity.setStatus(status);
|
|
|
basePushrecordLogInfoEntity.setSendTime(date);
|
|
|
basePushrecordLogInfoEntityList.add(basePushrecordLogInfoEntity);
|
|
|
}
|
|
|
|
|
|
//日志保存
|
|
@ -173,6 +180,14 @@ public class ManageSystemPushMessageService {
|
|
|
Integer count = jdbcTemplate.queryForObject(countSql + filite, Integer.class);
|
|
|
result.put("count",count);
|
|
|
|
|
|
|
|
|
if (entityList.size()>0) {
|
|
|
for (BasePushRecordLogEntity logEntity : entityList) {
|
|
|
String patientListSql = "select patient from base_pushrecord_log_info where push_id = '"+logEntity.getId()+"'";
|
|
|
List<String> list = jdbcTemplate.queryForList(patientListSql, String.class);
|
|
|
logEntity.setPatientList(list);
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@ -207,7 +222,6 @@ public class ManageSystemPushMessageService {
|
|
|
messageDOS.add(systemMessageDO);
|
|
|
}
|
|
|
systemMessageDao.save(messageDOS);
|
|
|
|
|
|
}
|
|
|
|
|
|
|