From 201c0e3c02b8795800a6d5434576ac26612a29f7 Mon Sep 17 00:00:00 2001 From: aikai Date: Tue, 25 Mar 2025 09:28:45 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E6=89=93?= =?UTF-8?q?=E5=8D=A1=E6=8F=90=E9=86=92=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 editIdsList 用于存储需要更新提醒状态的打卡记录 ID - 只有需要提醒的打卡记录才会被添加到 editIdsList 中 - 修改更新提醒状态的逻辑,仅针对实际需要提醒的记录进行更新 --- .../yudao/module/system/job/attendance/RemindJob.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java index c55440eb..2ad9ffc8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java @@ -63,6 +63,7 @@ public class RemindJob { //幸苦一天了,研发部全体人员提醒您,记得打卡哦~ Map map = new HashMap<>(); //打卡时间 - 15分钟之后是否是 大于打卡时间 - 是的话 - 把用户id拿出来 组装好消息发送 + List editIdsList = new ArrayList<>(); for (AttendancePunchRecordDO attendancePunchRecordDO : attendancePunchRecordDOS) { if (attendancePunchRecordDO.getWorkType().equals(Constants.ZERO) && futureTime.isAfter(attendancePunchRecordDO.getShouldPunchTime())) { AttendanceWorkDTO dto = new AttendanceWorkDTO(); @@ -70,11 +71,13 @@ public class RemindJob { dto.setData(String.format("还有%s钟就要上班了,别忘记打卡哦~", DateUtil.formatBetween(LocalDateTimeUtil.between(localDateTime, attendancePunchRecordDO.getShouldPunchTime()).toMillis(), BetweenFormatter.Level.MINUTE))); map.put(attendancePunchRecordDO.getUserId(), dto); + editIdsList.add(attendancePunchRecordDO.getId()); } else if (attendancePunchRecordDO.getWorkType().equals(Constants.ONE) && localDateTime.isAfter(attendancePunchRecordDO.getShouldPunchTime())) { AttendanceWorkDTO dto = new AttendanceWorkDTO(); dto.setWorkTypeStr("下班打卡"); dto.setData("工作幸苦了,记得打卡哦~"); map.put(attendancePunchRecordDO.getUserId(), dto); + editIdsList.add(attendancePunchRecordDO.getId()); } } //获取到所有的用户id @@ -103,11 +106,10 @@ public class RemindJob { subscribeMessageSendApi.sendMaMsg(dto); } } - List ids = attendancePunchRecordDOS.stream().map(AttendancePunchRecordDO::getId).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(ids)) { + if (CollectionUtil.isNotEmpty(editIdsList)) { attendancePunchRecordService.update(new AttendancePunchRecordDO().setRemindFlag(Constants.TRUE), new LambdaQueryWrapper() - .in(AttendancePunchRecordDO::getId, ids)); + .in(AttendancePunchRecordDO::getId, editIdsList)); } // 返回执行成功 return ReturnT.SUCCESS;