Commit 37b8415994450e8625ebcebd6b357a91da8e4216
1 parent
c8f57c4be5
Exists in
master
and in
6 other branches
提升短信
Showing 3 changed files with 268 additions and 4 deletions
platform-common/src/main/java/com/lyms/platform/common/enums/WxTempleteIdEnums.java
View file @
37b8415
... | ... | @@ -22,8 +22,8 @@ |
22 | 22 | CHAN_YI_BAN_ZHI_DAO("H2_ucLqVEbsZAv-EZcmUDpD1Zul5NGqMoJktHT0u4gw","产妇一般指导"),//产妇 |
23 | 23 | BABY_YI_BAN_ZHI_DAO("dqvyESU8UXx1V3cIMQDqj4PLxI6T9-sgihQcs3ZGL9E","儿童一般指导"),//儿童 |
24 | 24 | |
25 | - YI_SHENG_ZHI_DAO("OggqiSHitLkCgSLCaCH72reCZzaw5NyG8iO56InQiQg","医生指导"),//指导 | |
26 | - WEI_JI_ZHI_DAO("fNkkLSp_gS-YWvzji6gwgdTddl4XBlk8SNP7FRksrfk","危急值提醒");//危急值提醒 | |
25 | + YI_SHENG_ZHI_DAO("OggqiSHitLkCgSLCaCH72reCZzaw5NyG8iO56InQiQg","医生指导");//指导 | |
26 | +// WEI_JI_ZHI_DAO("fNkkLSp_gS-YWvzji6gwgdTddl4XBlk8SNP7FRksrfk","危急值提醒");//危急值提醒 | |
27 | 27 | |
28 | 28 | |
29 | 29 |
platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java
View file @
37b8415
... | ... | @@ -9,11 +9,15 @@ |
9 | 9 | import com.lyms.platform.msg.worker.TempleteMsgGenerateWorker; |
10 | 10 | import com.lyms.platform.msg.worker.YunAmsMsgGenerateWorker; |
11 | 11 | |
12 | +import com.lyms.platform.permission.service.BabyPatientExtendEarFollowUpService; | |
13 | +import com.lyms.platform.permission.service.BabyPatientExtendEarHearingDiagnoseService; | |
14 | +import com.lyms.platform.permission.service.BabyPatientExtendEarScreenService; | |
12 | 15 | import com.lyms.platform.pojo.SmsConfigModel; |
13 | 16 | import org.apache.commons.collections.CollectionUtils; |
14 | 17 | import org.slf4j.Logger; |
15 | 18 | import org.slf4j.LoggerFactory; |
16 | 19 | import org.springframework.beans.factory.annotation.Autowired; |
20 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
17 | 21 | import org.springframework.stereotype.Service; |
18 | 22 | |
19 | 23 | import java.util.*; |
20 | 24 | |
... | ... | @@ -38,12 +42,24 @@ |
38 | 42 | private IBaseService baseService; |
39 | 43 | |
40 | 44 | @Autowired |
45 | + private MongoTemplate mongoTemplate; | |
46 | + | |
47 | + @Autowired | |
41 | 48 | private YunBookbuildingService yunBookbuildingService; |
42 | 49 | |
43 | 50 | @Autowired |
44 | 51 | private SmsTemplateService smsTemplateService; |
45 | 52 | |
46 | 53 | @Autowired |
54 | + private BabyPatientExtendEarScreenService babyPatientExtendEarScreenService; | |
55 | + | |
56 | + @Autowired | |
57 | + private BabyPatientExtendEarHearingDiagnoseService hearingDiagnoseService; | |
58 | + | |
59 | + @Autowired | |
60 | + private BabyPatientExtendEarFollowUpService babyPatientExtendEarFollowUpService; | |
61 | + | |
62 | + @Autowired | |
47 | 63 | private HighRiskService highRiskService; |
48 | 64 | |
49 | 65 | @Autowired |
... | ... | @@ -147,7 +163,15 @@ |
147 | 163 | end = configModels.size(); |
148 | 164 | } |
149 | 165 | TempleteMsgGenerateWorker worker = new TempleteMsgGenerateWorker(configModels.subList(i,end), |
150 | - baseService,yunBookbuildingService,smsTemplateService,babyBookbuildingService,postReviewService); | |
166 | + baseService, | |
167 | + yunBookbuildingService, | |
168 | + smsTemplateService, | |
169 | + babyBookbuildingService, | |
170 | + postReviewService, | |
171 | + mongoTemplate, | |
172 | + babyPatientExtendEarScreenService, | |
173 | + hearingDiagnoseService, | |
174 | + babyPatientExtendEarFollowUpService); | |
151 | 175 | pool.execute(worker); |
152 | 176 | } |
153 | 177 |
platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/TempleteMsgGenerateWorker.java
View file @
37b8415
... | ... | @@ -8,11 +8,19 @@ |
8 | 8 | import com.lyms.platform.msg.service.IBaseService; |
9 | 9 | import com.lyms.platform.msg.utils.DateUtils; |
10 | 10 | import com.lyms.platform.msg.utils.HelperUtils; |
11 | +import com.lyms.platform.permission.model.*; | |
12 | +import com.lyms.platform.permission.service.BabyPatientExtendEarFollowUpService; | |
13 | +import com.lyms.platform.permission.service.BabyPatientExtendEarHearingDiagnoseService; | |
14 | +import com.lyms.platform.permission.service.BabyPatientExtendEarScreenService; | |
11 | 15 | import com.lyms.platform.pojo.*; |
12 | 16 | import com.lyms.platform.query.*; |
13 | 17 | import org.apache.commons.collections.CollectionUtils; |
14 | 18 | import org.slf4j.Logger; |
15 | 19 | import org.slf4j.LoggerFactory; |
20 | +import org.springframework.beans.factory.annotation.Autowired; | |
21 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
22 | +import org.springframework.data.mongodb.core.query.Criteria; | |
23 | +import org.springframework.data.mongodb.core.query.Query; | |
16 | 24 | |
17 | 25 | import java.util.*; |
18 | 26 | import java.util.concurrent.ExecutorService; |
19 | 27 | |
20 | 28 | |
... | ... | @@ -33,18 +41,29 @@ |
33 | 41 | |
34 | 42 | private YunBookbuildingService yunBookbuildingService; |
35 | 43 | |
44 | + private MongoTemplate mongoTemplate; | |
36 | 45 | |
37 | 46 | private SmsTemplateService smsTemplateService; |
38 | 47 | |
39 | 48 | private BabyBookbuildingService babyBookbuildingService; |
40 | 49 | |
50 | + private BabyPatientExtendEarScreenService babyPatientExtendEarScreenService; | |
51 | + | |
52 | + private BabyPatientExtendEarHearingDiagnoseService hearingDiagnoseService; | |
53 | + | |
54 | + private BabyPatientExtendEarFollowUpService babyPatientExtendEarFollowUpService; | |
55 | + | |
41 | 56 | private PostReviewService postReviewService; |
42 | 57 | |
43 | 58 | public TempleteMsgGenerateWorker(List<SmsConfigModel> configs, IBaseService baseService, |
44 | 59 | YunBookbuildingService yunBookbuildingService, |
45 | 60 | SmsTemplateService smsTemplateService, |
46 | 61 | BabyBookbuildingService babyBookbuildingService, |
47 | - PostReviewService postReviewService) | |
62 | + PostReviewService postReviewService, | |
63 | + MongoTemplate mongoTemplate, | |
64 | + BabyPatientExtendEarScreenService babyPatientExtendEarScreenService, | |
65 | + BabyPatientExtendEarHearingDiagnoseService hearingDiagnoseService, | |
66 | + BabyPatientExtendEarFollowUpService babyPatientExtendEarFollowUpService) | |
48 | 67 | { |
49 | 68 | this.configs = configs; |
50 | 69 | this.baseService = baseService; |
... | ... | @@ -52,6 +71,10 @@ |
52 | 71 | this.smsTemplateService = smsTemplateService; |
53 | 72 | this.babyBookbuildingService = babyBookbuildingService; |
54 | 73 | this.postReviewService = postReviewService; |
74 | + this.mongoTemplate = mongoTemplate; | |
75 | + this.babyPatientExtendEarScreenService = babyPatientExtendEarScreenService; | |
76 | + this.hearingDiagnoseService = hearingDiagnoseService; | |
77 | + this.babyPatientExtendEarFollowUpService = babyPatientExtendEarFollowUpService; | |
55 | 78 | } |
56 | 79 | |
57 | 80 | @Override |
... | ... | @@ -537,6 +560,223 @@ |
537 | 560 | } |
538 | 561 | } |
539 | 562 | } |
563 | + } | |
564 | + //儿童眼保键预约提醒 | |
565 | + else if (smsType == SmsServiceEnums.YBYYTX.getId()) | |
566 | + { | |
567 | + //发送短信集合 | |
568 | + MsgListRequest list = new MsgListRequest(); | |
569 | + List<MsgRequest> messages = new ArrayList<>(); | |
570 | + | |
571 | + Date orderDate = DateUtils.addDay(new Date(), sendTimeType); | |
572 | + orderDate = DateUtils.formatDate(orderDate,DateUtils.Y_M_D); | |
573 | + | |
574 | + List<BabyEyeCheck> checkModels = mongoTemplate.find(Query.query(Criteria.where("nextCheckTime").is(orderDate) | |
575 | + .and("yn").ne("0").and("hospitalId").is(tempHid)), BabyEyeCheck.class); | |
576 | + if (CollectionUtils.isNotEmpty(checkModels)) | |
577 | + { | |
578 | + for(BabyEyeCheck eyecheck : checkModels) | |
579 | + { | |
580 | + | |
581 | + BabyModelQuery query = new BabyModelQuery(); | |
582 | + query.setYn(YnEnums.YES.getId()); | |
583 | + query.setId(eyecheck.getBabyId()); | |
584 | + | |
585 | + //查询符合条件儿童 | |
586 | + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(query); | |
587 | + if (CollectionUtils.isNotEmpty(babyModels)) | |
588 | + { | |
589 | + for (BabyModel model : babyModels) | |
590 | + { | |
591 | + //短信前缀 | |
592 | + String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); | |
593 | + String messageContent = "【"+messagePrefix+"】"+template.getContent(); | |
594 | + messageContent = HelperUtils.replaceEL(model.getName(), orderDate, messageContent); | |
595 | + | |
596 | + String itemName = "儿童保健"; | |
597 | + String nextCheckTime = DateUtils.getDateStr(orderDate,DateUtils.Y_M_D); | |
598 | + | |
599 | + MsgRequest request = HelperUtils.getMessageRequest(messageContent, model.getMphone(), | |
600 | + ServiceObjEnums.BABYOBJ.getId(), template.getSmsType(), | |
601 | + model.getHospitalId(), template.getId(), model.getId(), itemName, nextCheckTime, "", | |
602 | + WxTempleteIdEnums.ER_TONG_TI_XING.getId(),service); | |
603 | + | |
604 | + messages.add(request); | |
605 | + } | |
606 | + } | |
607 | + } | |
608 | + } | |
609 | + | |
610 | + list.setMessages(messages); | |
611 | + HelperUtils.sendMsg(list); | |
612 | + } | |
613 | + //儿童听力筛查预约提醒 | |
614 | + else if (smsType == SmsServiceEnums.TSYYTX.getId()) | |
615 | + { | |
616 | + //发送短信集合 | |
617 | + MsgListRequest list = new MsgListRequest(); | |
618 | + List<MsgRequest> messages = new ArrayList<>(); | |
619 | + | |
620 | + Date orderDate = DateUtils.addDay(new Date(), sendTimeType); | |
621 | + orderDate = DateUtils.formatDate(orderDate,DateUtils.Y_M_D); | |
622 | + | |
623 | + | |
624 | + BabyPatientExtendEarScreenQuery screenQuery = new BabyPatientExtendEarScreenQuery(); | |
625 | + screenQuery.setNextStartTime(DateUtils.getDateStr(orderDate, DateUtils.Y_M_D)); | |
626 | + screenQuery.setNextEndTime(DateUtils.getDateStr(orderDate,DateUtils.Y_M_D)); | |
627 | + screenQuery.setCheckHospitalId(tempHid); | |
628 | + screenQuery.setStatus(0); | |
629 | + screenQuery.setSort("screen_date"); | |
630 | + screenQuery.setNeed("y"); | |
631 | + | |
632 | + List<BabyPatientExtendEarScreen> babyPatientExtendEarScreens = babyPatientExtendEarScreenService.queryEarScreenList(screenQuery); | |
633 | + if (CollectionUtils.isNotEmpty(babyPatientExtendEarScreens)) | |
634 | + { | |
635 | + for(BabyPatientExtendEarScreen ear : babyPatientExtendEarScreens) | |
636 | + { | |
637 | + | |
638 | + BabyModelQuery query = new BabyModelQuery(); | |
639 | + query.setYn(YnEnums.YES.getId()); | |
640 | + query.setId(ear.getBabyId()); | |
641 | + | |
642 | + //查询符合条件儿童 | |
643 | + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(query); | |
644 | + if (CollectionUtils.isNotEmpty(babyModels)) | |
645 | + { | |
646 | + for (BabyModel model : babyModels) | |
647 | + { | |
648 | + //短信前缀 | |
649 | + String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); | |
650 | + String messageContent = "【"+messagePrefix+"】"+template.getContent(); | |
651 | + messageContent = HelperUtils.replaceEL(model.getName(), orderDate, messageContent); | |
652 | + | |
653 | + String itemName = "儿童保健"; | |
654 | + String nextCheckTime = DateUtils.getDateStr(orderDate,DateUtils.Y_M_D); | |
655 | + | |
656 | + MsgRequest request = HelperUtils.getMessageRequest(messageContent, model.getMphone(), | |
657 | + ServiceObjEnums.BABYOBJ.getId(), template.getSmsType(), | |
658 | + model.getHospitalId(), template.getId(), model.getId(), itemName, nextCheckTime, "", | |
659 | + WxTempleteIdEnums.ER_TONG_TI_XING.getId(),service); | |
660 | + | |
661 | + messages.add(request); | |
662 | + } | |
663 | + } | |
664 | + } | |
665 | + } | |
666 | + | |
667 | + list.setMessages(messages); | |
668 | + HelperUtils.sendMsg(list); | |
669 | + } | |
670 | + //儿童听力诊断预约提醒 | |
671 | + else if (smsType == SmsServiceEnums.TYZDYYTX.getId()) | |
672 | + { | |
673 | + //发送短信集合 | |
674 | + MsgListRequest list = new MsgListRequest(); | |
675 | + List<MsgRequest> messages = new ArrayList<>(); | |
676 | + | |
677 | + Date orderDate = DateUtils.addDay(new Date(), sendTimeType); | |
678 | + orderDate = DateUtils.formatDate(orderDate,DateUtils.Y_M_D); | |
679 | + | |
680 | + BabyPatientExtendEarHearingDiagnoseQuery diagnoseQuery = new BabyPatientExtendEarHearingDiagnoseQuery(); | |
681 | + diagnoseQuery.setDiagnNextStartTime(orderDate); | |
682 | + diagnoseQuery.setDiagnNextEndTime(orderDate); | |
683 | + diagnoseQuery.setHospitalId(tempHid); | |
684 | + diagnoseQuery.setSort("diagnose_time desc"); | |
685 | + | |
686 | + //已经诊断的数据 | |
687 | + List<BabyPatientExtendEarHearingDiagnose> hearingDiagnoseList = hearingDiagnoseService.getHdAndScreen(diagnoseQuery); | |
688 | + if (CollectionUtils.isNotEmpty(hearingDiagnoseList)) | |
689 | + { | |
690 | + for(BabyPatientExtendEarHearingDiagnose diagnose : hearingDiagnoseList) | |
691 | + { | |
692 | + | |
693 | + BabyModelQuery query = new BabyModelQuery(); | |
694 | + query.setYn(YnEnums.YES.getId()); | |
695 | + query.setId(diagnose.getBabyId()); | |
696 | + | |
697 | + //查询符合条件儿童 | |
698 | + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(query); | |
699 | + if (CollectionUtils.isNotEmpty(babyModels)) | |
700 | + { | |
701 | + for (BabyModel model : babyModels) | |
702 | + { | |
703 | + //短信前缀 | |
704 | + String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); | |
705 | + String messageContent = "【"+messagePrefix+"】"+template.getContent(); | |
706 | + messageContent = HelperUtils.replaceEL(model.getName(), orderDate, messageContent); | |
707 | + | |
708 | + String itemName = "儿童保健"; | |
709 | + String nextCheckTime = DateUtils.getDateStr(orderDate,DateUtils.Y_M_D); | |
710 | + | |
711 | + MsgRequest request = HelperUtils.getMessageRequest(messageContent, model.getMphone(), | |
712 | + ServiceObjEnums.BABYOBJ.getId(), template.getSmsType(), | |
713 | + model.getHospitalId(), template.getId(), model.getId(), itemName, nextCheckTime, "", | |
714 | + WxTempleteIdEnums.ER_TONG_TI_XING.getId(),service); | |
715 | + | |
716 | + messages.add(request); | |
717 | + } | |
718 | + } | |
719 | + } | |
720 | + } | |
721 | + | |
722 | + list.setMessages(messages); | |
723 | + HelperUtils.sendMsg(list); | |
724 | + } | |
725 | + //儿童听力随访预约提醒 | |
726 | + else if (smsType == SmsServiceEnums.TLZDYYTX.getId()) | |
727 | + { | |
728 | + //发送短信集合 | |
729 | + MsgListRequest list = new MsgListRequest(); | |
730 | + List<MsgRequest> messages = new ArrayList<>(); | |
731 | + | |
732 | + Date orderDate = DateUtils.addDay(new Date(), sendTimeType); | |
733 | + orderDate = DateUtils.formatDate(orderDate,DateUtils.Y_M_D); | |
734 | + | |
735 | + | |
736 | + //查询条件 | |
737 | + BabyPatientExtendEarFollowUpQuery followUpQuery = new BabyPatientExtendEarFollowUpQuery(); | |
738 | + followUpQuery.setIfdel(0); | |
739 | + followUpQuery.setNextStartTime(DateUtils.getDateStr(orderDate,DateUtils.Y_M_D)); | |
740 | + followUpQuery.setNextEndTime(DateUtils.getDateStr(orderDate,DateUtils.Y_M_D)); | |
741 | + followUpQuery.setHospitalId(tempHid); | |
742 | + | |
743 | + List<BabyPatientExtendEarFollowUp> BabyPatientExtendEarFollowUpList = babyPatientExtendEarFollowUpService.queryBabyPatientExtendEarFollowUp(followUpQuery); | |
744 | + if (CollectionUtils.isNotEmpty(BabyPatientExtendEarFollowUpList)) | |
745 | + { | |
746 | + for(BabyPatientExtendEarFollowUp follow : BabyPatientExtendEarFollowUpList) | |
747 | + { | |
748 | + | |
749 | + BabyModelQuery query = new BabyModelQuery(); | |
750 | + query.setYn(YnEnums.YES.getId()); | |
751 | + query.setId(follow.getBabyId()); | |
752 | + | |
753 | + //查询符合条件儿童 | |
754 | + List<BabyModel> babyModels = babyBookbuildingService.queryBabyBuildByCond(query); | |
755 | + if (CollectionUtils.isNotEmpty(babyModels)) | |
756 | + { | |
757 | + for (BabyModel model : babyModels) | |
758 | + { | |
759 | + //短信前缀 | |
760 | + String messagePrefix = baseService.getSmsPrefix(config, model.getBuildDoctor(),ServiceObjEnums.BABYOBJ.getId()); | |
761 | + String messageContent = "【"+messagePrefix+"】"+template.getContent(); | |
762 | + messageContent = HelperUtils.replaceEL(model.getName(), orderDate, messageContent); | |
763 | + | |
764 | + String itemName = "儿童保健"; | |
765 | + String nextCheckTime = DateUtils.getDateStr(orderDate,DateUtils.Y_M_D); | |
766 | + | |
767 | + MsgRequest request = HelperUtils.getMessageRequest(messageContent, model.getMphone(), | |
768 | + ServiceObjEnums.BABYOBJ.getId(), template.getSmsType(), | |
769 | + model.getHospitalId(), template.getId(), model.getId(), itemName, nextCheckTime, "", | |
770 | + WxTempleteIdEnums.ER_TONG_TI_XING.getId(),service); | |
771 | + | |
772 | + messages.add(request); | |
773 | + } | |
774 | + } | |
775 | + } | |
776 | + } | |
777 | + | |
778 | + list.setMessages(messages); | |
779 | + HelperUtils.sendMsg(list); | |
540 | 780 | } |
541 | 781 | } |
542 | 782 |