From 2ee58a94020e8183dc859f7627a1ce654dcdea50 Mon Sep 17 00:00:00 2001 From: yahaozhang Date: Sat, 13 Sep 2025 15:23:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=BC=BA=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E5=9C=A8=E9=A6=96=E6=AC=A1=E9=80=89=E5=8C=BA?= =?UTF-8?q?=E5=92=8C=E9=87=8D=E5=A4=8D=E9=80=89=E5=8C=BA=E6=97=B6=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/link/LinkStatusService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java b/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java index aca876c..291c6bd 100644 --- a/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java +++ b/src/main/java/com/gameplatform/server/service/link/LinkStatusService.java @@ -692,6 +692,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) { String selectedDeviceId; if(linkTask.getFirstRegionSelectAt() == null){ + if(!linkTask.getStatus().equals("USING")){ + LocalDateTime now = LocalDateTime.now(); + linkTask.setStatus("USING"); + linkTask.setUpdatedAt(now); + linkTaskMapper.updateById(linkTask); + } log.info("首次选区: 开始检查和分配空闲设备"); DeviceStatusResponse deviceStatus = scriptClient.checkAvailableDeviceStatus().block(); @@ -716,6 +722,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) { log.info("首次选区设备分配成功: 选中设备={}, 任务ID={}", selectedDeviceId, linkTask.getId()); }else{ + if(!linkTask.getStatus().equals("USING")){ + LocalDateTime now = LocalDateTime.now(); + linkTask.setStatus("USING"); + linkTask.setUpdatedAt(now); + linkTaskMapper.updateById(linkTask); + } log.info("重复选区: 检查首次选区时有效性并复用设备"); // 检查首次选区是否已过期 LocalDateTime firstSelectTime = linkTask.getFirstRegionSelectAt(); @@ -831,6 +843,8 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) { } if (linkTask.getFirstRegionSelectAt() == null) { linkTask.setFirstRegionSelectAt(now); + linkTask.setStatus("USING"); + linkTask.setUpdatedAt(LocalDateTime.now()); try { linkTaskMapper.update(linkTask); } catch (Exception ignore) {} } // Audit and history for USING transition