From 012f7c23434123f032875d2ec2d7f4c688544f1b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 12 一月 2026 17:15:29 +0800
Subject: [PATCH] 会议发布之后对接消息通知,需要通知到参会人员

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java        |    8 ++++++++
 src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java                   |    3 ++-
 src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java |   39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index e7478a9..2a430a9 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -230,6 +230,14 @@
 //            i++;
 //        }
         tempFileService.migrateTempFilesToFormal(approve.getId(), approveGetAndUpdateVo.getTempFileIds(), FileNameType.ApproveProcess.getValue());
+        /*娑堟伅閫氱煡*/
+        String id = approve.getApproveUserIds().split(",")[0];
+        sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
+                approve.getApproveId()+"娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+                Arrays.asList(Long.valueOf(id)),
+                approve.getApproveDeptId(),
+                "/collaborativeApproval/approvalProcess?approveType="+approve.getApproveType()+"&approveId="+approve.getApproveId());
+
     }
 
 
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
index c269b1a..b57a4f1 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.xiaoymin.knife4j.core.util.StrUtil;
@@ -24,6 +26,11 @@
 import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo;
 import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.project.system.service.ISysNoticeService;
+import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -40,8 +47,11 @@
     private final MeetDraftMapper meetDraftMapper;
 
     private final MeetApplicationMapper meetApplicationMapper;
+    private final StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper;
 
     private final MeetingMinutesMapper meetingMinutesMapper;
+    private final SysUserMapper userMapper;
+    private final ISysNoticeService sysNoticeService;
 
     @Override
     public IPage<MeetingRoom> getMeetingRoomList(SearchMeetingRoomVo vo) {
@@ -122,6 +132,35 @@
         } else {
             meetApplicationMapper.insert(meetApplication);
         }
+        if (ObjectUtils.isNotNull(meetApplication.getPublishStatus()) && meetApplication.getPublishStatus() == 1){
+            MeetApplication application = meetApplicationMapper.selectById(meetApplication.getId());
+            /*浼氳鍙戝竷鐨勬秷鎭�氱煡*/
+            //鍙備細浜哄憳id(浜哄憳鍙拌处鍜岀敤鎴疯〃閫氳繃浜哄憳缂栧彿鍜岀敤鎴峰悕绉�(鐧诲綍璐﹀彿)鍋氬尮閰�)
+            String cleanStr = application.getParticipants().trim()
+                    .replaceAll("^\\[|\\]$", "")
+                    .trim();
+            List<Long> ids = Arrays.stream(cleanStr.split(","))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .map(s -> {
+                        StaffJoinLeaveRecord staffJoinLeaveRecord = staffJoinLeaveRecordMapper.selectById(Long.valueOf(s));
+                        List<SysUser> users = userMapper.selectList(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUserName,staffJoinLeaveRecord.getStaffNo()));
+                        if (users.size() > 0){
+                            return users.get(0).getUserId();
+                        }else return null;
+                    })
+                    .filter(Objects::nonNull)
+                    .collect(Collectors.toList());
+            if (ids.size() > 0) {
+                sysNoticeService.simpleNoticeByUser("浼氳閫氱煡",
+                        "浼氳涓婚锛�" + application.getTitle() + "\n" +
+                                "浼氳鏃堕棿锛�" + application.getStartTime() + "-" + application.getEndTime() + "\n" +
+                                "鍙戣捣浜猴細" + application.getApplicant(),
+                        ids,
+                        application.getTenantId(),
+                        "");
+            }
+        }
     }
 
     @Override
diff --git a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index d2fbcc2..5d0b675 100644
--- a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -4,6 +4,7 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.collaborativeApproval.pojo.MeetingMinutes;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -16,7 +17,7 @@
  * @author ruoyi
  */
 @Mapper
-public interface SysUserMapper
+public interface SysUserMapper extends BaseMapper<SysUser>
 {
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃

--
Gitblit v1.9.3