diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageContent.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageContent.java index 9fc3de7..6fc268e 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageContent.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageContent.java @@ -9,11 +9,22 @@ import java.util.List; public class MessageContent implements Serializable { private static final long serialVersionUID = 1L; private String id; - private String content; - private String title; - private List tags; +// private String title; +// private List tags; private String highRiskId; + private String content; + + private String riskName; + + public String getRiskName() { + return riskName; + } + + public void setRiskName(String riskName) { + this.riskName = riskName; + } + public String getHighRiskId() { return highRiskId; } @@ -38,25 +49,11 @@ public class MessageContent implements Serializable { this.content = content; } - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } @Override public String toString() { - return "MessageContent [content=" + content + ", id=" + id + ", Tags=" - + tags + ", title=" + title + "]"; + return "MessageContent{" + + "content='" + content + '\'' + + '}'; } } diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageResponseEntity.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageResponseEntity.java index fb73e0b..a84d457 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageResponseEntity.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/model/MessageResponseEntity.java @@ -1,6 +1,7 @@ package com.lyms.platform.msg.model; import java.util.List; +import java.util.Map; /** * Created by Administrator on 2016/7/5. @@ -8,7 +9,8 @@ import java.util.List; public class MessageResponseEntity { private String errormsg; private PageInfo pageInfo; - private List list ; + private Map> categories; + private List list; private int errorcode; public String getErrormsg() { return errormsg; @@ -23,12 +25,23 @@ public class MessageResponseEntity { public void setPageInfo(PageInfo pageInfo) { this.pageInfo = pageInfo; } - public List getList() { + + public Map> getCategories() { + return categories; + } + + public void setCategories(Map> categories) { + this.categories = categories; + } + + public List getList() { return list; } - public void setList(List list) { + + public void setList(List list) { this.list = list; } + public int getErrorcode() { return errorcode; } @@ -38,6 +51,6 @@ public class MessageResponseEntity { @Override public String toString() { return "MessageResponseEntity [errorcode=" + errorcode + ", errormsg=" - + errormsg + ", list=" + list + ", pageInfo=" + pageInfo + "]"; + + errormsg + ", categories=" + categories + ", pageInfo=" + pageInfo + "]"; } } diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/remote/AmsMessageService.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/remote/AmsMessageService.java index ae64bf3..7626fe5 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/remote/AmsMessageService.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/remote/AmsMessageService.java @@ -3,21 +3,16 @@ package com.lyms.platform.msg.remote; import com.lyms.platform.common.enums.AmsServiceTypeEnum; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.HttpRequest; -import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.msg.constants.ConfigInterface; import com.lyms.platform.msg.model.MessageContent; import com.lyms.platform.msg.model.MessageResponseEntity; -import com.lyms.platform.msg.model.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; -import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -34,15 +29,10 @@ public class AmsMessageService { private static final Logger logger = LoggerFactory.getLogger(AmsMessageService.class); public static final String AMS_URL= ConfigInterface.AMS_URL; private static final String AUTHORIZATION = "healthbaby2015"; + private static ObjectMapper om = new ObjectMapper(); - /** - * 根据医院id和对象来获取ams短信 - * @param hospitalId - * @param serviceType - * @return - */ public static Map> getMessageTemplateMap(String hospitalId,AmsServiceTypeEnum serviceType) { - System.out.println("ams > hospitalId="+hospitalId+";serviceType="+serviceType); + System.out.println("ams > hospitalId=" + hospitalId + ";serviceType=" + serviceType); Map headers = new HashMap(); headers.put("Authorization", AUTHORIZATION); @@ -52,109 +42,139 @@ public class AmsMessageService { params.put("limit", "9999"); String str = HttpRequest.sendGet(AMS_URL, params, headers); - - //调用https用这个 - // String str = HttpClientUtil.doGet(AMS_URL, params, "utf-8", AUTHORIZATION); - - ObjectMapper om = new ObjectMapper(); + System.out.print(str); MessageResponseEntity mre = null; - Map> map = new HashMap>(); try { - mre = om.readValue(str, MessageResponseEntity.class); - } catch (JsonParseException e) { - ExceptionUtils.catchException(e,"JsonParseException"); - } catch (JsonMappingException e) { - ExceptionUtils.catchException(e, "JsonMappingException"); - } catch (IOException e) { - ExceptionUtils.catchException(e, "IOException"); + mre = JsonUtil.jkstr2Obj(str, MessageResponseEntity.class); + return mre.getCategories(); + } catch (Exception e) { + ExceptionUtils.catchException(e,"getMessageTemplateMap exception"); } - if(mre !=null){ - if(mre.getErrorcode()==0){//成功 - List mcs=mre.getList(); - for(int i = 0;i tags = mc.getTags(); - for (int j = 0; j < tags.size(); j++) { - Tag tag=tags.get(j); - String type = getTagType(tag, serviceType); - if(!StringUtils.isEmpty(type)){ - List list = map.get(type); - if(list==null){ - list = new ArrayList(); - } - list.add(mc); - map.put(type, list); - }else{ - String riskName = tag.getTagName(); - List list = map.get(riskName); - if(list==null){ - list = new ArrayList(); - } - list.add(mc); - map.put(riskName, list); - } - } - } - }else{//失败 - logger.error("The hospital id is {},and error code is {},and error message is {}" - ,new Object[]{hospitalId,mre.getErrorcode(),mre.getErrormsg()}); - } - }else{ - logger.error("The hospital id is {},and error code is {},and error message is {}" - ,new Object[]{hospitalId,mre.getErrorcode(),mre.getErrormsg()}); - } - return map; + return null; } - public static String getTagType(Tag tag,AmsServiceTypeEnum serviceType){ - String re = null; - if(tag==null) return re; - String tagName = tag.getTagName(); - switch (serviceType) { - case CHILD_GUIDE: - boolean boo = tagName.endsWith("周"); - if(boo) { - String str = tagName.substring(0,tagName.length()-1); - if(StringUtils.isNum(str)){ - re = str; - } - } - break; - case YUN_GUIDE: - boolean end = tagName.endsWith("周"); - boolean start = tagName.startsWith("孕"); - if(start&&end) { - String str = tagName.substring(1,tagName.length()-1); - if(StringUtils.isNum(str)){ - re = str; - } - } - break; - case CHAN_GUIDE: - end = tagName.endsWith("周"); - start = tagName.startsWith("产后"); - if(start&&end) { - String str = tagName.substring(2,tagName.length()-1); - if(StringUtils.isNum(str)){ - re = str; - } - } - break; - case YUN_WARN: - end = tagName.endsWith("周"); - start = tagName.startsWith("孕"); - if(!start && !end) { - re = tagName; - } - break; - default: - break; - } - return re; - } + + +// /** +// * 根据医院id和对象来获取ams短信 +// * @param hospitalId +// * @param serviceType +// * @return +// */ +// public static Map> getMessageTemplateMap(String hospitalId,AmsServiceTypeEnum serviceType) { +// System.out.println("ams > hospitalId="+hospitalId+";serviceType="+serviceType); +// +// Map headers = new HashMap(); +// headers.put("Authorization", AUTHORIZATION); +// Map params = new HashMap(); +// params.put("hospitalId", hospitalId); +// params.put("page", "1"); +// params.put("limit", "9999"); +// String str = HttpRequest.sendGet(AMS_URL, +// params, headers); +// +// //调用https用这个 +// // String str = HttpClientUtil.doGet(AMS_URL, params, "utf-8", AUTHORIZATION); +// +// ObjectMapper om = new ObjectMapper(); +// MessageResponseEntity mre = null; +// Map> map = new HashMap>(); +// try { +// mre = om.readValue(str, MessageResponseEntity.class); +// } catch (JsonParseException e) { +// ExceptionUtils.catchException(e,"JsonParseException"); +// } catch (JsonMappingException e) { +// ExceptionUtils.catchException(e, "JsonMappingException"); +// } catch (IOException e) { +// ExceptionUtils.catchException(e, "IOException"); +// } +// if(mre !=null){ +// if(mre.getErrorcode()==0){//成功 +// List mcs=mre.getList(); +// for(int i = 0;i tags = mc.getTags(); +// for (int j = 0; j < tags.size(); j++) { +// Tag tag=tags.get(j); +// String type = getTagType(tag, serviceType); +// if(!StringUtils.isEmpty(type)){ +// List list = map.get(type); +// if(list==null){ +// list = new ArrayList(); +// } +// list.add(mc); +// map.put(type, list); +// }else{ +// String riskName = tag.getTagName(); +// List list = map.get(riskName); +// if(list==null){ +// list = new ArrayList(); +// } +// list.add(mc); +// map.put(riskName, list); +// } +// } +// } +// }else{//失败 +// logger.error("The hospital id is {},and error code is {},and error message is {}" +// ,new Object[]{hospitalId,mre.getErrorcode(),mre.getErrormsg()}); +// } +// }else{ +// logger.error("The hospital id is {},and error code is {},and error message is {}" +// ,new Object[]{hospitalId,mre.getErrorcode(),mre.getErrormsg()}); +// } +// return map; +// } +// +// public static String getTagType(Tag tag,AmsServiceTypeEnum serviceType){ +// String re = null; +// if(tag==null) return re; +// String tagName = tag.getTagName(); +// switch (serviceType) { +// case CHILD_GUIDE: +// boolean boo = tagName.endsWith("周"); +// if(boo) { +// String str = tagName.substring(0,tagName.length()-1); +// if(StringUtils.isNum(str)){ +// re = str; +// } +// } +// break; +// case YUN_GUIDE: +// boolean end = tagName.endsWith("周"); +// boolean start = tagName.startsWith("孕"); +// if(start&&end) { +// String str = tagName.substring(1,tagName.length()-1); +// if(StringUtils.isNum(str)){ +// re = str; +// } +// } +// break; +// case CHAN_GUIDE: +// end = tagName.endsWith("周"); +// start = tagName.startsWith("产后"); +// if(start&&end) { +// String str = tagName.substring(2,tagName.length()-1); +// if(StringUtils.isNum(str)){ +// re = str; +// } +// } +// break; +// case YUN_WARN: +// end = tagName.endsWith("周"); +// start = tagName.startsWith("孕"); +// if(!start && !end) { +// re = tagName; +// } +// break; +// default: +// break; +// } +// return re; +// } public static void main(String[] args) { - Map> list = getMessageTemplateMap("204", + Map> list = getMessageTemplateMap("216", AmsServiceTypeEnum.CHILD_GUIDE); List msgs = list.get("0周"); System.out.println(list); diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java index e5c73c5..ea8d3e1 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java @@ -123,7 +123,7 @@ public class BabyAmsMsgGenerateWorker implements Runnable { String messagePrefix = baseService.getSmsPrefix(config, baby.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); int weeks = DateUtils.daysBetween(baby.getBirth(),new Date()) / 7; - String weekAge = String.valueOf(weeks); + String weekAge = String.valueOf(weeks)+"周"; //得到符合当前周龄的短信条数 List messageContents = amsSmses.get(weekAge); diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/ChanAmsMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/ChanAmsMsgGenerateWorker.java index 462d2f8..3aa7ee7 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/ChanAmsMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/ChanAmsMsgGenerateWorker.java @@ -123,7 +123,7 @@ public class ChanAmsMsgGenerateWorker implements Runnable { //计算产后多少周 按分娩日期计算 int weeks = DateUtils.daysBetween(pat.getFmDate(),new Date()) / 7; - String yunWeek = String.valueOf(weeks); + String yunWeek = "产后"+String.valueOf(weeks)+"周"; //得到符合当前孕周的短信条数 List messageContents = amsSmses.get(yunWeek); diff --git a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/YunAmsMsgGenerateWorker.java b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/YunAmsMsgGenerateWorker.java index eda4458..f2c90f1 100644 --- a/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/YunAmsMsgGenerateWorker.java +++ b/platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/YunAmsMsgGenerateWorker.java @@ -22,10 +22,7 @@ import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by lqy on 2017-07-18. @@ -87,30 +84,30 @@ public class YunAmsMsgGenerateWorker implements Runnable { String serviceStr = config.getSmsService(); String serviceType = config.getServiceType(); - - int weekNum = HelperUtils.getWeekNum(guideTimes, week); - - //判断消息服务是否启动 - int service = 0; - +// /** +// * 孕妇一周发送两次消息,第一次发送高危指导,一次发送一般指导 +// * 孕妇周二发送高危指导 周五发送一般指导,根据小的周号发送高危指导,大的周号发送一般指导 +// * 小周号判断高危指导是否开通 大周号判断一般指导是否开通 +// */ /** - * 孕妇一周发送两次消息,第一次发送高危指导,一次发送一般指导 - * 孕妇周二发送高危指导 周五发送一般指导,根据小的周号发送高危指导,大的周号发送一般指导 - * 小周号判断高危指导是否开通 大周号判断一般指导是否开通 + *高危指导消息发送 + ①健康指导消息针对所有收费孕妇提供每周2条消息 + ②如果孕妇有高危因素的话,在健康指导基础上再另外提供对应的每周2条高危消息,几项风险因素对应几个2条。 + ③具体发送时间与孕产婴平台上配置的健康指导消息发送频率一致即可。例如平台配置的是每周二、五,那就是周二发一次, + 符合几项风险因素条件就发几条;周五发一次,符合吉祥风险因素条件就发几条。 + 例如一名孕妇孕20周有妊娠期糖尿病和梅毒两项风险因素。 + 平台配置周二周五发送消息。 + 周二时候给这名孕妇 发孕20周 健康指导1条 妊娠期糖尿病1条 梅毒1条 + 周五时候给这名孕妇 发孕20周另外的1条健康指导、妊娠糖尿病、梅毒消息。 */ - if (weekNum > WeekEnums.getIdByName(week)) - { - //判断消息服务是否启动 - //0服务不提供,1 推送服务, 2 短信服务,3推送和短信服务 - service = baseService.isStartService(SmsServiceEnums.GWZD.getId(), serviceStr,serviceType); - } - else - { - //判断消息服务是否启动 - service = baseService.isStartService(SmsServiceEnums.YBZD.getId(), serviceStr,serviceType); - } - if (service == 0) { + //判断消息服务是否启动 + //0服务不提供,1 推送服务, 2 短信服务,3推送和短信服务 + int serviceGwzd = baseService.isStartService(SmsServiceEnums.GWZD.getId(), serviceStr,serviceType); + //判断消息服务是否启动 + int serviceYbzd = baseService.isStartService(SmsServiceEnums.YBZD.getId(), serviceStr,serviceType); + + if (serviceGwzd == 0 && serviceYbzd == 0) { continue; } @@ -149,149 +146,115 @@ public class YunAmsMsgGenerateWorker implements Runnable { //查询符合条件的孕妇 List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); - if (CollectionUtils.isNotEmpty(patients)) { //发送短信集合 MsgListRequest list = new MsgListRequest(); List messages = new ArrayList<>(); - for (Patients pat : patients) - { - if (pat == null || pat.getLastMenses() == null) - { + for (Patients pat : patients) { + if (pat == null || pat.getLastMenses() == null) { continue; } - //消息前缀 - String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(),ServiceObjEnums.YUNOBJ.getId()); - - boolean isRisk = false; - if (weekNum > WeekEnums.getIdByName(week)) - { - /** - * 高危短信 - * - */ - //获取最后一次高危因素 - List risks = baseService.findLastRisk(pat.getPid()); - if (baseService.isOnlyHealthy(risks)) - { - List highRiskContents = new ArrayList(); - //把多种高危因素的短信合并在一起 - for (Object obj : risks) - { - Map riskMap = (Map)obj; - String name = String.valueOf(riskMap.get("name")); - List messageContents = amsSmses.get(name); - if (CollectionUtils.isNotEmpty(messageContents)) - { - for (MessageContent message : messageContents) - { - message.setHighRiskId(String.valueOf(riskMap.get("id"))); - } - highRiskContents.addAll(messageContents); - } + //计算出孕周 孕周计算方式 当前时间减去末次月经 除以7 的到孕周 + int weeks = DateUtils.daysBetween(pat.getLastMenses(), new Date()) / 7; + String yunWeek = "孕" + String.valueOf(weeks) + "周"; + //消息前缀 + String messagePrefix = baseService.getSmsPrefix(config, pat.getBookbuildingDoctor(), ServiceObjEnums.YUNOBJ.getId()); + + /** + * 高危短信 + * + */ + //获取最后一次高危因素 + List risks = baseService.findLastRisk(pat.getPid()); + if (baseService.isOnlyHealthy(risks) && serviceGwzd > 0) { + + Map highRiskContents = new HashMap<>(); + + //把多种高危因素的短信合并在一起 + for (Object obj : risks) { + Map riskMap = (Map) obj; + String riskName1 = yunWeek + "&" + String.valueOf(riskMap.get("name")); + String riskName2 = String.valueOf(riskMap.get("name")) + "&" + yunWeek; + List messageContents = amsSmses.get(riskName1); + if (CollectionUtils.isEmpty(messageContents)) { + riskName1 = riskName2; + messageContents = amsSmses.get(riskName2); } - if (CollectionUtils.isNotEmpty(highRiskContents)) - { - //可以发送的高危短信 - List sendMessageContents = new ArrayList<>(); - - for (MessageContent message : highRiskContents) - { + if (CollectionUtils.isNotEmpty(messageContents)) { + for (MessageContent message : messageContents) { HighRiskSmsQuery hquery = new HighRiskSmsQuery(); hquery.setMessageId(message.getId()); - hquery.setHighId(message.getHighRiskId()); + hquery.setHighId(String.valueOf(riskMap.get("id"))); hquery.setPhone(pat.getPhone()); hquery.setPatientId(pat.getId()); - int count = highRiskService.queryHighRiskCount(hquery); - if (count > 0) - { + int count = highRiskService.queryHighRiskCount(hquery); + if (count > 0) { continue; } - //把未发送过的添加到集合中 - sendMessageContents.add(message); - } - - if (CollectionUtils.isNotEmpty(sendMessageContents)) { - - //根据集合的长度随机一个数字 - int index = (int)(Math.random()*sendMessageContents.size()); - - //从集合中随机取一个发送 - MessageContent message =sendMessageContents.get(index); - String weekDay = HelperUtils.getYunWeekDay(pat.getLastMenses()); - String title = ""; - if (message.getTags() != null && message.getTags().size() > 0) - { - title = message.getTags().get(0).getTagName(); - } - - String messageContent = "【"+messagePrefix+"】" + message.getContent(); - MsgRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), - ServiceObjEnums.YUNOBJ.getId(), SmsServiceEnums.GWZD.getId(), - pat.getHospitalId(), message.getId(), pat.getId(), weekDay, title, "", - WxTempleteIdEnums.GAO_WEI_ZHI_DAO.getId(),service); - - messages.add(request); - - HighRiskSmsModel highRiskSmsModel = new HighRiskSmsModel(); - highRiskSmsModel.setPatientId(pat.getId()); - highRiskSmsModel.setHighId(message.getHighRiskId()); - highRiskSmsModel.setPhone(pat.getPhone()); - highRiskSmsModel.setHospitalId(pat.getHospitalId()); - highRiskSmsModel.setCreated(new Date()); - highRiskSmsModel.setModified(new Date()); - highRiskSmsModel.setMessageId(message.getId()); - highRiskService.addHighRiskSmsModel(highRiskSmsModel); - - isRisk = true; + message.setRiskName(String.valueOf(riskMap.get("name"))); + highRiskContents.put(riskName1, message); } } - } - } - //没有高危短信就发送指导短信 - if (!isRisk) - { - //计算出孕周 孕周计算方式 当前时间减去末次月经 除以7 的到孕周 - int weeks = DateUtils.daysBetween(pat.getLastMenses(),new Date()) / 7; - String yunWeek = String.valueOf(weeks); - //得到符合当前孕周的短信条数 - List messageContents = amsSmses.get(yunWeek); - - if (CollectionUtils.isNotEmpty(messageContents)) - { - for(MessageContent message : messageContents) - { - //判断当前短信是否已经发送 通过短信ID和孕妇ID - boolean isExist = SaveMessageService.isExistMsg(pat.getId(), message.getId()); - if (isExist) - { - continue; - } - + if (highRiskContents.size() > 0) { + for (String riskName : highRiskContents.keySet()) { + MessageContent message = highRiskContents.get(riskName); String weekDay = HelperUtils.getYunWeekDay(pat.getLastMenses()); - String title = "孕期健康指导"; + String title = message.getRiskName(); - String messageContent = "【"+messagePrefix+"】" + message.getContent(); + String messageContent = "【" + messagePrefix + "】" + message.getContent(); MsgRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), - ServiceObjEnums.YUNOBJ.getId(), SmsServiceEnums.YBZD.getId(), + ServiceObjEnums.YUNOBJ.getId(), SmsServiceEnums.GWZD.getId(), pat.getHospitalId(), message.getId(), pat.getId(), weekDay, title, "", - WxTempleteIdEnums.YUN_YI_BAN_ZHI_DAO.getId(),service); + WxTempleteIdEnums.GAO_WEI_ZHI_DAO.getId(), serviceGwzd); messages.add(request); - break; + + HighRiskSmsModel highRiskSmsModel = new HighRiskSmsModel(); + highRiskSmsModel.setPatientId(pat.getId()); + highRiskSmsModel.setHighId(message.getHighRiskId()); + highRiskSmsModel.setPhone(pat.getPhone()); + highRiskSmsModel.setHospitalId(pat.getHospitalId()); + highRiskSmsModel.setCreated(new Date()); + highRiskSmsModel.setModified(new Date()); + highRiskSmsModel.setMessageId(message.getId()); + highRiskService.addHighRiskSmsModel(highRiskSmsModel); } } } - } + //得到符合当前孕周的短信条数 + List messageContents = amsSmses.get(yunWeek); + + if (CollectionUtils.isNotEmpty(messageContents) && serviceYbzd > 0) { + for (MessageContent message : messageContents) { + //判断当前短信是否已经发送 通过短信ID和孕妇ID + boolean isExist = SaveMessageService.isExistMsg(pat.getId(), message.getId()); + if (isExist) { + continue; + } + + String weekDay = HelperUtils.getYunWeekDay(pat.getLastMenses()); + String title = "孕期健康指导"; + + String messageContent = "【" + messagePrefix + "】" + message.getContent(); + MsgRequest request = HelperUtils.getMessageRequest(messageContent, pat.getPhone(), + ServiceObjEnums.YUNOBJ.getId(), SmsServiceEnums.YBZD.getId(), + pat.getHospitalId(), message.getId(), pat.getId(), weekDay, title, "", + WxTempleteIdEnums.YUN_YI_BAN_ZHI_DAO.getId(), serviceYbzd); + + messages.add(request); + break; + } + } + } list.setMessages(messages); HelperUtils.sendMsg(list); } diff --git a/platform-msg-generate/src/main/resources/config.properties b/platform-msg-generate/src/main/resources/config.properties index 7327113..d9d52aa 100644 --- a/platform-msg-generate/src/main/resources/config.properties +++ b/platform-msg-generate/src/main/resources/config.properties @@ -4,7 +4,7 @@ msg_base_url=https://push.stage.platform.healthbaby.com.cn #AMS地址 线上:http://data.api.healthbaby.com.cn/v1/messages 测试:http://data.api.stage.healthbaby.com.cn/v1/messages #演示地址 https://stage-rp-data-api.healthbaby.com.cn/v1/messages -ams_url=http://data.api.healthbaby.com.cn/v1/messages +ams_url=http://data.api.stage.healthbaby.com.cn/v1/messages #短信当天发送时间 如16:00 send_time=16:00