|
@@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import cn.iocoder.yudao.module.system.service.mail.MailSendService;
|
|
|
import cn.iocoder.yudao.module.system.service.mail.MailTemplateService;
|
|
|
+import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
|
|
import cn.iocoder.yudao.module.system.service.studentAttendance.StudentAttendanceService;
|
|
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
@@ -29,10 +30,7 @@ import javax.validation.Valid;
|
|
|
import java.time.DayOfWeek;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
@@ -52,6 +50,8 @@ public class MailTemplateController {
|
|
|
private StudentAttendanceService studentAttendanceService;
|
|
|
@Resource
|
|
|
private DeptService deptService;
|
|
|
+ @Resource
|
|
|
+ private PermissionService permissionService;
|
|
|
|
|
|
@Scheduled(cron = "0 30 22 * * ?") // 每天晚上 22:30
|
|
|
@Operation(summary = "定时发送邮件给导师")
|
|
@@ -124,74 +124,7 @@ public class MailTemplateController {
|
|
|
@Scheduled(cron = "0 30 22 * * ?") // 每天晚上 22:30
|
|
|
@Operation(summary = "定时发送邮件给学院")
|
|
|
public void sendMailToCollegeScheduled() {
|
|
|
- UserPageReqVO reqVO = new UserPageReqVO();
|
|
|
- reqVO.setUserType("4");//找学院
|
|
|
- List<AdminUserDO> collegeList = adminUserService.getUserList(reqVO);
|
|
|
- StudentAttendancePageReqVO attendanceReqVO =new StudentAttendancePageReqVO();
|
|
|
- Map<String, Object> templateParams =new HashMap<>();//模板参数设置
|
|
|
- // 获取当前这天
|
|
|
- LocalDate today = LocalDate.now();
|
|
|
- if ( collegeList!=null&& !collegeList.isEmpty()) {
|
|
|
- for (AdminUserDO college : collegeList) {
|
|
|
- attendanceReqVO.setDate(today);
|
|
|
- List<StudentAttendanceEmailVO> normalList = BeanUtils.toBean(
|
|
|
- studentAttendanceService.getStudentAttendanceListForTeacher(attendanceReqVO),
|
|
|
- StudentAttendanceEmailVO.class
|
|
|
- );
|
|
|
- List<StudentAttendanceEmailVO> errorList = BeanUtils.toBean(
|
|
|
- studentAttendanceService.getStudentAttendanceErrorListForTeacher(attendanceReqVO),
|
|
|
- StudentAttendanceEmailVO.class
|
|
|
- );
|
|
|
- List<StudentAttendanceEmailVO> excusedList = BeanUtils.toBean(//请假
|
|
|
- studentAttendanceService.getStudentAttendanceExcusedListForTeacher(attendanceReqVO),
|
|
|
- StudentAttendanceEmailVO.class
|
|
|
- );
|
|
|
-
|
|
|
- StringBuilder normalListBuilder = new StringBuilder();
|
|
|
- for (StudentAttendanceEmailVO attendance : normalList) {
|
|
|
- normalListBuilder
|
|
|
- .append(", 学生姓名: ").append(attendance.getStudentName())
|
|
|
- .append(", 学生学号: ").append(attendance.getUserNumber() != null ? attendance.getUserNumber() : "无")
|
|
|
- .append(", 工作间名称: ").append(attendance.getDeptName()!=null?attendance.getDeptName():"无")
|
|
|
- .append(",导师名称:").append(attendance.getSupervisor()!=null ? attendance.getSupervisor():"无" )
|
|
|
- .append(", 日期: ").append(attendance.getDate())
|
|
|
- .append(", 打卡时间: ").append(attendance.getClockInTime() != null ? attendance.getClockInTime() : "未打卡")
|
|
|
- .append("<br/>");
|
|
|
- }
|
|
|
-
|
|
|
- StringBuilder errorListBuilder = new StringBuilder();
|
|
|
- for (StudentAttendanceEmailVO attendance : errorList) {
|
|
|
- errorListBuilder
|
|
|
- .append(", 学生姓名: ").append(attendance.getStudentName())
|
|
|
- .append(", 学生学号: ").append(attendance.getUserNumber() != null ? attendance.getUserNumber() : "无")
|
|
|
- .append(", 工作间名称: ").append(attendance.getDeptName()!=null?attendance.getDeptName():"无")
|
|
|
- .append(",导师名称:").append(attendance.getSupervisor()!=null ? attendance.getSupervisor():"无" )
|
|
|
- .append(", 日期: ").append(attendance.getDate())
|
|
|
- .append(", 打卡时间: ").append(attendance.getClockInTime() != null ? attendance.getClockInTime() : "未打卡")
|
|
|
- .append("<br/>");
|
|
|
- }
|
|
|
-
|
|
|
- StringBuilder excusedListBuilder = new StringBuilder();
|
|
|
- for (StudentAttendanceEmailVO attendance : excusedList) {
|
|
|
- excusedListBuilder
|
|
|
- .append(", 学生姓名: ").append(attendance.getStudentName())
|
|
|
- .append(", 学生学号: ").append(attendance.getUserNumber() != null ? attendance.getUserNumber() : "无")
|
|
|
- .append(", 工作间名称: ").append(attendance.getDeptName()!=null?attendance.getDeptName():"无")
|
|
|
- .append(",导师名称:").append(attendance.getSupervisor()!=null ? attendance.getSupervisor():"无" )
|
|
|
- .append(", 日期: ").append(attendance.getDate())
|
|
|
- .append(", 打卡时间: ").append(attendance.getClockInTime() != null ? attendance.getClockInTime() : "请假")
|
|
|
- .append("<br/>");
|
|
|
- }
|
|
|
-
|
|
|
- templateParams.put("normalList", normalListBuilder.toString());
|
|
|
- templateParams.put("errorList", errorListBuilder.toString());
|
|
|
- templateParams.put("excusedList", excusedListBuilder.toString());
|
|
|
- if (college.getEmail() != null) {
|
|
|
- mailSendService.sendSingleMailToMember(college.getEmail(), null, "attendance-list", templateParams);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ testCollege();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -257,6 +190,7 @@ public class MailTemplateController {
|
|
|
public void testTeacher() {
|
|
|
// 创建结果对象并设置属性
|
|
|
UserPageReqVO reqVO = new UserPageReqVO();
|
|
|
+
|
|
|
reqVO.setUserType("3");//找导师
|
|
|
List<AdminUserDO> TeacherList = adminUserService.getUserList(reqVO);
|
|
|
StudentAttendancePageReqVO pageReqVO =new StudentAttendancePageReqVO();
|
|
@@ -324,13 +258,25 @@ public class MailTemplateController {
|
|
|
@Operation(summary = "定时发送邮件给学院")
|
|
|
public void testCollege() {
|
|
|
UserPageReqVO reqVO = new UserPageReqVO();
|
|
|
- reqVO.setUserType("4");//找学院
|
|
|
- List<AdminUserDO> collegeList = adminUserService.getUserList(reqVO);
|
|
|
+ Set<Long> collegeIdList = permissionService.getUserListByRoleId(114L);
|
|
|
+
|
|
|
+ Set<AdminUserDO> collegeList = new HashSet<>();
|
|
|
+ List<AdminUserDO> collegeList1 = adminUserService.getUserList(collegeIdList);
|
|
|
+ reqVO.setUserType("4");
|
|
|
+ List<AdminUserDO> collegeList2 = adminUserService.getUserList(reqVO);
|
|
|
+
|
|
|
+ collegeList.addAll(collegeList1);
|
|
|
+ collegeList.addAll(collegeList2);
|
|
|
+
|
|
|
+ //找学院
|
|
|
+
|
|
|
StudentAttendancePageReqVO attendanceReqVO =new StudentAttendancePageReqVO();
|
|
|
+
|
|
|
Map<String, Object> templateParams =new HashMap<>();//模板参数设置
|
|
|
+
|
|
|
// 获取当前这天
|
|
|
LocalDate today = LocalDate.now();
|
|
|
- if ( collegeList!=null&& !collegeList.isEmpty()) {
|
|
|
+ if ( collegeList!=null && !collegeList.isEmpty()) {
|
|
|
for (AdminUserDO college : collegeList) {
|
|
|
attendanceReqVO.setDate(today);
|
|
|
List<StudentAttendanceEmailVO> normalList = BeanUtils.toBean(
|