From 71a6ee543b4508085a4020e3c859319732b06a4c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 8 Sep 2016 15:48:03 +0800 Subject: [PATCH] code update --- .../platform/common/enums/SmsTimeTypeEnums.java | 32 ++++ .../lyms/platform/data/pojo/MessageRequest.java | 10 + .../platform/data/service/impl/SmsServiceImpl.java | 1 + .../web/controller/BabyBookbuildingController.java | 6 +- .../web/controller/PuerperaManageController.java | 7 +- .../operate/web/facade/BabyBookbuildingFacade.java | 203 +++------------------ .../operate/web/facade/BookbuildingFacade.java | 8 +- .../platform/operate/web/facade/PatientFacade.java | 35 +++- .../operate/web/facade/SmsConfigFacade.java | 191 +++++++++++++++---- .../operate/web/request/MessageRequest.java | 11 ++ 10 files changed, 268 insertions(+), 236 deletions(-) create mode 100644 platform-common/src/main/java/com/lyms/platform/common/enums/SmsTimeTypeEnums.java diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/SmsTimeTypeEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/SmsTimeTypeEnums.java new file mode 100644 index 0000000..f85257b --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/SmsTimeTypeEnums.java @@ -0,0 +1,32 @@ +package com.lyms.platform.common.enums; + +public enum SmsTimeTypeEnums { + + ONTIME(1, "及时短信"), NO_ONTIME(2, "非及时短信"), ; + + private SmsTimeTypeEnums(int id, String title) { + this.id = id; + this.title = title; + } + + private int id; + + private String title; + + public SmsTimeTypeEnums getEnum(int id) { + for (SmsTimeTypeEnums yn : values()) { + if (yn.getId() == id) { + return yn; + } + } + return null; + } + + public int getId() { + return id; + } + + public String getTitle() { + return title; + } +} \ No newline at end of file diff --git a/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java b/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java index 368cd33..a6f14c3 100644 --- a/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java +++ b/platform-data-api/src/main/java/com/lyms/platform/data/pojo/MessageRequest.java @@ -30,6 +30,16 @@ public class MessageRequest { //患者ID private String ext3; + //1 及时短信 2非及时短信 + private Integer timeType; + + public Integer getTimeType() { + return timeType; + } + + public void setTimeType(Integer timeType) { + this.timeType = timeType; + } public Integer getStatus() { return status; 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 c058c4a..3b4aa6f 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 @@ -2112,6 +2112,7 @@ public class SmsServiceImpl implements SmsService{ request.setServiceType(SmsProviderEnums.ALDY.getId()); request.setSubTypeId(smsType); request.setStatus(SmsStatusEnums.WFS.getId()); + request.setTimeType(SmsTimeTypeEnums.NO_ONTIME.getId()); //医院ID ext1 //模板ID ext2; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java index e79c9c2..7d4f5ab 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java @@ -100,14 +100,14 @@ public class BabyBookbuildingController extends BaseController { */ @RequestMapping(value = "/queryBabyBuildRecord", method = RequestMethod.GET) @ResponseBody -// @TokenRequired + @TokenRequired public BaseObjectResponse queryBabyBuildRecord(HttpServletRequest request,@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo,@RequestParam(required = false)String hospitalId){ BookbuildingQueryRequest param = new BookbuildingQueryRequest(); param.setCardNo(cardNo); param.setVcCardNo(vcCardNo); param.setHospitalId(hospitalId); -// LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return babyBookbuildingFacade.queryBabyBuildRecord(param,null); + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babyBookbuildingFacade.queryBabyBuildRecord(param,loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 21c52a9..95d8244 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -155,8 +155,9 @@ public class PuerperaManageController extends BaseController { */ @RequestMapping(value = "/sendPGuildSms", method = RequestMethod.POST) @ResponseBody - public BaseResponse patientGuildSms(@RequestBody @Valid PatientGuideSmsRequest patientGuideSmsRequest){ - - return patientFacade.patientGuildSms(patientGuideSmsRequest); + @TokenRequired + public BaseResponse patientGuildSms(@RequestBody @Valid PatientGuideSmsRequest patientGuideSmsRequest,HttpServletRequest request1){ + LoginContext loginState = (LoginContext) request1.getAttribute("loginContext"); + return patientFacade.patientGuildSms(patientGuideSmsRequest,loginState.getId()); } } \ No newline at end of file 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 0099310..1d51407 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 @@ -69,8 +69,10 @@ public class BabyBookbuildingFacade { @Autowired private UsersService usersService; + + @Autowired - private SmsConfigService smsConfigService; + private SmsConfigFacade smsConfigFacade; public BaseResponse getBabyBase(String babyId){ @@ -463,7 +465,7 @@ public class BabyBookbuildingFacade { if (model == null || model.getId() == null) { br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); - br.setErrormsg("失败"); + br.setErrormsg("保存失败"); return br; } //创建建档短信 @@ -484,43 +486,10 @@ 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) + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = null; + BaseResponse response = smsConfigFacade.hospitalIsStart(babyModel.getHospitalId(),configModel); + if (response != null) { return; } @@ -629,14 +598,14 @@ public class BabyBookbuildingFacade { { //短信前缀 - String messagePrefix = getSmsPrefix(configs.get(0),babyModel.getBuildDoctor()); + String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, babyModel.getBuildDoctor()); for (SmsTemplateModel templateModel : sendList) { if (templateModel != null && templateModel.getStatus() == 1) { MessageListRequest smsList = new MessageListRequest(); List messages = new ArrayList<>(); MessageRequest mr = new MessageRequest(); - mr.setContent("【"+messagePrefix+"】"+templateModel.getContent()); + mr.setContent("【" + messagePrefix + "】" + templateModel.getContent()); mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); mr.setPhone(babyModel.getMphone()); //短信商 @@ -645,6 +614,7 @@ public class BabyBookbuildingFacade { 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()); @@ -667,95 +637,6 @@ public class BabyBookbuildingFacade { - /** - * 获取发送短信的前缀 如果配置为发送科室前缀 就通过医生查询到医生所在科室 - * 然后取对应科室前缀 如果为空就取医院前缀 - * @return - */ - public String getSmsPrefix(SmsConfigModel config,String doctorId) - { - String messagePrefix = config.getHospitalPrefix(); - //前缀类型 0医院前缀 1科室前缀 - if (config.getPrefixType() != null && config.getPrefixType() == 1) - { - String res = getDeptPrefix(doctorId, config.getDeptPrefix()); - messagePrefix = res == "" ? messagePrefix : res; - } - return messagePrefix; - } - - /** - * /通过医生查询科室前缀 - * @param doctorId - * @param detpPrefixStr - * @return - */ - private String getDeptPrefix(String doctorId,String detpPrefixStr) - { - - if (StringUtils.isEmpty(doctorId) || StringUtils.isEmpty(detpPrefixStr)) - { - return ""; - } - Integer userId = null; - try { - userId = Integer.valueOf(doctorId); - }catch (Exception e) - { - System.out.println(doctorId); - return ""; - } - - //通过建档医生查询用户信息 - Users user = usersService.getUsers(userId); - if (user != null) - { - //得到医生对应的部门id - Integer deptId = user.getDeptId(); - if (StringUtils.isNotEmpty(detpPrefixStr)) - { - List detpPrefixs = JsonUtil.toList(detpPrefixStr, Map.class); - if (CollectionUtils.isNotEmpty(detpPrefixs)) - { - for (Map map : detpPrefixs) - { - Integer preDeptId = Integer.valueOf(String.valueOf(map.get("deptId"))); - if (preDeptId == deptId) - { - return String.valueOf(map.get("deptPrefix")); - } - } - } - } - } - return ""; - } - - /** - * 判断对应服务是否启动 - */ - 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; - } /** * 准备修改和添加的孕妇建档数据 @@ -1257,10 +1138,6 @@ public class BabyBookbuildingFacade { buildRecords.put("buildHospital", ""); } -// result.setId(build.getId()); -// result.setCardNo(build.getCardNo()); -// result.setName(build.getName()); -// result.setMonthAge(DateUtil.getBabyMonthAge(build.getBirth(), new Date())); list.add(buildRecords); } @@ -1326,6 +1203,7 @@ public class BabyBookbuildingFacade { buildRecords.put("id", build.getId()); buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(build.getBuildDate())); + buildRecords.put("hospitalId",build.getHospitalId()); //查询建档医院 Organization org = organizationService.getOrganization(Integer.valueOf(build.getHospitalId())); if (org != null) { @@ -1671,52 +1549,12 @@ public class BabyBookbuildingFacade { } } - OrganizationQuery orgQuery = new OrganizationQuery(); - orgQuery.setYn(YnEnums.YES.getId()); - orgQuery.setId(Integer.parseInt(hospitalId)); - 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) + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = null; + BaseResponse response = smsConfigFacade.hospitalIsStart(hospitalId,configModel); + if (response != null) { - BaseResponse objectResponse = new BaseResponse(); - objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - objectResponse.setErrormsg("暂无发送权限"); - return objectResponse; - } - - SmsConfigQuery configQuery = new SmsConfigQuery(); - configQuery.setYn(YnEnums.YES.getId()); - configQuery.setHospitalId(hospitalId); - //查询出对应医院配置 - 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) - { - BaseResponse objectResponse = new BaseResponse(); - objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - objectResponse.setErrormsg("暂无发送权限"); - return objectResponse; + return response; } @@ -1747,8 +1585,10 @@ public class BabyBookbuildingFacade { if (CollectionUtils.isNotEmpty(sendModels)) { for (BabyModel model : sendModels) { if (model != null && StringUtils.isNotEmpty(model.getMphone())) { + //短信前缀 + String messagePrefix = smsConfigFacade.getSmsPrefix(configModel, model.getBuildDoctor()); MessageRequest mr = new MessageRequest(); - mr.setContent(request.getSmsContent()); + mr.setContent("【"+messagePrefix+"】"+request.getSmsContent()); mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); mr.setPhone(model.getMphone()); //短信商 @@ -1756,6 +1596,9 @@ public class BabyBookbuildingFacade { mr.setTypeId(ProjectTypeEnums.YNXT.getId()); mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + + mr.setStatus(SmsStatusEnums.WFS.getId()); mr.setExt1(String.valueOf(model.getHospitalId())); messages.add(mr); 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 09f1565..832ffb2 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 @@ -74,10 +74,11 @@ public class BookbuildingFacade { private BasicConfigService basicConfigService; @Autowired - private BabyBookbuildingFacade babyBookbuildingFacade; - @Autowired private AntenatalExaminationFacade antenatalExaminationFacade; + @Autowired + private SmsConfigFacade smsConfigFacade; + /** * 添加孕妇建档 * @param yunRequest @@ -425,7 +426,7 @@ public class BookbuildingFacade { { //短信前缀 - String messagePrefix = babyBookbuildingFacade.getSmsPrefix(configs.get(0), patient.getBookbuildingDoctor()); + String messagePrefix = smsConfigFacade.getSmsPrefix(configs.get(0), patient.getBookbuildingDoctor()); for (SmsTemplateModel templateModel : sendList) { if (templateModel != null && templateModel.getStatus() == 1) @@ -436,6 +437,7 @@ public class BookbuildingFacade { mr.setContent("【"+messagePrefix+"】"+templateModel.getContent()); mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); mr.setPhone(patient.getPhone()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); //短信商 mr.setServiceType(SmsProviderEnums.ALDY.getId()); mr.setTypeId(ProjectTypeEnums.YNXT.getId()); 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 d796012..462f482 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 @@ -2,8 +2,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.SmsServiceEnums; -import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -13,6 +12,7 @@ import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -55,6 +55,9 @@ public class PatientFacade { @Autowired private PostReviewService postReviewService; + @Autowired + private SmsConfigFacade smsConfigFacade; + /** * 修改产妇的社区 @@ -511,7 +514,18 @@ public class PatientFacade { return data; } - public BaseResponse patientGuildSms(PatientGuideSmsRequest patientGuideSmsRequest) { + public BaseResponse patientGuildSms(PatientGuideSmsRequest patientGuideSmsRequest,Integer userId) { + + String hospital = autoMatchFacade.getHospitalId(userId); + + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = null; + BaseResponse response = smsConfigFacade.hospitalIsStart(hospital,configModel); + if (response != null) + { + return response; + } + MessageListRequest smsList = new MessageListRequest(); List messages = new ArrayList<>(); List sendModels = new ArrayList<>(); @@ -526,14 +540,20 @@ public class PatientFacade { for (Patients model : sendModels) { if (model != null && com.lyms.platform.common.utils.StringUtils.isNotEmpty(model.getPhone())) { MessageRequest mr = new MessageRequest(); + + //短信前缀 + String messagePrefix =smsConfigFacade.getSmsPrefix(configModel, model.getBookbuildingDoctor()); mr.setContent(patientGuideSmsRequest.getSmsContent()); mr.setObjType(Integer.valueOf(patientGuideSmsRequest.getType())); mr.setPhone(model.getPhone()); //短信商 - mr.setServiceType(1);//待定 - mr.setTypeId(1); //待定 + mr.setServiceType(SmsProviderEnums.ALDY.getId()); + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); mr.setSubTypeId(SmsServiceEnums.YSGXHZD.getId()); + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + + mr.setStatus(SmsStatusEnums.WFS.getId()); mr.setExt1(String.valueOf(model.getHospitalId())); messages.add(mr); @@ -542,9 +562,10 @@ public class PatientFacade { } if (CollectionUtils.isNotEmpty(messages)) { - smsList.setTypeId(1); + smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); smsList.setMessages(messages); - //调用发送接口 TODO + //调用发送接口 + MessageCenterService.saveSmsCenter(smsList); } } 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 1c4354f..085d478 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 @@ -14,12 +14,10 @@ import com.lyms.platform.operate.web.request.SmsConfigRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.ConfigTask; import com.lyms.platform.operate.web.utils.MessageCenterService; -import com.lyms.platform.permission.model.Departments; -import com.lyms.platform.permission.model.DepartmentsQuery; -import com.lyms.platform.permission.model.Organization; -import com.lyms.platform.permission.model.OrganizationQuery; +import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.DepartmentsService; import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import com.qiniu.util.Json; @@ -47,6 +45,9 @@ public class SmsConfigFacade { @Autowired private BasicConfigService basicConfigService; + @Autowired + private UsersService usersService; + /** * 更新短信服务配置 * @param request @@ -350,41 +351,6 @@ public class SmsConfigFacade { hospital.put("cityId",cityId); String areaId = org.getAreaId(); hospital.put("areaId",areaId); - -// BasicConfigQuery query = new BasicConfigQuery(); -// query.setYn(YnEnums.YES.getId()); -// if (StringUtils.isNotEmpty(provinceId)) -// { -// query.setId(provinceId); -// List configList = basicConfigService.queryBasicConfig(query); -// if (CollectionUtils.isNotEmpty(configList)) -// { -// allAddress+=configList.get(0).getName(); -// } -// } -// -// String cityId = org.getCityId(); -// if (StringUtils.isNotEmpty(provinceId)) -// { -// query.setId(cityId); -// List configList = basicConfigService.queryBasicConfig(query); -// if (CollectionUtils.isNotEmpty(configList)) -// { -// allAddress+=configList.get(0).getName(); -// } -// } -// -// String areaId = org.getAreaId(); -// if (StringUtils.isNotEmpty(provinceId)) -// { -// query.setId(areaId); -// List configList = basicConfigService.queryBasicConfig(query); -// if (CollectionUtils.isNotEmpty(configList)) -// { -// allAddress+=configList.get(0).getName(); -// } -// } - String address = org.getAddress(); hospital.put("address", address); hospital.put("status",org.getStatus() == null ? "" : String.valueOf(org.getStatus())); @@ -684,7 +650,7 @@ public class SmsConfigFacade { content = content.replace(" ","+"); } - SmsResult sms = MessageCenterService.querySmsList(hospitalIds, phone, smsType, smsStatus, content, planTimeStart, planTimeEnd, actualTimeStart, actualTimeEnd,objType, page, limit); + SmsResult sms = MessageCenterService.querySmsList(hospitalIds, phone, smsType, smsStatus, content, planTimeStart, planTimeEnd, actualTimeStart, actualTimeEnd, objType, page, limit); if (sms != null && sms.getList() != null ) { @@ -747,4 +713,149 @@ public class SmsConfigFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + + + public BaseResponse hospitalIsStart(String hospitalId,SmsConfigModel configModel) + { + OrganizationQuery orgQuery = new OrganizationQuery(); + orgQuery.setYn(YnEnums.YES.getId()); + orgQuery.setId(Integer.parseInt(hospitalId)); + 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) + { + BaseResponse objectResponse = new BaseResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("暂无发送权限"); + return objectResponse; + } + + SmsConfigQuery configQuery = new SmsConfigQuery(); + configQuery.setYn(YnEnums.YES.getId()); + configQuery.setHospitalId(hospitalId); + //查询出对应医院配置 + List configs = smsConfigService.querySmsConfig(configQuery); + boolean isStart = false; + if (CollectionUtils.isNotEmpty(configs)) + { + configModel = configs.get(0); + String serviceStr = configModel.getSmsService(); + if (StringUtils.isNotEmpty(serviceStr)) + { + isStart = isStartService(SmsServiceEnums.FWKT.getId(), serviceStr); + } + } + if (!isStart) + { + BaseResponse objectResponse = new BaseResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("暂无发送权限"); + return objectResponse; + } + + return null; + } + + /** + * 判断对应服务是否启动 + */ + 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; + } + + + /** + * 获取发送短信的前缀 如果配置为发送科室前缀 就通过医生查询到医生所在科室 + * 然后取对应科室前缀 如果为空就取医院前缀 + * @return + */ + public String getSmsPrefix(SmsConfigModel config,String doctorId) + { + String messagePrefix = config.getHospitalPrefix(); + //前缀类型 0医院前缀 1科室前缀 + if (config.getPrefixType() != null && config.getPrefixType() == 1) + { + String res = getDeptPrefix(doctorId, config.getDeptPrefix()); + messagePrefix = res == "" ? messagePrefix : res; + } + return messagePrefix; + } + + /** + * /通过医生查询科室前缀 + * @param doctorId + * @param detpPrefixStr + * @return + */ + private String getDeptPrefix(String doctorId,String detpPrefixStr) + { + + if (StringUtils.isEmpty(doctorId) || StringUtils.isEmpty(detpPrefixStr)) + { + return ""; + } + Integer userId = null; + try { + userId = Integer.valueOf(doctorId); + }catch (Exception e) + { + System.out.println(doctorId); + return ""; + } + + //通过建档医生查询用户信息 + Users user = usersService.getUsers(userId); + if (user != null) + { + //得到医生对应的部门id + Integer deptId = user.getDeptId(); + if (StringUtils.isNotEmpty(detpPrefixStr)) + { + List detpPrefixs = JsonUtil.toList(detpPrefixStr, Map.class); + if (CollectionUtils.isNotEmpty(detpPrefixs)) + { + for (Map map : detpPrefixs) + { + Integer preDeptId = Integer.valueOf(String.valueOf(map.get("deptId"))); + if (preDeptId == deptId) + { + return String.valueOf(map.get("deptPrefix")); + } + } + } + } + } + return ""; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java index c8fab7e..6e5fed4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MessageRequest.java @@ -29,6 +29,17 @@ public class MessageRequest { private String ext3; + //1 及时短信 2非及时短信 + private Integer timeType; + + public Integer getTimeType() { + return timeType; + } + + public void setTimeType(Integer timeType) { + this.timeType = timeType; + } + public Integer getStatus() { return status; } -- 1.8.3.1