From 67b2440ee9f8ff8be144e38f4d7efead88119bea Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 7 Jan 2026 00:21:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=BB=E5=8A=A1=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=E7=A7=BB=E5=88=B0=E5=8D=A1=E7=89=87=E5=BA=95=E9=83=A8=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E4=BB=BB=E5=8A=A1=E7=BC=96=E5=8F=B7=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=94=AF=E4=B8=80=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/designhub/service/TaskService.java | 21 ++++++- frontend/src/views/TaskHall.vue | 61 ++++++++++++------- 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/backend/src/main/java/com/designhub/service/TaskService.java b/backend/src/main/java/com/designhub/service/TaskService.java index 205c9d8..d55d5d1 100644 --- a/backend/src/main/java/com/designhub/service/TaskService.java +++ b/backend/src/main/java/com/designhub/service/TaskService.java @@ -509,12 +509,27 @@ public class TaskService { /** * 生成任务编号 + * 格式:TASK + yyyyMMddHHmmss + 4位随机数,确保唯一性 */ private String generateTaskNo() { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - String date = LocalDateTime.now().format(formatter); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); + String datetime = LocalDateTime.now().format(formatter); String random = String.format("%04d", new Random().nextInt(10000)); - return "TASK" + date + random; + String taskNo = "TASK" + datetime + random; + + // 检查是否已存在,如果存在则重新生成 + int maxRetry = 10; + while (maxRetry-- > 0) { + if (taskMapper.selectOne(new LambdaQueryWrapper().eq(Task::getTaskNo, taskNo)) == null) { + return taskNo; + } + // 重新生成 + datetime = LocalDateTime.now().format(formatter); + random = String.format("%04d", new Random().nextInt(10000)); + taskNo = "TASK" + datetime + random; + } + // 如果重试10次仍然重复,添加毫秒级时间戳确保唯一 + return taskNo + System.currentTimeMillis() % 1000; } /** diff --git a/frontend/src/views/TaskHall.vue b/frontend/src/views/TaskHall.vue index 96fa125..5355f05 100644 --- a/frontend/src/views/TaskHall.vue +++ b/frontend/src/views/TaskHall.vue @@ -357,6 +357,14 @@ {{ canGrabTask(task).canGrab ? '抢单' : '不可接单' }} + + + @@ -541,11 +549,7 @@
-
-
- 任务编号 - {{ task.isSubTask ? task.itemNo : task.taskNo }} -
+
任务类型 {{ getTaskTypeName(task.taskTypeId, task.taskTypeName, task.taskSubType) }} @@ -861,11 +865,7 @@
-
-
- 任务编号 - {{ task.isSubTask ? task.itemNo : task.taskNo }} -
+
任务类型 {{ getTaskTypeName(task.taskTypeId, task.taskTypeName, task.taskSubType) }} @@ -997,8 +997,12 @@
- +