From 89176c8f329abb891f9608b174214ab1e22ac6e4 Mon Sep 17 00:00:00 2001 From: MDSMO Date: Wed, 20 Aug 2025 17:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=A6=E7=94=9F=E8=AF=81?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=88=B6=E4=BD=9C=E5=8F=91=E9=80=81=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=88=EF=BC=8C=E7=BB=99=E5=A4=84=E5=88=86=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=92=8C=E8=A7=A3=E9=99=A4=E5=A4=84=E5=88=86=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=94=BF=E6=B2=BB=E9=9D=A2=E8=B2=8C=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/RtStuDisciplinaryApplication.java | 8 ++++ .../domain/RtStuDisciplinaryRelieve.java | 8 ++++ .../RtStuDisciplinaryRelieveServiceImpl.java | 47 +++++++++++++++++++ .../RtStuMultiLevelReviewServiceImpl.java | 2 +- .../RtStuDisciplinaryApplicationMapper.xml | 9 +++- .../RtStuDisciplinaryRelieveMapper.xml | 10 ++++ 6 files changed, 81 insertions(+), 3 deletions(-) diff --git a/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryApplication.java b/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryApplication.java index 1a179c0..039f39b 100644 --- a/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryApplication.java +++ b/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryApplication.java @@ -222,6 +222,14 @@ public class RtStuDisciplinaryApplication extends BaseEntity { @Excel(name = "籍贯") private String jg; + /** + * 政治面貌 + */ + @ApiModelProperty("政治面貌") + @TableField("political_status") + @Excel(name = "政治面貌") + private String politicalStatus; + /** * 市/县 */ diff --git a/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryRelieve.java b/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryRelieve.java index 13d42f0..f94c8e7 100644 --- a/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryRelieve.java +++ b/srs-routine/src/main/java/com/srs/routine/domain/RtStuDisciplinaryRelieve.java @@ -214,6 +214,14 @@ public class RtStuDisciplinaryRelieve extends BaseEntity { @Excel(name = "籍贯") private String jg; + /** + * 政治面貌 + */ + @ApiModelProperty("政治面貌") + @TableField("political_status") + @Excel(name = "政治面貌") + private String politicalStatus; + /** * 市/县 */ diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java index 2eb7c4d..6ca8357 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java @@ -3,16 +3,20 @@ package com.srs.routine.service.impl; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.srs.common.core.domain.AjaxResult; +import com.srs.common.core.domain.entity.SysUser; import com.srs.common.doman.dto.ProcessResultDto; import com.srs.common.exception.ServiceException; import com.srs.common.utils.DateUtils; import com.srs.common.utils.SecurityUtils; +import com.srs.common.utils.WeChatUtil; import com.srs.flowable.service.IFlowDefinitionService; import com.srs.routine.domain.RtStuDisciplinaryApplication; import com.srs.routine.mapper.RtStuDisciplinaryApplicationMapper; +import com.srs.system.mapper.SysUserMapper; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.IdentityService; import org.flowable.engine.TaskService; @@ -40,6 +44,12 @@ public class RtStuDisciplinaryRelieveServiceImpl extends ServiceImpl sysUsers = sysUserMapper.selectAllocatedList(sysUser); + + // 提取二级学院的书记的账号 + List userNames = sysUsers.stream() + .map(SysUser::getUserName) + .collect(Collectors.toList()); + + // 只有政治面貌是团员时才发送企业微信消息 + if ("团员".equals(politicalStatus)) { + // 消息内容 + String messageContent = "【解除处分】" + applicantName + "的解除处分申请已通过审核。"; + int batchSize = 10; + for (int i = 0; i < userNames.size(); i += batchSize) { + List batch = userNames.subList(i, Math.min(i + batchSize, userNames.size())); + // 拼接成"user1|user2|user3"格式 + String toUser = String.join("|", batch); + // 调用企业微信发送消息方法 + weChatUtil.sendTextMessage(toUser, messageContent); + } + } + } catch (Exception e) { + log.error("发送企业微信消息失败:", e); } } return dto; diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuMultiLevelReviewServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuMultiLevelReviewServiceImpl.java index 2a381ec..b117b83 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuMultiLevelReviewServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuMultiLevelReviewServiceImpl.java @@ -117,7 +117,7 @@ public class RtStuMultiLevelReviewServiceImpl extends ServiceImpl 0) { String messageContent = rtStuMultiLevelReview.getNotes(); if (messageContent == null || messageContent.trim().isEmpty()) { - messageContent = "你申请办理的学生证制作完成,长堽校区前往xxx领取,里建校区前往xxx领取"; + messageContent = "你申请办理的学生证制作完成,长堽校区前往经管楼学工处1-1办公室领取,里建校区前往“一站式”学生社区大厅领取"; } weChatUtil.sendTextMessage(rtStuMultiLevelReview.getStuNo(), messageContent); diff --git a/srs-routine/src/main/resources/mapper/routine/RtStuDisciplinaryApplicationMapper.xml b/srs-routine/src/main/resources/mapper/routine/RtStuDisciplinaryApplicationMapper.xml index ed4c2d0..6c710d0 100644 --- a/srs-routine/src/main/resources/mapper/routine/RtStuDisciplinaryApplicationMapper.xml +++ b/srs-routine/src/main/resources/mapper/routine/RtStuDisciplinaryApplicationMapper.xml @@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -44,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select application_id, applicant_id, applicant_name, penalty_number, stu_no, stu_name, stu_id, penalty_type, penalty_status, violation_date, expiration_date, evidence_upload, penalty_recommendation, violation_regulations, submission_status, process_instance_id, deploy_id, create_by, create_time, update_by, update_time, remark, gender, - department_Name, grade_name, class_name, mz, birthday, jg, hksz2,disposition_service,letter_service,disciplinary_date from rt_stu_disciplinary_application + department_Name, grade_name, class_name, mz, birthday, jg,political_status,hksz2,disposition_service,letter_service,disciplinary_date from rt_stu_disciplinary_application