diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/SmsService.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/SmsService.java index e184640..45f2c5f 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/SmsService.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/SmsService.java @@ -1,5 +1,6 @@ package com.lyms.platform.data.service; + /** * Created by Administrator on 2016/7/5. */ diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java index 4461fc2..6fe575d 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/service/impl/SmsServiceImpl.java @@ -63,6 +63,7 @@ public class SmsServiceImpl implements SmsService{ @Autowired private OrganizationService organizationService; + /** * 生成孕妇ams指导短信 */ @@ -271,6 +272,9 @@ public class SmsServiceImpl implements SmsService{ } + + + /** * 生成儿童ams短信 */ 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 ae9f093..1531426 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 @@ -13,6 +13,7 @@ import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; @@ -64,6 +65,11 @@ public class BabyBookbuildingFacade { @Autowired private BabyCheckService babyCheckService; + + @Autowired + private SmsConfigService smsConfigService; + + public BaseResponse getBabyBase(String babyId){ //查询儿童的基本信息 BabyBasicResult base = new BabyBasicResult(); @@ -207,6 +213,7 @@ public class BabyBookbuildingFacade { pmodel.setCreated(new Date()); PersonModel resultModel = personService.addPerson(pmodel); + BabyModel model = getBabyModel(request); model.setPid(resultModel.getId()); @@ -258,43 +265,122 @@ public class BabyBookbuildingFacade { private void createBuildSms(BabyModel babyModel) { + OrganizationQuery orgQuery = new OrganizationQuery(); + orgQuery.setYn(YnEnums.YES.getId()); + orgQuery.setId(Integer.parseInt(babyModel.getHospitalId())); + List list = organizationService.queryOrganization(orgQuery); + boolean isRunning = false; + if (CollectionUtils.isNotEmpty(list)) + { + Organization org = list.get(0); + if (org != null) + { + Integer status = org.getStatus(); + if (status != null && (status == HospitalStatusEnums.SYX.getId() || status == HospitalStatusEnums.ZSYX.getId())) + { + isRunning = true; + } + } + } + if (!isRunning) + { + return; + } + + SmsConfigQuery configQuery = new SmsConfigQuery(); + configQuery.setYn(YnEnums.YES.getId()); + configQuery.setHospitalId(babyModel.getHospitalId()); + //查询出对应医院配置 + List configs = smsConfigService.querySmsConfig(configQuery); + boolean isStart = false; + if (CollectionUtils.isNotEmpty(configs)) + { + String serviceStr = configs.get(0).getSmsService(); + if (StringUtils.isNotEmpty(serviceStr)) + { + isStart = isStartService(SmsServiceEnums.FWKT.getId(), serviceStr); + } + + } + if (!isStart) + { + return; + } + SmsTemplateQuery query = new SmsTemplateQuery(); query.setYn(YnEnums.YES.getId()); query.setHospitalId(babyModel.getHospitalId()); query.setServiceObj(ServiceObjEnums.BABYOBJ.getId()); query.setSpecialDateType(SpecialDateEnums.JD.getId()); + Integer serviceType = babyModel.getServiceType(); + Integer serviceStatus = babyModel.getServiceStatus(); + if (serviceType != null && serviceStatus != null) + { + query.setServiceType(serviceType); + query.setServiceStatus(serviceStatus); + } + List temps = smsTemplateService.querySmsTemplates(query); if (CollectionUtils.isNotEmpty(temps)) { + SmsTemplateModel templateModel = temps.get(0); - MessageListRequest smsList = new MessageListRequest(); - List messages = new ArrayList<>(); - MessageRequest mr = new MessageRequest(); - mr.setContent(templateModel.getContent()); - mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); - mr.setPhone(babyModel.getMphone()); - //短信商 - mr.setServiceType(1);//待定 - mr.setTypeId(1); //待定 - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); - - mr.setExt1(babyModel.getHospitalId()); - mr.setExt2(templateModel.getId()); - mr.setExt3(babyModel.getId()); - messages.add(mr); - - if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(1); - smsList.setMessages(messages); - //调用发送接口 TODO + if (templateModel != null && templateModel.getStatus() == 1) { + MessageListRequest smsList = new MessageListRequest(); + List messages = new ArrayList<>(); + MessageRequest mr = new MessageRequest(); + mr.setContent(templateModel.getContent()); + mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); + mr.setPhone(babyModel.getMphone()); + //短信商 + mr.setServiceType(1);//待定 + mr.setTypeId(1); //待定 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); + + mr.setExt1(babyModel.getHospitalId()); + mr.setExt2(templateModel.getId()); + mr.setExt3(babyModel.getId()); + messages.add(mr); + + if (CollectionUtils.isNotEmpty(messages)) { + smsList.setTypeId(1); + smsList.setMessages(messages); + //调用发送接口 TODO + } } } } /** + * 判断对应服务是否启动 + */ + 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; + } + + /** * 准备修改和添加的孕妇建档数据 * * @param request 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 7f91506..a64f2ff 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 @@ -15,12 +15,10 @@ import com.lyms.platform.operate.web.result.BasicConfigResult; import com.lyms.platform.operate.web.result.BookbuildingRecordResult; import com.lyms.platform.operate.web.result.PregnantInfoResult; import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.AntExChuQuery; -import com.lyms.platform.query.BasicConfigQuery; -import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.SmsTemplateQuery; +import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -57,6 +55,10 @@ public class BookbuildingFacade { @Autowired private AntenatalExaminationService antenatalExaminationService; + + @Autowired + private SmsConfigService smsConfigService; + /** * 添加孕妇建档 * @param yunRequest @@ -137,44 +139,125 @@ public class BookbuildingFacade { } /** - * 创建建档短信 + * 创建孕妇建档短信 */ private void createBuildSms(Patients patient) { + OrganizationQuery orgQuery = new OrganizationQuery(); + orgQuery.setYn(YnEnums.YES.getId()); + orgQuery.setId(Integer.parseInt(patient.getHospitalId())); + List list = organizationService.queryOrganization(orgQuery); + boolean isRunning = false; + if (CollectionUtils.isNotEmpty(list)) + { + Organization org = list.get(0); + if (org != null) + { + Integer status = org.getStatus(); + if (status != null && (status == HospitalStatusEnums.SYX.getId() || status == HospitalStatusEnums.ZSYX.getId())) + { + isRunning = true; + } + } + } + if (!isRunning) + { + return; + } + + SmsConfigQuery configQuery = new SmsConfigQuery(); + configQuery.setYn(YnEnums.YES.getId()); + configQuery.setHospitalId(patient.getHospitalId()); + //查询出对应医院配置 + List configs = smsConfigService.querySmsConfig(configQuery); + boolean isStart = false; + if (CollectionUtils.isNotEmpty(configs)) + { + String serviceStr = configs.get(0).getSmsService(); + if (StringUtils.isNotEmpty(serviceStr)) + { + isStart = isStartService(SmsServiceEnums.FWKT.getId(), serviceStr); + } + + } + if (!isStart) + { + return; + } + SmsTemplateQuery query = new SmsTemplateQuery(); query.setYn(YnEnums.YES.getId()); query.setHospitalId(patient.getHospitalId()); query.setServiceObj(ServiceObjEnums.YUNOBJ.getId()); query.setSpecialDateType(SpecialDateEnums.JD.getId()); + Integer serviceType = patient.getServiceType(); + Integer serviceStatus = patient.getServiceStatus(); + if (serviceType != null && serviceStatus != null) + { + query.setServiceType(serviceType); + query.setServiceStatus(serviceStatus); + } + List temps = smsTemplateService.querySmsTemplates(query); if (CollectionUtils.isNotEmpty(temps)) { SmsTemplateModel templateModel = temps.get(0); - MessageListRequest smsList = new MessageListRequest(); - List messages = new ArrayList<>(); - MessageRequest mr = new MessageRequest(); - mr.setContent(templateModel.getContent()); - mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); - mr.setPhone(patient.getPhone()); - //短信商 - mr.setServiceType(1);//待定 - mr.setTypeId(1); //待定 - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); - - mr.setExt1(patient.getHospitalId()); - mr.setExt2(templateModel.getId()); - mr.setExt3(patient.getId()); - messages.add(mr); - - if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(1); - smsList.setMessages(messages); - //调用发送接口 TODO + + if (templateModel != null && templateModel.getStatus() == 1) + { + MessageListRequest smsList = new MessageListRequest(); + List messages = new ArrayList<>(); + MessageRequest mr = new MessageRequest(); + mr.setContent(templateModel.getContent()); + mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); + mr.setPhone(patient.getPhone()); + //短信商 + mr.setServiceType(1);//待定 + mr.setTypeId(1); //待定 + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setSubTypeId(SmsServiceEnums.FWKT.getId()); + + mr.setExt1(patient.getHospitalId()); + mr.setExt2(templateModel.getId()); + mr.setExt3(patient.getId()); + messages.add(mr); + + if (CollectionUtils.isNotEmpty(messages)) { + smsList.setTypeId(1); + smsList.setMessages(messages); + //调用发送接口 TODO + } + } + } + } + + + /** + * 判断对应服务是否启动 + */ + 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; } /** @@ -251,6 +334,7 @@ public class BookbuildingFacade { { result.setBookbuildHospital(org.getName()); } + result.setHospitalId(String.valueOf(org.getId())); result.setBookbuildDate(DateUtil.getyyyy_MM_dd(pat.getBookbuildingDate())); result.setId(pat.getId()); result.setType(pat.getType());