feat: 增强链接任务状态管理,确保在首次选区和重复选区时正确更新任务状态

This commit is contained in:
yahaozhang
2025-09-13 15:23:51 +08:00
parent c4781b88dc
commit 2ee58a9402

View File

@@ -692,6 +692,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
String selectedDeviceId; String selectedDeviceId;
if(linkTask.getFirstRegionSelectAt() == null){ if(linkTask.getFirstRegionSelectAt() == null){
if(!linkTask.getStatus().equals("USING")){
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("USING");
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);
}
log.info("首次选区: 开始检查和分配空闲设备"); log.info("首次选区: 开始检查和分配空闲设备");
DeviceStatusResponse deviceStatus = scriptClient.checkAvailableDeviceStatus().block(); DeviceStatusResponse deviceStatus = scriptClient.checkAvailableDeviceStatus().block();
@@ -716,6 +722,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
log.info("首次选区设备分配成功: 选中设备={}, 任务ID={}", selectedDeviceId, linkTask.getId()); log.info("首次选区设备分配成功: 选中设备={}, 任务ID={}", selectedDeviceId, linkTask.getId());
}else{ }else{
if(!linkTask.getStatus().equals("USING")){
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("USING");
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);
}
log.info("重复选区: 检查首次选区时有效性并复用设备"); log.info("重复选区: 检查首次选区时有效性并复用设备");
// 检查首次选区是否已过期 // 检查首次选区是否已过期
LocalDateTime firstSelectTime = linkTask.getFirstRegionSelectAt(); LocalDateTime firstSelectTime = linkTask.getFirstRegionSelectAt();
@@ -831,6 +843,8 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
} }
if (linkTask.getFirstRegionSelectAt() == null) { if (linkTask.getFirstRegionSelectAt() == null) {
linkTask.setFirstRegionSelectAt(now); linkTask.setFirstRegionSelectAt(now);
linkTask.setStatus("USING");
linkTask.setUpdatedAt(LocalDateTime.now());
try { linkTaskMapper.update(linkTask); } catch (Exception ignore) {} try { linkTaskMapper.update(linkTask); } catch (Exception ignore) {}
} }
// Audit and history for USING transition // Audit and history for USING transition