diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index a81568f..dff25ca 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -809,7 +809,6 @@ public class BabyBookbuildingFacade { continue; } - MsgListRequest smsList = new MsgListRequest(); List messages = new ArrayList<>(); MsgRequest mr = new MsgRequest(); @@ -833,26 +832,13 @@ public class BabyBookbuildingFacade { mr.setRemark(""); mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); mr.setSmsStatus(SmsStatusEnums.WFS.getId()); - mr.setServiceType(startType); + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); mr.setWxTempId(WxTempleteIdEnums.ER_TONG_OPEN.getId()); messages.add(mr); + ExceptionUtils.catchException("child build msg = " + mr); if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION)) - { - //秦皇岛、威县建档 - if (syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), babyModel.getHospitalId())) { - ExceptionUtils.catchException("The child build is saved.;" + babyModel.getMphone() + ";name=" + babyModel.getName()); - } - } - else - { - //线上 - MessageCenterService.saveMsgCenter(smsList); - ExceptionUtils.catchException("The child build is saved." + babyModel.getMphone() + ";name=" + babyModel.getName()); - } + smsConfigFacade.saveMsg(messages, babyModel.getHospitalId()); } } } @@ -890,13 +876,11 @@ public class BabyBookbuildingFacade { String messagePrefix = smsConfigFacade.getMsgPrefix(configModel, babyModel.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); for (SmsTemplateModel templateModel : sendList) { if (templateModel != null && templateModel.getStatus() == 1) { - ExceptionUtils.catchException("The child build status is opened.;" + babyModel.getMphone() + ";name=" + babyModel.getName()); - MsgListRequest smsList = new MsgListRequest(); + List messages = new ArrayList<>(); MsgRequest mr = new MsgRequest(); String content = "【" + messagePrefix + "】" + templateModel.getContent(); - mr.setFirst(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content)); mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); mr.setPhone(babyModel.getMphone()); @@ -921,18 +905,7 @@ public class BabyBookbuildingFacade { messages.add(mr); if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION)) - { - //秦皇岛、威县建档 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), babyModel.getHospitalId()); - } - else - { - //线上 - MessageCenterService.saveMsgCenter(smsList); - } + smsConfigFacade.saveMsg(messages,babyModel.getHospitalId()); } } } @@ -941,151 +914,6 @@ public class BabyBookbuildingFacade { /** - * 创建建档短信 - */ -// public void createBuildSms(BabyModel babyModel) { -// -// //判断医院是否启动和对应的服务项是否启用 -// SmsConfigModel configModel = new SmsConfigModel(); -// BaseResponse response = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId()); -// if (response != null) { -// return; -// } -// -// ExceptionUtils.catchException("儿童建档1---------->" + babyModel.getMphone() + ";name=" + babyModel.getName()); -// -// SmsTemplateQuery query = new SmsTemplateQuery(); -// query.setYn(YnEnums.YES.getId()); -// query.setStatus(1); -// query.setHospitalId(babyModel.getHospitalId()); -// query.setServiceObj(ServiceObjEnums.BABYOBJ.getId()); -// query.setSpecialDateType(SpecialDateEnums.JD.getId()); -// -// Integer serviceType = babyModel.getServiceType(); -// Integer serviceStatus = babyModel.getServiceStatus(); -// List sendList = new ArrayList<>(); -// List temps = smsTemplateService.querySmsTemplates(query); -// if (CollectionUtils.isNotEmpty(temps)) { -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) { -// sendList.add(temp); -// break; -// } -// } -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceStatus() == ServiceStatusEnums.STANDARD_ALL.getId()) { -// if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId()) { -// sendList.add(temp); -// break; -// } -// } -// } -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) { -// if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId() -// || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) { -// sendList.add(temp); -// break; -// } -// } -// } -// -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) { -// if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) { -// sendList.add(temp); -// break; -// } -// } -// } -// -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_NO_OPEN.getId()) { -// if (serviceStatus == ServiceStatusEnums.NO_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId()) { -// sendList.add(temp); -// break; -// } -// } -// } -// -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) { -// if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) { -// sendList.add(temp); -// break; -// } -// } -// } -// -// -// for (SmsTemplateModel temp : temps) { -// if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) { -// sendList.add(temp); -// break; -// } -// } -// -// if (CollectionUtils.isNotEmpty(sendList)) { -// -// -// //短信前缀 -// String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, babyModel.getBuildDoctor()); -// for (SmsTemplateModel templateModel : sendList) { -// if (templateModel != null && templateModel.getStatus() == 1) { -// ExceptionUtils.catchException("儿童建档2---------->"+babyModel.getMphone()+";name="+babyModel.getName()); -// MsgListRequest smsList = new MsgListRequest(); -// List messages = new ArrayList<>(); -// MsgRequest mr = new MsgRequest(); -// String content = "【" + messagePrefix + "】" + templateModel.getContent(); -// mr.setContent(StringUtils.replaceBaby(babyModel.getName(), babyModel.getBirth(), content)); -// mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); -// mr.setPhone(babyModel.getMphone()); -// //短信商 -// mr.setServiceType(SmsProviderEnums.YM.getId()); -// mr.setTypeId(ProjectTypeEnums.YNXT.getId()); -// mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); -// mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); -// mr.setStatus(SmsStatusEnums.WFS.getId()); -// mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); -// -// mr.setExt1(babyModel.getHospitalId()); -// mr.setExt2(templateModel.getId()); -// mr.setExt3(babyModel.getId()); -// messages.add(mr); -// -// if (CollectionUtils.isNotEmpty(messages)) { -// smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); -// smsList.setMessages(messages); -// if ("4".equals(HIS_VERSION)) -// { -// //秦皇岛建档 -// if (syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getExt1())) { -// ExceptionUtils.catchException("儿童建档3---------->"+babyModel.getMphone()+";name="+babyModel.getName()); -// } -// } -// else -// { -// //线上 -// MessageCenterService.saveSmsCenter(smsList); -// ExceptionUtils.catchException("儿童建档3---------->" + babyModel.getMphone() + ";name=" + babyModel.getName()); -// } -// } -// } -// } -// } -// -// -// } -// } - - - /** * 准备修改和添加的孕妇建档数据 * * @param request @@ -2385,7 +2213,6 @@ public class BabyBookbuildingFacade { sendModels = getBabayListByCondition(request.getRequest(), false, babyQuery); } - MsgListRequest smsList = new MsgListRequest(); List messages = new ArrayList<>(); if (CollectionUtils.isNotEmpty(sendModels)) { @@ -2430,21 +2257,7 @@ public class BabyBookbuildingFacade { } if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - //调用发送接口 - if ("4".equals(HIS_VERSION)) - { - //秦皇岛 - //保存到同步表中 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId()); - } - else - { - //保存到短信中心 线上 - MessageCenterService.saveMsgCenter(smsList); - } - + smsConfigFacade.saveMsg(messages,messages.get(0).getHospitalId()); } BaseResponse objectResponse = new BaseResponse(); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 1061c8f..cfb08b7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -607,8 +607,6 @@ public class BookbuildingFacade { continue; } - - MsgListRequest smsList = new MsgListRequest(); List messages = new ArrayList<>(); MsgRequest mr = new MsgRequest(); Date dueDate = DateUtil.addMonth(patient.getLastMenses(), 9); @@ -627,8 +625,7 @@ public class BookbuildingFacade { mr.setTempId(templateModel.getId()); mr.setPatientId(patient.getId()); mr.setSmsStatus(SmsStatusEnums.WFS.getId()); - mr.setServiceType(startType); - + mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); //判断发送类型 mr.setKeyword1(patient.getUsername()); mr.setKeyword2(DateUtil.getyyyy_MM_dd(dueDate)); @@ -640,17 +637,7 @@ public class BookbuildingFacade { messages.add(mr); ExceptionUtils.catchException("patient build msg = " + messages); if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - //调用发送接口 - if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION)) { - //秦皇岛 - //保存到同步表中 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId()); - } else { - //保存到短信中心 线上 - MessageCenterService.saveMsgCenter(smsList); - } + smsConfigFacade.saveMsg(messages,patient.getHospitalId()); } } } @@ -658,128 +645,6 @@ public class BookbuildingFacade { } } - - /** - * 创建孕妇建档短信 - */ - private void createBuildSms(Patients patient) { - - //判断医院是否启动和对应的服务项是否启用 - SmsConfigModel configModel = new SmsConfigModel(); - int startType = smsConfigFacade.hospitalIsStart(patient.getHospitalId(), configModel, SmsServiceEnums.FWKT.getId()); - if (startType == 0) { - return; - } - - SmsTemplateQuery query = new SmsTemplateQuery(); - query.setYn(YnEnums.YES.getId()); - query.setStatus(1); - query.setHospitalId(patient.getHospitalId()); - query.setServiceObj(ServiceObjEnums.YUNOBJ.getId()); - query.setSpecialDateType(SpecialDateEnums.JD.getId()); - - Integer serviceType = patient.getServiceType(); - Integer serviceStatus = patient.getServiceStatus(); - - List sendList = new ArrayList<>(); - - List temps = smsTemplateService.querySmsTemplates(query); - if (CollectionUtils.isNotEmpty(temps)) { - - for (SmsTemplateModel temp : temps) { - if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) { - sendList.add(temp); - } else if (temp.getServiceType() == serviceType && temp.getServiceStatus() == serviceStatus) { - sendList.add(temp); - } else if (temp.getServiceStatus() == ServiceStatusEnums.ADD_ALL.getId()) { - if (serviceStatus == ServiceStatusEnums.ADD_OPEN.getId() || serviceStatus == ServiceStatusEnums.UNSUBSCRIBE.getId() - || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.SUSPEND.getId()) { - sendList.add(temp); - } - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OPEN.getId()) { - if (serviceStatus == ServiceStatusEnums.STANDARD_OPEN.getId() || serviceStatus == ServiceStatusEnums.ADD_OPEN.getId()) { - sendList.add(temp); - } - } else if (temp.getServiceStatus() == ServiceStatusEnums.ALL_OVERDUE.getId()) { - if (serviceStatus == ServiceStatusEnums.STANDARD_OVERDUE.getId() || serviceStatus == ServiceStatusEnums.ADD_OVERDUE.getId()) { - sendList.add(temp); - } - } else if (temp.getServiceType() == ServiceTypeEnums.ALL_SERVICE.getId() && temp.getServiceStatus() == ServiceStatusEnums.ALL.getId()) { - sendList.add(temp); - } - } - - if (CollectionUtils.isNotEmpty(sendList)) { - - //短信前缀 - String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, patient.getBookbuildingDoctor()); - for (SmsTemplateModel templateModel : sendList) { - if (templateModel != null && templateModel.getStatus() == 1) { - MessageListRequest smsList = new MessageListRequest(); - List messages = new ArrayList<>(); - MessageRequest mr = new MessageRequest(); - Date dueDate = DateUtil.addDay(patient.getLastMenses(), 7); - dueDate = DateUtil.addMonth(dueDate, 9); - String content = StringUtils.replaceEL(patient.getUsername(), dueDate, templateModel.getContent()); - - mr.setContent("【" + messagePrefix + "】" + content); - mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); - mr.setPhone(patient.getPhone()); - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); - //短信商 - mr.setServiceType(SmsProviderEnums.YM.getId()); - mr.setTypeId(ProjectTypeEnums.YNXT.getId()); - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); - mr.setStatus(SmsStatusEnums.WFS.getId()); - mr.setExt1(patient.getHospitalId()); - mr.setExt2(templateModel.getId()); - mr.setExt3(patient.getId()); - messages.add(mr); - - if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - //调用发送接口 - - ExceptionUtils.catchException("patient build msg = " + messages); - if ("4".equals(HIS_VERSION)) { - //秦皇岛 - //保存到同步表中 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getExt1()); - } else { - //保存到短信中心 线上 - MessageCenterService.saveSmsCenter(smsList); - } - } - } - } - } - } - } - - - /** - * 判断对应服务是否启动 - */ - private boolean isStartService(Integer smsType, String serviceStr) { - if (StringUtils.isEmpty(serviceStr)) { - return false; - } - //消息服务启动 - List smsServices = JsonUtil.toList(serviceStr, Map.class); - - if (CollectionUtils.isNotEmpty(smsServices)) { - for (Map map : smsServices) { - String status = String.valueOf(map.get(String.valueOf(smsType))); - if ("true".equals(status)) { - return true; - } - } - } - return false; - } - /** * 更新孕妇信息 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 71c8c8a..785701c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -768,7 +768,6 @@ public class PatientFacade { return objectResponse; } - MsgListRequest smsList = new MsgListRequest(); List messages = new ArrayList<>(); List sendModels = new ArrayList<>(); if (CollectionUtils.isNotEmpty(patientGuideSmsRequest.getIds())) { @@ -821,17 +820,7 @@ public class PatientFacade { } if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - //调用发送接口 - if ("4".equals(HIS_VERSION)) { - //秦皇岛 - //保存到同步表中 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId()); - } else { - //保存到短信中心 线上 - MessageCenterService.saveMsgCenter(smsList); - } + smsConfigFacade.saveMsg(messages, messages.get(0).getHospitalId()); } } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java index e0015a7..07d6fa4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ResidentsArchiveFacade.java @@ -763,7 +763,6 @@ public class ResidentsArchiveFacade{ return objectResponse; } - MsgListRequest smsList = new MsgListRequest(); List messages = new ArrayList<>(); List sendModels = new ArrayList<>(); @@ -820,21 +819,7 @@ public class ResidentsArchiveFacade{ } if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); - smsList.setMessages(messages); - smsList.setMessages(messages); - //调用发送接口 - if ("4".equals(HIS_VERSION)) - { - //秦皇岛 - //保存到同步表中 - syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId()); - } - else - { - //保存到短信中心 线上 - MessageCenterService.saveMsgCenter(smsList); - } + smsConfigFacade.saveMsg(messages, messages.get(0).getHospitalId()); } } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java index 896c422..b0b01c6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java @@ -1,5 +1,7 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.beans.MsgListRequest; +import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -34,6 +36,8 @@ import java.util.*; @Component public class SmsConfigFacade { + public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); + @Autowired private SmsConfigService smsConfigService; @@ -55,6 +59,9 @@ public class SmsConfigFacade { @Autowired private AutoMatchFacade autoMatchFacade; + @Autowired + private SyncDataService syncDataService; + /** * 更新短信服务配置 * @param request @@ -824,6 +831,33 @@ public class SmsConfigFacade { return isStart; } + + /** + * + * 由于秦皇岛和威海不能访问外网,所有就只能把新建的短信或者推送保存在本地 + * ,然后通过线上服务器来同步这个数据 + * 保存短信或者推送 + * @param messages + * @param hospitalId + */ + public void saveMsg(List messages,String hospitalId) + { + MsgListRequest smsList = new MsgListRequest(); + smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); + smsList.setMessages(messages); + if ("4".equals(HIS_VERSION) || "20".equals(HIS_VERSION)) + { + //秦皇岛、威县建档 保存到本地 + syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), hospitalId); + } + else + { + //调用发送 + MessageCenterService.saveMsgCenter(smsList); + } + } + + /** * 根据服务状态和服务类型获取可以发送的模板 * @param temps