From 8ab25fd5af3b7744591ae3ade09d59230f9a19ec Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 2 Dec 2016 13:26:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E7=89=B9=E6=AE=8A=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 2 + .../web/controller/SmsConfigController.java | 120 +++++++++++++++++++-- 2 files changed, 115 insertions(+), 7 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 9a731f2..bde6062 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -11,6 +11,8 @@ import com.lyms.platform.biz.service.*; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.enums.ServiceStatusEnums; +import com.lyms.platform.common.enums.ServiceTypeEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.pojo.SyncDataModel; import com.lyms.platform.common.utils.*; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java index b0f5a10..ee19688 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java @@ -1,24 +1,36 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.platform.biz.service.BabyBookbuildingService; +import com.lyms.platform.biz.service.SmsTemplateService; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.enums.SendTimeEnums; -import com.lyms.platform.common.enums.SmsServiceEnums; +import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.SmsConfigFacade; +import com.lyms.platform.operate.web.request.MessageListRequest; +import com.lyms.platform.operate.web.request.MessageRequest; import com.lyms.platform.operate.web.request.SmsConfigRequest; +import com.lyms.platform.operate.web.utils.MessageCenterService; +import com.lyms.platform.pojo.BabyModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.SmsConfigModel; +import com.lyms.platform.pojo.SmsTemplateModel; +import com.lyms.platform.query.BabyModelQuery; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.SmsTemplateQuery; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -31,6 +43,12 @@ public class SmsConfigController extends BaseController { @Autowired private SmsConfigFacade smsConfigFacade; + @Autowired + private BabyBookbuildingService babyBookbuildingService; + + @Autowired + private SmsTemplateService smsTemplateService; + /** * 添加/更新 短信服务配置 * @param request @@ -190,6 +208,94 @@ public class SmsConfigController extends BaseController { @RequestParam(required = false) String actualTime, @RequestParam(required = false) Integer page, @RequestParam(required = false) Integer limit) { - return smsConfigFacade.querySmsList(hospitalName, phone, smsType, smsStatus, content,planTime,actualTime,objType, page, limit); + return smsConfigFacade.querySmsList(hospitalName, phone, smsType, smsStatus, content, planTime, actualTime, objType, page, limit); } + + + @RequestMapping(value = "/sendBabyBuildSms", method = RequestMethod.GET) + @ResponseBody + public String sendBabyBuildSms() { + BabyModelQuery babyModelQuery = new BabyModelQuery(); + List hospitalIds = new ArrayList<>(); + hospitalIds.add("204");//青龙满族自治县医院 + hospitalIds.add("197");//抚宁县妇幼保健院 + hospitalIds.add("248");//北戴河医院 + + babyModelQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());//增值服务 + babyModelQuery.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());//开通 + babyModelQuery.setYn(YnEnums.YES.getId()); + Date startDate = DateUtil.parseYMD("2016-11-01"); + Date startEnd = DateUtil.parseYMD("2016-11-30"); + babyModelQuery.setBuildDateStart(startDate); + babyModelQuery.setBuildDateEnd(startEnd); + for (String hid:hospitalIds) { + if (hid != null) { + //判断医院是否启动和对应的服务项是否启用 + SmsConfigModel configModel = new SmsConfigModel(); + BaseResponse response = smsConfigFacade.hospitalIsStart(hid, configModel, SmsServiceEnums.FWKT.getId()); + if (response != null) { + continue; + } + + SmsTemplateQuery query = new SmsTemplateQuery(); + query.setYn(YnEnums.YES.getId()); + query.setStatus(1); + query.setHospitalId(hid); + query.setServiceObj(ServiceObjEnums.BABYOBJ.getId()); + query.setSpecialDateType(SpecialDateEnums.JD.getId()); + + //查询建档短信服务模板 + List temps = smsTemplateService.querySmsTemplates(query); + if (CollectionUtils.isNotEmpty(temps)) { + SmsTemplateModel templateModel = temps.get(0); + babyModelQuery.setHospitalId(hid); + //查询医院符合条件的儿童 + List list = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(list)) { + + for (BabyModel babyModel : list) + { + //短信前缀 + String messagePrefix = configModel.getHospitalPrefix(); + if (templateModel != null && templateModel.getStatus() == 1) { + MessageListRequest smsList = new MessageListRequest(); + List messages = new ArrayList<>(); + MessageRequest mr = new MessageRequest(); + 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(hid); + mr.setExt2(templateModel.getId()); + mr.setExt3(babyModel.getId()); + messages.add(mr); + + if (CollectionUtils.isNotEmpty(messages)) { + smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); + smsList.setMessages(messages); + + for (MessageRequest msg : messages) + { + System.out.println("phone="+msg.getPhone()+" | content="+msg.getContent()); + } + //这行代码是保存到短信中心 ,config.properties中配置了短信中心地址 线上环境地址是(http://sms.healthbaby.com.cn/v1/) + // MessageCenterService.saveSmsCenter(smsList); + } + } + } + } + } + } + } + return "sendBabyBuildSms finish"; + } + } -- 1.8.3.1