diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SmsConfigModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SmsConfigModel.java index 072ad3b..b02ef07 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SmsConfigModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SmsConfigModel.java @@ -171,4 +171,23 @@ public class SmsConfigModel{ public void setYn(Integer yn) { this.yn = yn; } + + @Override + public String toString() { + return "SmsConfigModel{" + + "id='" + id + '\'' + + ", prefixType=" + prefixType + + ", hospitalPrefix='" + hospitalPrefix + '\'' + + ", deptPrefix='" + deptPrefix + '\'' + + ", guideTime='" + guideTime + '\'' + + ", smsService='" + smsService + '\'' + + ", created=" + created + + ", modified=" + modified + + ", createId='" + createId + '\'' + + ", yn=" + yn + + ", hospitalId='" + hospitalId + '\'' + + ", highConfig='" + highConfig + '\'' + + ", remark='" + remark + '\'' + + '}'; + } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SmsTemplateModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SmsTemplateModel.java index 29cc8da..27fe43b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SmsTemplateModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SmsTemplateModel.java @@ -206,4 +206,25 @@ public class SmsTemplateModel extends BaseModel { public void setModified(Date modified) { this.modified = modified; } + + @Override + public String toString() { + return "SmsTemplateModel{" + + "id='" + id + '\'' + + ", serviceObj=" + serviceObj + + ", serviceType=" + serviceType + + ", serviceStatus=" + serviceStatus + + ", smsType=" + smsType + + ", sendFrequency=" + sendFrequency + + ", sendDateType=" + sendDateType + + ", sendDate=" + sendDate + + ", specialDateType=" + specialDateType + + ", start=" + start + + ", end=" + end + + ", sendTimeType=" + sendTimeType + + ", hospitalId='" + hospitalId + '\'' + + ", status=" + status + + ", yn=" + yn + + '}'; + } } diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java index 61f0339..6aa5c5b 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java @@ -55,6 +55,7 @@ public class MsgGenerateServiceImpl implements IMsgGenerateService { public void generatePatAmsMsg(String generateHospitalId) { String week = DateUtils.getWeekOfDate(new Date()); List configModels = baseService.getHospitalConfigsByWeek(generateHospitalId); + logger.info("The configs hospital size is {}",configModels.size()); if (CollectionUtils.isNotEmpty(configModels)) { int batchSize = 5; diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java index 29a95f6..a1d2563 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/utils/HelperUtils.java @@ -15,7 +15,6 @@ import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; @@ -268,7 +267,7 @@ public class HelperUtils { if (end > msgs.size()) { end = msgs.size(); } - System.out.println(DateUtil.getyyyy_MM_dd_hms(new Date())+"start:" + i + ",end:" + end); + logger.info("start:" + i + ",end:" + end); List tempList = msgs.subList(i, end); MessageListRequest sentList = new MessageListRequest(); sentList.setMessages(tempList); diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java index 595376d..5955830 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java @@ -20,17 +20,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * Created by lqy on 2017-07-18. */ public class TempleteMsgGenerateWorker implements Runnable { - private static final Logger logger = LoggerFactory.getLogger(TempleteMsgGenerateWorker.class); - private static final Logger errorLogger = LoggerFactory.getLogger("Error"); - + private static ExecutorService pool = Executors.newFixedThreadPool(10); private List configs; @@ -66,9 +66,9 @@ public class TempleteMsgGenerateWorker implements Runnable { //启用状态 0未启用 1启用 tempQuery.setStatus(1); - for(SmsConfigModel config : configs) { - + for(final SmsConfigModel config : configs) { String hospitalId = config.getHospitalId(); + logger.info("genernate tempplate hospital id = "+hospitalId); if (StringUtils.isEmpty(hospitalId)) { continue; @@ -89,48 +89,72 @@ public class TempleteMsgGenerateWorker implements Runnable { continue; } try { - //循环每一个模板,根据模板条件查询到用户 发送短信 - for (SmsTemplateModel template : templates) - { - - //模板属于的医院id - String tempHid = template.getHospitalId(); - //服务对象1孕妇 2儿童 3产妇 - Integer serviceObj = template.getServiceObj(); - - //消息类型 - Integer smsType = template.getSmsType(); - if (tempHid == null || serviceObj == null) { - continue; + int batchSize = 5; + int end = 0; + for (int i = 0; i < templates.size(); i += batchSize) { + end = (end + batchSize); + if (end > templates.size()) { + end = templates.size(); } + final List items = templates.subList(i, end); + pool.submit(new Runnable() { + @Override + public void run() { - //false 表示该服务没有启动 smsType为消息类型 - boolean isStart = HelperUtils.isStartTemplate(config, smsType); - if (!isStart) { - continue; - } + //循环每一个模板,根据模板条件查询到用户 发送短信 + for (SmsTemplateModel template : items) + { + try { + //模板属于的医院id + String tempHid = template.getHospitalId(); + //服务对象1孕妇 2儿童 3产妇 + Integer serviceObj = template.getServiceObj(); + + //消息类型 + Integer smsType = template.getSmsType(); + + if (tempHid == null || serviceObj == null) { + continue; + } + + //false 表示该服务没有启动 smsType为消息类型 + boolean isStart = HelperUtils.isStartTemplate(config, smsType); + if (!isStart) { + continue; + } + + //孕妇 + if (serviceObj == ServiceObjEnums.YUNOBJ.getId()) + { + generateYunTempMsg(template,config); + } + //儿童 + else if (serviceObj == ServiceObjEnums.BABYOBJ.getId()) + { + generateChildTempMsg(template, config); + } + //产妇 + else if (serviceObj == ServiceObjEnums.CHANOBJ.getId()) + { + + } + } + catch (Exception e) + { + ExceptionUtils.catchException(e,"genernate templete error. ["+template.toString()+"]"); + continue; + } + } + } + }); + } - //孕妇 - if (serviceObj == ServiceObjEnums.YUNOBJ.getId()) - { - generateYunTempMsg(template,config); - } - //儿童 - else if (serviceObj == ServiceObjEnums.BABYOBJ.getId()) - { - generateChildTempMsg(template, config); - } - //产妇 - else if (serviceObj == ServiceObjEnums.CHANOBJ.getId()) - { - } - } } catch (Exception e) { - ExceptionUtils.catchException(e,"gen templete error."); + ExceptionUtils.catchException(e,"genernate config error.["+config.toString()+"]"); continue; } }