From 1d4a0a4481c7b1597488a6d46aaf6531160d151b Mon Sep 17 00:00:00 2001
From: zhangheng <3226558941@qq.com>
Date: Fri, 5 Jul 2024 17:28:16 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SubscribeMessageRecord.java | 21 +++++++++-
.../mapper/patientinfo/PatientInfoMapper.java | 3 +-
.../manage/patientinfo/PatientInfoMapper.xml | 30 ++++++---------
.../mapper/homepage/HomePageMapper.java | 8 ++++
.../homepage/Impl/HomePageServiceImpl.java | 2 +-
.../impl/WeChatAppletCallBackServiceImpl.java | 38 +++++++++----------
...hatOfficialAccountCallbackServiceImpl.java | 4 +-
.../utils/WeChatOfficialAccountUtils.java | 3 +-
.../mapper/homepage/HomePageMapper.xml | 11 ++++++
.../impl/subscribeTaskServiceImpl.java | 19 ++++++++--
10 files changed, 91 insertions(+), 48 deletions(-)
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java
index 434714bc..b166b955 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java
@@ -7,12 +7,12 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
-import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.time.LocalDateTime;
+import java.util.Objects;
/**
* 微信小程序订阅消息记录对象 subscribe_message_record
@@ -23,7 +23,6 @@ import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
-@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "微信小程序订阅消息记录对象", description = "subscribe_message_record")
public class SubscribeMessageRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -105,6 +104,24 @@ public class SubscribeMessageRecord extends BaseEntity {
private String subscribeStatus;
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SubscribeMessageRecord that = (SubscribeMessageRecord) o;
+ return Objects.equals(openid, that.openid) && Objects.equals(templateId, that.templateId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(openid, templateId);
+ }
+
+
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java
index 6410ed05..bbf95f95 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java
@@ -1,6 +1,7 @@
package com.xinelu.manage.mapper.patientinfo;
import com.xinelu.manage.domain.patientinfo.PatientInfo;
+import com.xinelu.manage.domain.residentinfo.ResidentInfo;
import com.xinelu.manage.dto.patientinfo.PatientInfoDto;
import com.xinelu.manage.vo.patientinfo.PatientBaseInfoVo;
import java.util.List;
@@ -82,5 +83,5 @@ public interface PatientInfoMapper {
* @param openId 微信openId
* @return 被护理人基本信息
*/
- PatientInfo getPatientInfoByOpenId(String openId);
+ ResidentInfo getPatientInfoByOpenId(String openId);
}
diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml
index ccbf9da2..c2c42718 100644
--- a/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml
+++ b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml
@@ -578,32 +578,26 @@
-
+
+
+ update sign_patient_manage_route_node
+ set node_execute_status = 'EXECUTED'
+ where
+ id in
+
+ #{signPatientManageRouteNodeIds}
+
+
\ No newline at end of file
diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java
index ea660b43..74affbc4 100644
--- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java
+++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java
@@ -49,43 +49,54 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService {
continue;
}
//判断路径节点,组装数据
- if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getName()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getName())) {
+ if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) {
PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO());
if (patientVO.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo())) {
LocalDate localDate = patientVO.getDischargeTime().plusDays(signPatientManageRouteNode.getRouteNodeDay());
boolean before = localDate.isEqual(LocalDate.now());
if (before) {
signPatientManageRouteNode.setOpenId(patientVO.getOpenId());
+ signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName());
patientVOS.add(signPatientManageRouteNode);
}
}
}
- if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getName())) {
+ if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) {
PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO());
if (patientVO.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo())) {
LocalDate localDate = patientVO.getAdmissionTime().plusDays(signPatientManageRouteNode.getRouteNodeDay());
boolean before = localDate.isEqual(LocalDate.now());
if (before) {
signPatientManageRouteNode.setOpenId(patientVO.getOpenId());
+ signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName());
patientVOS.add(signPatientManageRouteNode);
}
}
}
- if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getName()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getName())) {
+ if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) {
PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO());
if (patientVO.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && patientVO.getAdmissionTime() == null) {
LocalDate localDate = patientVO.getVisitDate().plusDays(signPatientManageRouteNode.getRouteNodeDay());
boolean before = localDate.isEqual(LocalDate.now());
if (before) {
signPatientManageRouteNode.setOpenId(patientVO.getOpenId());
+ signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName());
patientVOS.add(signPatientManageRouteNode);
}
}
}
}
+ List signPatientManageRouteNodeIds = new ArrayList<>();
//发送
for (PatientVO patientVO : patientVOS) {
- weChatOfficialAccountUtils.sendAppletTemplateMessage(patientVO);
+ Integer integer = weChatOfficialAccountUtils.sendAppletTemplateMessage(patientVO);
+ if (integer == 0) {
+ signPatientManageRouteNodeIds.add(patientVO.getSignPatientManageRouteNodeId());
+ }
+ //更改执行状态
+ if (CollectionUtils.isNotEmpty(signPatientManageRouteNodeIds)) {
+ homePageMapper.updateNodeExecuteStatusByIds(signPatientManageRouteNodeIds);
+ }
}
}
}