Explorar o código

王子文 专项培养
1) 导师给出月度反馈后,学员收到系统通知
2)导师邀请其他导师参会,其他导师收到系统通知
3) 会议一周后,学员收到系统通知

wangggziwen %!s(int64=3) %!d(string=hai) anos
pai
achega
eb82f88b64

+ 10 - 1
master/src/main/java/com/ruoyi/common/thread/Trainning/MeetingFeedbackMailThread.java

@@ -1,6 +1,8 @@
 package com.ruoyi.common.thread.Trainning;
 
 import com.ruoyi.common.sendEmail.IMailService;
+import com.ruoyi.project.system.domain.SysMessage;
+import com.ruoyi.project.system.service.ISysMessageService;
 
 import java.util.Date;
 
@@ -19,11 +21,15 @@ public class MeetingFeedbackMailThread implements Runnable {
     private String feedbackSeason;  // 季度
     private String meetingDate; // 会议日期
     private String mentorNamesString;   // 参会导师名单
+    private SysMessage message;
+    private ISysMessageService sysMessageService;
 
     public MeetingFeedbackMailThread() {
     }
 
-    public MeetingFeedbackMailThread(IMailService mailService, String email, String username, String usernameEN, String feedbackYear, String feedbackSeason, String meetingDate, String mentorNamesString) {
+    public MeetingFeedbackMailThread(IMailService mailService, String email, String username, String usernameEN,
+                                     String feedbackYear, String feedbackSeason, String meetingDate,
+                                     String mentorNamesString, ISysMessageService sysMessageService, SysMessage message) {
         this.mentorNamesString = mentorNamesString;
         this.meetingDate = meetingDate;
         this.mailService = mailService;
@@ -32,11 +38,14 @@ public class MeetingFeedbackMailThread implements Runnable {
         this.usernameEN = usernameEN;
         this.feedbackYear = feedbackYear;
         this.feedbackSeason = feedbackSeason;
+        this.sysMessageService = sysMessageService;
+        this.message = message;
     }
 
     @Override
     public void run() {
         this.sendMail();
+        sysMessageService.insertSysMessage(message);
     }
 
     private void sendMail() {

+ 11 - 1
master/src/main/java/com/ruoyi/common/thread/Trainning/MeetingInvitationMailThread.java

@@ -1,6 +1,8 @@
 package com.ruoyi.common.thread.Trainning;
 
 import com.ruoyi.common.sendEmail.IMailService;
+import com.ruoyi.project.system.domain.SysMessage;
+import com.ruoyi.project.system.service.ISysMessageService;
 
 import java.util.Date;
 
@@ -20,11 +22,16 @@ public class MeetingInvitationMailThread implements Runnable {
     private String feedbackYear;    // 年
     private String feedbackSeason;  // 季度
     private String meetingDate; // 会议日期
+    private SysMessage message;
+    private ISysMessageService sysMessageService;
 
     public MeetingInvitationMailThread() {
     }
 
-    public MeetingInvitationMailThread(IMailService mailService, String email, String successorName, String successorNameEN, String mentorName, String mentorNameEN, String feedbackYear, String feedbackSeason,String meetingDate) {
+    public MeetingInvitationMailThread(IMailService mailService, String email, String successorName,
+                                       String successorNameEN, String mentorName, String mentorNameEN,
+                                       String feedbackYear, String feedbackSeason,String meetingDate,
+                                       ISysMessageService sysMessageService, SysMessage message) {
         this.mailService = mailService;
         this.email = email;
         this.successorName = successorName;
@@ -34,11 +41,14 @@ public class MeetingInvitationMailThread implements Runnable {
         this.feedbackYear = feedbackYear;
         this.feedbackSeason = feedbackSeason;
         this.meetingDate = meetingDate;
+        this.sysMessageService = sysMessageService;
+        this.message = message;
     }
 
     @Override
     public void run() {
         this.sendMail();
+        sysMessageService.insertSysMessage(message);
     }
 
     private void sendMail() {

+ 11 - 1
master/src/main/java/com/ruoyi/common/thread/Trainning/MonthlyFeedbackMailThread.java

@@ -1,6 +1,8 @@
 package com.ruoyi.common.thread.Trainning;
 
 import com.ruoyi.common.sendEmail.IMailService;
+import com.ruoyi.project.system.domain.SysMessage;
+import com.ruoyi.project.system.service.ISysMessageService;
 
 import java.util.Date;
 
@@ -19,11 +21,16 @@ public class MonthlyFeedbackMailThread implements Runnable {
     private String mentorNameEN;  // 导师用户名(英)
     private String feedbackYear;    // 年
     private String feedbackMonth;  // 月
+    private SysMessage message;
+    private ISysMessageService sysMessageService;
 
     public MonthlyFeedbackMailThread() {
     }
 
-    public MonthlyFeedbackMailThread(IMailService mailService, String email, String successorName, String successorNameEN, String mentorName, String mentorNameEN, String feedbackYear, String feedbackMonth) {
+    public MonthlyFeedbackMailThread(IMailService mailService, String email, String successorName,
+                                     String successorNameEN, String mentorName, String mentorNameEN,
+                                     String feedbackYear, String feedbackMonth, ISysMessageService sysMessageService,
+                                     SysMessage message) {
         this.mailService = mailService;
         this.email = email;
         this.successorName = successorName;
@@ -32,11 +39,14 @@ public class MonthlyFeedbackMailThread implements Runnable {
         this.mentorNameEN = mentorNameEN;
         this.feedbackYear = feedbackYear;
         this.feedbackMonth = feedbackMonth;
+        this.sysMessageService = sysMessageService;
+        this.message = message;
     }
 
     @Override
     public void run() {
         this.sendMail();
+        sysMessageService.insertSysMessage(message);
     }
 
     private void sendMail() {

+ 26 - 5
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackController.java

@@ -9,7 +9,11 @@ import com.github.stuxuhai.jpinyin.PinyinException;
 import com.github.stuxuhai.jpinyin.PinyinFormat;
 import com.github.stuxuhai.jpinyin.PinyinHelper;
 import com.ruoyi.common.sendEmail.IMailService;
+import com.ruoyi.common.thread.Trainning.MeetingInvitationMailThread;
+import com.ruoyi.common.thread.Trainning.MonthlyFeedbackMailThread;
+import com.ruoyi.project.system.domain.SysMessage;
 import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.ISysMessageService;
 import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.*;
 import com.ruoyi.project.training.spec.domain.vo.TStFeedbackSeasonalVO;
@@ -47,6 +51,9 @@ import com.ruoyi.framework.web.page.TableDataInfo;
 @EnableScheduling
 public class TStFeedbackController extends BaseController
 {
+    @Autowired
+    private ISysMessageService sysMessageService;
+
     @Autowired
     private ITStFeedbackService tStFeedbackService;
 
@@ -531,9 +538,16 @@ public class TStFeedbackController extends BaseController
             String mentorNameEN = PinyinHelper.convertToPinyinString(mentorName, " ", PinyinFormat.WITHOUT_TONE);
             Date meetingDate = tStFeedbackService.selectTStFeedbackById(tStFeedback.getParentId()).getMeetingDate();
             String meetingDateString = "20" + (meetingDate.getYear() + "年" + (meetingDate.getMonth() + 1 + "月") + meetingDate.getDate() + "日").substring(1);
+            // 系统通知
+            SysMessage message = new SysMessage();
+            message.setUserId(mentor.getUserId());
+            message.setMsgTitle("您有一条系统消息");
+            message.setMsgContent("您有一条季度汇报消息待查看");
             // TODO: 部署前开启
             // 邮件通知导师
-//            MeetingInvitationMailThread meetingInvitationMailThread = new MeetingInvitationMailThread(mailService, email, successorName, successorNameEN, mentorName, mentorNameEN, feedbackYear, feedbackSeason, meetingDateString);
+//            MeetingInvitationMailThread meetingInvitationMailThread = new MeetingInvitationMailThread(
+//                    mailService, email, successorName, successorNameEN, mentorName, mentorNameEN,
+//                    feedbackYear, feedbackSeason, meetingDateString, sysMessageService, message);
 //            Thread thread = new Thread(meetingInvitationMailThread);
 //            thread.start();
         }
@@ -550,7 +564,7 @@ public class TStFeedbackController extends BaseController
         TStFeedback feedback = tStFeedbackService.selectTStFeedbackById(tStFeedback.getId());
         Long feedbackType = feedback.getFeedbackType();
         if (feedbackType != null) {
-            // 反馈类型为度反馈
+            // 反馈类型为度反馈
             if (feedback.getFeedbackType() == 2) {
                 // 根据学员staffId获取用户对象
                 SysUser successor = sysUserService.selectUserByStaffId(feedback.getSuccessorId());
@@ -563,11 +577,18 @@ public class TStFeedbackController extends BaseController
                 SysUser mentor = sysUserService.selectUserByStaffId(feedback.getMentorId());
                 String mentorName = mentor.getNickName();
                 String mentorNameEN = PinyinHelper.convertToPinyinString(mentorName, " ", PinyinFormat.WITHOUT_TONE);
+                // 系统通知
+                SysMessage message = new SysMessage();
+                message.setUserId(successor.getUserId());
+                message.setMsgTitle("您有一条系统消息");
+                message.setMsgContent("您有一条月度反馈消息待查看");
                 // TODO: 部署前开启
                 // 邮件通知学员
-//            MonthlyFeedbackMailThread monthlyFeedbackMailThread = new MonthlyFeedbackMailThread(mailService, email, successorName, successorNameEN, mentorName, mentorNameEN, feedbackYear, feedbackMonth);
-//            Thread thread = new Thread(monthlyFeedbackMailThread);
-//            thread.start();
+//                MonthlyFeedbackMailThread monthlyFeedbackMailThread = new MonthlyFeedbackMailThread(
+//                        mailService, email, successorName, successorNameEN, mentorName, mentorNameEN,
+//                        feedbackYear, feedbackMonth, sysMessageService, message);
+//                Thread thread = new Thread(monthlyFeedbackMailThread);
+//                thread.start();
             }
         }
         return toAjax(tStFeedbackService.updateTStFeedback(tStFeedback));

+ 14 - 1
master/src/main/java/com/ruoyi/project/training/spec/controller/scheduler/TStFeedbackScheduler.java

@@ -5,7 +5,9 @@ import com.github.stuxuhai.jpinyin.PinyinFormat;
 import com.github.stuxuhai.jpinyin.PinyinHelper;
 import com.ruoyi.common.sendEmail.IMailService;
 import com.ruoyi.common.thread.Trainning.MeetingFeedbackMailThread;
+import com.ruoyi.project.system.domain.SysMessage;
 import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.ISysMessageService;
 import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.TStFeedback;
 import com.ruoyi.project.training.spec.service.ITStFeedbackService;
@@ -28,6 +30,9 @@ import java.util.stream.Collectors;
 @EnableScheduling
 public class TStFeedbackScheduler {
 
+    @Autowired
+    private ISysMessageService sysMessageService;
+
     @Autowired
     private ITStFeedbackService tStFeedbackService;
 
@@ -90,7 +95,15 @@ public class TStFeedbackScheduler {
                 mentorNamesString += ",";
                 mentorNamesString += invitedMentor.getNickName();
             }
-            MeetingFeedbackMailThread meetingFeedbackMailThread = new MeetingFeedbackMailThread(mailService, email, username, usernameEN, feedbackYear, feedbackSeason, meetingDateString, mentorNamesString);
+            // 系统通知
+            SysMessage message = new SysMessage();
+            message.setUserId(successor.getUserId());
+            message.setMsgTitle("您有一条系统消息");
+            message.setMsgContent("您有一条季度汇报消息待查看");
+            // 邮件通知
+            MeetingFeedbackMailThread meetingFeedbackMailThread = new MeetingFeedbackMailThread(
+                    mailService, email, username, usernameEN, feedbackYear, feedbackSeason, meetingDateString,
+                    mentorNamesString, sysMessageService, message);
             Thread thread = new Thread(meetingFeedbackMailThread);
             thread.start();
         }