修改定时任务bug

This commit is contained in:
aikai 2024-06-14 17:10:06 +08:00
parent 51e4216ba0
commit 9fd8c803ff
4 changed files with 11 additions and 13 deletions

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.system.job.equipment; package cn.iocoder.yudao.module.system.job.equipment;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.tenant.core.job.TenantJob; import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
import cn.iocoder.yudao.framework.websocket.core.session.WebSocketSessionManager; import cn.iocoder.yudao.framework.websocket.core.session.WebSocketSessionManager;
import cn.iocoder.yudao.module.system.dal.dataobject.equipment.AttendanceMachineDO; import cn.iocoder.yudao.module.system.dal.dataobject.equipment.AttendanceMachineDO;
@ -32,18 +33,15 @@ public class AttendanceMachineJob {
// 获得所有在线的设备 // 获得所有在线的设备
List<AttendanceMachineDO> attendanceMachineDOS = attendanceMachineService.getListByStatus(); List<AttendanceMachineDO> attendanceMachineDOS = attendanceMachineService.getListByStatus();
for (AttendanceMachineDO reqDO : attendanceMachineDOS) { for (AttendanceMachineDO reqDO : attendanceMachineDOS) {
// redis数据不存在则为离线状态 // redis数据不存在则为离线状态
if (stringRedisTemplate.opsForValue().get(reqDO.getDeviceNo()) == null) { String data = stringRedisTemplate.opsForValue().get(reqDO.getDeviceNo());
if (StrUtil.isEmpty(data)) {
attendanceMachineService.updateAttendanceMachineStatus(reqDO.getDeviceNo(), 0, null); attendanceMachineService.updateAttendanceMachineStatus(reqDO.getDeviceNo(), 0, null);
//同步 删除对应sessionId //同步 删除对应sessionId
WebSocketSessionManager webSocketSessionManager = SpringContentUtils.getBean(WebSocketSessionManager.class); WebSocketSessionManager webSocketSessionManager = SpringContentUtils.getBean(WebSocketSessionManager.class);
webSocketSessionManager.removeSession(webSocketSessionManager.getSessionByDeviceNum(reqDO.getDeviceNo())); webSocketSessionManager.removeSession(webSocketSessionManager.getSessionByDeviceNum(reqDO.getDeviceNo()));
} else { } else {
attendanceMachineService.updateAttendanceMachineStatus(reqDO.getDeviceNo(), 1, data);
attendanceMachineService.updateAttendanceMachineStatus(reqDO.getDeviceNo(), 1, stringRedisTemplate.opsForValue().get(reqDO.getDeviceNo()));
} }
} }
} }

View File

@ -223,7 +223,7 @@ public class AttendanceServiceImpl implements AttendanceService {
JSONObject data = JSONUtil.parseObj(o); JSONObject data = JSONUtil.parseObj(o);
data.forEach((k, v) -> { data.forEach((k, v) -> {
JSONObject item = JSONUtil.parseObj(v); JSONObject item = JSONUtil.parseObj(v);
map.put(item.get("date").toString(), item.get("isOffDay").toString()); map.put(item.get("date").toString(), item.get("holiday").toString());
}); });
stringRedisTemplate.opsForHash().putAll(key, map); stringRedisTemplate.opsForHash().putAll(key, map);
// -- 删除去年的 // -- 删除去年的

View File

@ -111,10 +111,9 @@ public class AttendanceMachineServiceImpl implements AttendanceMachineService {
@Override @Override
public void updateAttendanceMachineStatus(String deviceNo, Integer status, String dateTime) { public void updateAttendanceMachineStatus(String deviceNo, Integer status, String dateTime) {
AttendanceMachineDO updateDO = new AttendanceMachineDO(); AttendanceMachineDO updateDO = new AttendanceMachineDO();
updateDO.setStatus(status); updateDO.setStatus(status);
updateDO.setUpdater(getLoginUserId().toString()); // updateDO.setUpdater(getLoginUserId().toString());
if (status == 1) { if (status == 1) {
updateDO.setRequestTime(LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); updateDO.setRequestTime(LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
} }

View File

@ -35,6 +35,7 @@
SELECT SELECT
a.id, a.id,
a.util, a.util,
a.assets_no,
a.item_json, a.item_json,
a.name, a.name,
a.amount, a.amount,