Merge branch '0418_小程序开发' of http://182.92.166.109:3000/zhuangyuanke/PostDischargePatientManage into 0418_小程序开发

This commit is contained in:
haown 2024-08-06 15:45:23 +08:00
commit 2e79919d0b
11 changed files with 70 additions and 38 deletions

View File

@ -78,7 +78,7 @@ public class SignPatientManageRouteController extends BaseController {
} }
/** /**
* 新增签约患者管理任务路径 * 新增签约患者管理任务路径手动创建任务
*/ */
@Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT) @Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")

View File

@ -81,7 +81,7 @@ public class ShortMessageSendRecord extends BaseEntity {
* 推送结果状态码0表示成功 * 推送结果状态码0表示成功
*/ */
@ApiModelProperty(value = "推送结果状态码") @ApiModelProperty(value = "推送结果状态码")
@Excel(name = "推送结果状态码", readConverterExp = "0=表示成功") @Excel(name = "推送结果状态码", readConverterExp = "0表示成功")
private Long errorCode; private Long errorCode;
/** /**

View File

@ -15,18 +15,7 @@ import com.xinelu.common.constant.TaskCreateTypeConstant;
import com.xinelu.common.constant.TaskNodeTypeConstants; import com.xinelu.common.constant.TaskNodeTypeConstants;
import com.xinelu.common.constant.TemplateTypeConstants; import com.xinelu.common.constant.TemplateTypeConstants;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.ErrorStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
import com.xinelu.common.enums.NodeExecuteStatusEnum;
import com.xinelu.common.enums.PhoneConnectStatusEnum;
import com.xinelu.common.enums.PhoneMessageRemindEnum;
import com.xinelu.common.enums.PhoneRedialTimesEnum;
import com.xinelu.common.enums.RouteNodeNameEnum;
import com.xinelu.common.enums.ShortMessageTypeEnum;
import com.xinelu.common.enums.SmsErrorCodeEnum;
import com.xinelu.common.enums.TaskContentEnum;
import com.xinelu.common.enums.TaskCreateTypeEnum;
import com.xinelu.common.enums.TaskNodeTypeEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.AgeUtil; import com.xinelu.common.utils.AgeUtil;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
@ -81,16 +70,6 @@ import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo;
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@ -98,6 +77,13 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* 签约患者管理任务路径Service业务层处理 * 签约患者管理任务路径Service业务层处理
@ -934,6 +920,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
*/ */
private void extracted(SignPatientManageRouteVO signPatientManageRoute, List<SignPatientManageRouteNode> signPatientManageRouteNodes, SignPatientManageRouteNode routeNode) { private void extracted(SignPatientManageRouteVO signPatientManageRoute, List<SignPatientManageRouteNode> signPatientManageRouteNodes, SignPatientManageRouteNode routeNode) {
SignPatientManageRouteNode signPatientManageRouteNode = new SignPatientManageRouteNode(); SignPatientManageRouteNode signPatientManageRouteNode = new SignPatientManageRouteNode();
//电话外呼
if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.PHONE_OUTBOUND.getInfo().equals(routeNode.getTaskNodeType())) { if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.PHONE_OUTBOUND.getInfo().equals(routeNode.getTaskNodeType())) {
signPatientManageRouteNode.setPhonePushSign(Objects.isNull(routeNode.getPhonePushSign()) ? null : routeNode.getPhonePushSign()); signPatientManageRouteNode.setPhonePushSign(Objects.isNull(routeNode.getPhonePushSign()) ? null : routeNode.getPhonePushSign());
signPatientManageRouteNode.setScriptInfoId(Objects.isNull(routeNode.getScriptInfoId()) ? null : routeNode.getScriptInfoId()); signPatientManageRouteNode.setScriptInfoId(Objects.isNull(routeNode.getScriptInfoId()) ? null : routeNode.getScriptInfoId());
@ -947,6 +934,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
signPatientManageRouteNode.setPhoneMessageTemplateName(StringUtils.isBlank(routeNode.getPhoneMessageTemplateName()) ? null : routeNode.getPhoneMessageTemplateName()); signPatientManageRouteNode.setPhoneMessageTemplateName(StringUtils.isBlank(routeNode.getPhoneMessageTemplateName()) ? null : routeNode.getPhoneMessageTemplateName());
signPatientManageRouteNode.setPhoneDialMethod(StringUtils.isBlank(routeNode.getPhoneDialMethod()) ? null : routeNode.getPhoneDialMethod()); signPatientManageRouteNode.setPhoneDialMethod(StringUtils.isBlank(routeNode.getPhoneDialMethod()) ? null : routeNode.getPhoneDialMethod());
} }
//问卷
if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.QUESTIONNAIRE_SCALE.getInfo().equals(routeNode.getTaskNodeType())) { if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.QUESTIONNAIRE_SCALE.getInfo().equals(routeNode.getTaskNodeType())) {
signPatientManageRouteNode.setQuestionInfoId(Objects.isNull(routeNode.getQuestionInfoId()) ? null : routeNode.getQuestionInfoId()); signPatientManageRouteNode.setQuestionInfoId(Objects.isNull(routeNode.getQuestionInfoId()) ? null : routeNode.getQuestionInfoId());
signPatientManageRouteNode.setQuestionnaireName(StringUtils.isBlank(routeNode.getQuestionnaireName()) ? null : routeNode.getQuestionnaireName()); signPatientManageRouteNode.setQuestionnaireName(StringUtils.isBlank(routeNode.getQuestionnaireName()) ? null : routeNode.getQuestionnaireName());
@ -954,22 +942,31 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
signPatientManageRouteNode.setQuestionExpirationDate(Objects.isNull(routeNode.getQuestionExpirationDate()) ? null : routeNode.getQuestionExpirationDate()); signPatientManageRouteNode.setQuestionExpirationDate(Objects.isNull(routeNode.getQuestionExpirationDate()) ? null : routeNode.getQuestionExpirationDate());
signPatientManageRouteNode.setPhoneDialMethod(StringUtils.isBlank(routeNode.getPhoneDialMethod()) ? null : routeNode.getPhoneDialMethod()); signPatientManageRouteNode.setPhoneDialMethod(StringUtils.isBlank(routeNode.getPhoneDialMethod()) ? null : routeNode.getPhoneDialMethod());
} }
//宣教
if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.PROPAGANDA_ARTICLE.getInfo().equals(routeNode.getTaskNodeType())) { if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.PROPAGANDA_ARTICLE.getInfo().equals(routeNode.getTaskNodeType())) {
signPatientManageRouteNode.setPropagandaInfoId(Objects.isNull(routeNode.getPropagandaInfoId()) ? null : routeNode.getPropagandaInfoId()); signPatientManageRouteNode.setPropagandaInfoId(Objects.isNull(routeNode.getPropagandaInfoId()) ? null : routeNode.getPropagandaInfoId());
signPatientManageRouteNode.setPropagandaTitle(StringUtils.isBlank(routeNode.getPropagandaTitle()) ? null : routeNode.getPropagandaTitle()); signPatientManageRouteNode.setPropagandaTitle(StringUtils.isBlank(routeNode.getPropagandaTitle()) ? null : routeNode.getPropagandaTitle());
signPatientManageRouteNode.setPropagandaContent(StringUtils.isBlank(routeNode.getPropagandaContent()) ? null : routeNode.getPropagandaContent()); signPatientManageRouteNode.setPropagandaContent(StringUtils.isBlank(routeNode.getPropagandaContent()) ? null : routeNode.getPropagandaContent());
} }
//文字提醒
if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.TEXT_REMIND.getInfo().equals(routeNode.getTaskNodeType())) { if (Objects.nonNull(routeNode) && TaskNodeTypeEnum.TEXT_REMIND.getInfo().equals(routeNode.getTaskNodeType())) {
signPatientManageRouteNode.setNodeContent(StringUtils.isBlank(routeNode.getNodeContent()) ? null : routeNode.getNodeContent()); signPatientManageRouteNode.setNodeContent(StringUtils.isBlank(routeNode.getNodeContent()) ? null : routeNode.getNodeContent());
} }
//短信
signPatientManageRouteNode.setMessagePushSign(Objects.isNull(routeNode.getMessagePushSign()) ? null : routeNode.getMessagePushSign()); signPatientManageRouteNode.setMessagePushSign(Objects.isNull(routeNode.getMessagePushSign()) ? null : routeNode.getMessagePushSign());
signPatientManageRouteNode.setMessageTemplateId(Objects.isNull(routeNode.getMessageTemplateId()) ? null : routeNode.getMessageTemplateId()); signPatientManageRouteNode.setMessageTemplateId(Objects.isNull(routeNode.getMessageTemplateId()) ? null : routeNode.getMessageTemplateId());
signPatientManageRouteNode.setMessageTemplateCode(Objects.isNull(routeNode.getMessageTemplateCode()) ? null : routeNode.getMessageTemplateCode());
;
signPatientManageRouteNode.setMessageTemplateName(StringUtils.isBlank(routeNode.getMessageTemplateName()) ? null : routeNode.getMessageTemplateName()); signPatientManageRouteNode.setMessageTemplateName(StringUtils.isBlank(routeNode.getMessageTemplateName()) ? null : routeNode.getMessageTemplateName());
//公众号
signPatientManageRouteNode.setOfficialPushSign(Objects.isNull(routeNode.getOfficialPushSign()) ? null : routeNode.getOfficialPushSign()); signPatientManageRouteNode.setOfficialPushSign(Objects.isNull(routeNode.getOfficialPushSign()) ? null : routeNode.getOfficialPushSign());
signPatientManageRouteNode.setOfficialTemplateId(Objects.isNull(routeNode.getOfficialTemplateId()) ? null : routeNode.getOfficialTemplateId()); signPatientManageRouteNode.setOfficialTemplateId(Objects.isNull(routeNode.getOfficialTemplateId()) ? null : routeNode.getOfficialTemplateId());
signPatientManageRouteNode.setOfficialTemplateCode(Objects.isNull(routeNode.getOfficialTemplateCode()) ? null : routeNode.getOfficialTemplateCode());
signPatientManageRouteNode.setOfficialTemplateName(StringUtils.isBlank(routeNode.getOfficialTemplateName()) ? null : routeNode.getOfficialTemplateName()); signPatientManageRouteNode.setOfficialTemplateName(StringUtils.isBlank(routeNode.getOfficialTemplateName()) ? null : routeNode.getOfficialTemplateName());
//小程序
signPatientManageRouteNode.setAppletPushSign(Objects.isNull(routeNode.getAppletPushSign()) ? null : routeNode.getAppletPushSign()); signPatientManageRouteNode.setAppletPushSign(Objects.isNull(routeNode.getAppletPushSign()) ? null : routeNode.getAppletPushSign());
signPatientManageRouteNode.setAppletTemplateId(Objects.isNull(routeNode.getAppletTemplateId()) ? null : routeNode.getAppletTemplateId()); signPatientManageRouteNode.setAppletTemplateId(Objects.isNull(routeNode.getAppletTemplateId()) ? null : routeNode.getAppletTemplateId());
signPatientManageRouteNode.setAppletTemplateCode(Objects.isNull(routeNode.getAppletTemplateCode()) ? null : routeNode.getAppletTemplateCode());
signPatientManageRouteNode.setAppletTemplateName(StringUtils.isBlank(routeNode.getAppletTemplateName()) ? null : routeNode.getAppletTemplateName()); signPatientManageRouteNode.setAppletTemplateName(StringUtils.isBlank(routeNode.getAppletTemplateName()) ? null : routeNode.getAppletTemplateName());
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getId()); signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getId());
signPatientManageRouteNode.setManageRouteName(signPatientManageRoute.getRouteName()); signPatientManageRouteNode.setManageRouteName(signPatientManageRoute.getRouteName());

View File

@ -117,4 +117,9 @@ public class TextMessageTaskVO {
*/ */
@ApiModelProperty(value = "适用任务类型字典表ids") @ApiModelProperty(value = "适用任务类型字典表ids")
private Long[] suitTaskTypeIds; private Long[] suitTaskTypeIds;
/**
* 短信模版code手动创建人任务使用
*/
private String messageTemplateCode;
} }

View File

@ -118,4 +118,8 @@ public class TextMessageVO extends BaseEntity {
@ApiModelProperty(value = "短信模板适用任务类型列表") @ApiModelProperty(value = "短信模板适用任务类型列表")
private List<TextMessageSuitTask> suitTaskList; private List<TextMessageSuitTask> suitTaskList;
/**
* 短信模版code手动创建人任务使用
*/
private String messageTemplateCode;
} }

View File

@ -107,4 +107,16 @@ public class WechatTemplateTaskVO {
*/ */
@ApiModelProperty(value = "适用任务类型字典表ids") @ApiModelProperty(value = "适用任务类型字典表ids")
private Long[] suitTaskTypeIds; private Long[] suitTaskTypeIds;
/**
* 微信模板ID (手动创建任务使用)
*/
@ApiModelProperty(value = "模板ID")
private String appletTemplateCode;
/**
* 公众号模板ID (手动创建任务使用)
*/
@ApiModelProperty(value = "模板ID")
private String officialTemplateCode ;
} }

View File

@ -32,6 +32,7 @@
<result column="disease_type_name" property="diseaseTypeName"/> <result column="disease_type_name" property="diseaseTypeName"/>
<result column="text_message_name" property="textMessageName"/> <result column="text_message_name" property="textMessageName"/>
<result column="text_message_id" property="textMessageId"/> <result column="text_message_id" property="textMessageId"/>
<result column="messageTemplateCode" property="messageTemplateCode"/>
<result column="text_message_content" property="textMessageContent"/> <result column="text_message_content" property="textMessageContent"/>
<result column="text_message_channel" property="textMessageChannel"/> <result column="text_message_channel" property="textMessageChannel"/>
<result column="text_message_status" property="textMessageStatus"/> <result column="text_message_status" property="textMessageStatus"/>
@ -106,6 +107,7 @@
tm.disease_type_name, tm.disease_type_name,
tm.text_message_name, tm.text_message_name,
tm.text_message_id, tm.text_message_id,
tm.text_message_id messageTemplateCode,
tm.text_message_content, tm.text_message_content,
tm.text_message_channel, tm.text_message_channel,
tm.text_message_status, tm.text_message_status,

View File

@ -123,6 +123,12 @@
wt.disease_type_name, wt.disease_type_name,
wt.wechat_template_name, wt.wechat_template_name,
wt.template_id, wt.template_id,
CASE
WHEN wt.template_source = 'WE_CHAT_APPLET' THEN wt.template_id
END AS appletTemplateCode,
CASE
WHEN wt.template_source = 'WE_CHAT_OFFICIAL_ACCOUNT' THEN wt.template_id
END AS officialTemplateCode,
wt.template_content, wt.template_content,
wt.template_source, wt.template_source,
wt.template_sort, wt.template_sort,

View File

@ -212,7 +212,7 @@ public class WeChatOfficialAccountUtils {
paramsMap.put("touser", patientVO.getOpenId()); paramsMap.put("touser", patientVO.getOpenId());
paramsMap.put("template_id", weChatAppletChatConfig.getHealthyPropagandaId()); paramsMap.put("template_id", weChatAppletChatConfig.getHealthyPropagandaId());
//跳转小程序类型developer为开发版trial为体验版formal为正式版默认为正式版 //跳转小程序类型developer为开发版trial为体验版formal为正式版默认为正式版
//paramsMap.put("miniprogram_state", "developer"); paramsMap.put("miniprogram_state", "developer");
paramsMap.put("page", "pages/pushDetails/pushDetails?manageRouteNodeId=" + patientVO.getSignPatientManageRouteNodeId()); paramsMap.put("page", "pages/pushDetails/pushDetails?manageRouteNodeId=" + patientVO.getSignPatientManageRouteNodeId());
Map<String, Object> dataMap = new LinkedHashMap<>(); Map<String, Object> dataMap = new LinkedHashMap<>();
dataMap.put("thing5", new MessageValueEntity(thing5)); dataMap.put("thing5", new MessageValueEntity(thing5));

View File

@ -3,11 +3,8 @@ package com.xinelu.quartz.service.impl;
import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ClientException;
import com.xinelu.common.config.AliYunSmsTwoConfig; import com.xinelu.common.config.AliYunSmsTwoConfig;
import com.xinelu.common.config.PushMessageRestrictions; import com.xinelu.common.config.PushMessageRestrictions;
import com.xinelu.common.enums.ErrorStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.NodeExecuteResultStatusEnum; import com.xinelu.manage.domain.shortmessagesendrecord.ShortMessageSendRecord;
import com.xinelu.common.enums.NodeExecuteStatusEnum;
import com.xinelu.common.enums.RouteNodeNameEnum;
import com.xinelu.manage.domain.subscribemessagesendrecord.SubscribeMessageSendRecord;
import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.dto.smssend.SmsInfoDTO;
import com.xinelu.manage.mapper.shortmessagesendrecord.ShortMessageSendRecordMapper; import com.xinelu.manage.mapper.shortmessagesendrecord.ShortMessageSendRecordMapper;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
@ -22,6 +19,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -151,21 +149,30 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
// 根据模版id发送 // 根据模版id发送
smsInfoDTO.setTemplateCode(message.getTextMessageId()); smsInfoDTO.setTemplateCode(message.getTextMessageId());
Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO); Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO);
SubscribeMessageSendRecord subscribeMessageSendRecord = new SubscribeMessageSendRecord(); ShortMessageSendRecord shortMessageSendRecord = new ShortMessageSendRecord();
shortMessageSendRecord.setMessageType(ShortMessageTypeEnum.COMMON.getInfo());
shortMessageSendRecord.setPatientId(message.getPatientId());
shortMessageSendRecord.setPatientPhone(message.getPatientPhone());
shortMessageSendRecord.setManageRouteNodeId(message.getSignPatientManageRouteNodeId());
shortMessageSendRecord.setSendTime(LocalDateTime.now());
shortMessageSendRecord.setMessageTemplateId(message.getTextMessageId());
shortMessageSendRecord.setMessageNodeContent(message.getMessageNodeContent());
shortMessageSendRecord.setCreateTime(LocalDateTime.now());
//成功 //成功
if (aBoolean) { if (aBoolean) {
ids.add(message.getSignPatientManageRouteNodeId()); ids.add(message.getSignPatientManageRouteNodeId());
subscribeMessageSendRecord.setErrorCode(0); shortMessageSendRecord.setErrorCode(0L);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue()); shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue());
} else { } else {
//失败 //失败
subscribeMessageSendRecord.setErrorCode(1); shortMessageSendRecord.setErrorCode(1L);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue()); shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue());
RecordNum recordNum = recordNums.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getManageRouteNodeId()) && item.getManageRouteNodeId().equals(message.getSignPatientManageRouteNodeId())).findFirst().orElse(new RecordNum()); RecordNum recordNum = recordNums.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getManageRouteNodeId()) && item.getManageRouteNodeId().equals(message.getSignPatientManageRouteNodeId())).findFirst().orElse(new RecordNum());
//三次失败 //三次失败
if (Objects.nonNull(recordNum.getNum()) && recordNum.getNum() >= pushMessageRestrictions.getNumber()) { if (Objects.nonNull(recordNum.getNum()) && recordNum.getNum() >= pushMessageRestrictions.getNumber()) {
failSignPatientManageRouteNodeIds.add(message.getSignPatientManageRouteNodeId()); failSignPatientManageRouteNodeIds.add(message.getSignPatientManageRouteNodeId());
} }
shortMessageSendRecordMapper.insertShortMessageSendRecord(shortMessageSendRecord);
} }
} }
//修改节点状态 //修改节点状态

View File

@ -180,7 +180,6 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService {
subscribeMessageSendRecord.setOpenid(patientVO.getOpenId()); subscribeMessageSendRecord.setOpenid(patientVO.getOpenId());
subscribeMessageSendRecord.setAppletId(weChatAppletChatConfig.getAppletId()); subscribeMessageSendRecord.setAppletId(weChatAppletChatConfig.getAppletId());
subscribeMessageSendRecord.setTemplateId(weChatAppletChatConfig.getHealthyPropagandaId()); subscribeMessageSendRecord.setTemplateId(weChatAppletChatConfig.getHealthyPropagandaId());
subscribeMessageSendRecord.setCreateBy(SecurityUtils.getUsername());
subscribeMessageSendRecord.setCreateTime(LocalDateTime.now()); subscribeMessageSendRecord.setCreateTime(LocalDateTime.now());
subscribeMessageSendRecordMapper.insertSubscribeMessageSendRecord(subscribeMessageSendRecord); subscribeMessageSendRecordMapper.insertSubscribeMessageSendRecord(subscribeMessageSendRecord);
} }