feat: 在设备状态和链接状态更新中添加完成原因,增强状态管理逻辑

This commit is contained in:
yahaozhang
2025-09-17 16:36:36 +08:00
parent 5817e6fa55
commit b82faa2dce
3 changed files with 10 additions and 0 deletions

View File

@@ -165,6 +165,7 @@ public class DeviceStatusCheckService {
for (LinkTask task : loggedInTasks) {
try {
task.setStatus("COMPLETED");
task.setReason("设备空闲兜底完成");
task.setCompletedPoints(points);
task.setUpdatedAt(LocalDateTime.now());

View File

@@ -108,6 +108,7 @@ public class DeviceAllocationService {
if (shouldExpire) {
String prev = task.getStatus();
task.setStatus("EXPIRED");
task.setReason("USING超时10分钟自动过期");
task.setUpdatedAt(now);
int updated = linkTaskMapper.update(task);
if (updated > 0) {
@@ -143,6 +144,7 @@ public class DeviceAllocationService {
if (shouldComplete) {
String prev = task.getStatus();
task.setStatus("COMPLETED");
task.setReason("LOGGED_IN超过30分钟自动完成");
task.setUpdatedAt(now);
int updated = linkTaskMapper.update(task);
if (updated > 0) {

View File

@@ -225,6 +225,7 @@ public class LinkStatusService {
// 5. 更新链接状态为 REFUNDED
linkTask.setStatus("REFUNDED");
linkTask.setReason("状态:已退款");
linkTask.setRefundAt(LocalDateTime.now());
linkTask.setUpdatedAt(LocalDateTime.now());
@@ -532,6 +533,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
log.warn("链接任务已过期: expireAt={}", linkTask.getExpireAt());
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("EXPIRED");
linkTask.setReason("状态:已过期");
linkTask.setExpireAt(now); // 设置过期时间戳
linkTask.setUpdatedAt(now);
// Note: The following line was incomplete/incorrect in the original.
@@ -564,6 +566,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("EXPIRED");
linkTask.setReason("状态已过期10分钟未登录");
linkTask.setExpireAt(now); // 设置过期时间戳
linkTask.setUpdatedAt(now);
// Note: The following line was incomplete/incorrect in the original.
@@ -698,6 +701,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
if(!linkTask.getStatus().equals("USING")){
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("USING");
linkTask.setReason("首次选区");
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);
}
@@ -733,6 +737,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
if(!linkTask.getStatus().equals("USING")){
LocalDateTime now = LocalDateTime.now();
linkTask.setStatus("USING");
linkTask.setReason("重复选区");
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);
}
@@ -752,6 +757,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
// 将链接状态设置为过期
linkTask.setStatus("EXPIRED");
linkTask.setReason("首次选区已过期");
linkTask.setExpireAt(now); // 设置过期时间戳
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);
@@ -1042,6 +1048,7 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
linkTask.setLoginAt(now);
}
linkTask.setStatus("LOGGED_IN");
linkTask.setReason("状态:已登录");
linkTask.setUpdatedAt(now);
linkTaskMapper.updateById(linkTask);