From 5c5cddb1c2ee0d19adddebaf3a3a10a6d93fd2ad Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 10:52:18 +0800
Subject: [PATCH] feat:优化微信小程序可以运行
---
ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java | 36 ++++++++++++++++++++++++++++++++++--
1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java
index 6f73f74..22c5c72 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskCodeGenerator.java
@@ -2,8 +2,10 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.mapper.SysTaskMapper;
/**
* 浠诲姟缂栧彿鐢熸垚鍣�
@@ -13,6 +15,9 @@
@Component
public class TaskCodeGenerator {
+ @Autowired
+ private SysTaskMapper sysTaskMapper;
+
/**
* 鐢熸垚浠诲姟缂栧彿
* 鏍煎紡锛歍ASK + YYYYMMDD + 4浣嶅簭鍙�
@@ -21,7 +26,7 @@
*/
public String generateTaskCode() {
String dateStr = DateUtils.dateTimeNow("yyyyMMdd");
- return "TASK" + dateStr + "0001";
+ return generateTaskCode(dateStr);
}
/**
@@ -33,6 +38,33 @@
public String generateTaskCode(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String dateStr = sdf.format(date);
- return "TASK" + dateStr + "0001";
+ return generateTaskCode(dateStr);
+ }
+
+ /**
+ * 鏍规嵁鏃ユ湡瀛楃涓茬敓鎴愪换鍔$紪鍙�
+ *
+ * @param dateStr 鏃ユ湡瀛楃涓诧紙鏍煎紡锛歽yyyMMdd锛�
+ * @return 浠诲姟缂栧彿
+ */
+ private String generateTaskCode(String dateStr) {
+ String datePrefix = "TASK" + dateStr;
+
+ // 鏌ヨ褰撴棩鏈�澶х紪鍙�
+ String maxTaskCode = sysTaskMapper.selectMaxTaskCodeByDatePrefix(datePrefix);
+
+ int sequence = 1;
+ if (maxTaskCode != null && maxTaskCode.startsWith(datePrefix)) {
+ // 鎻愬彇搴忓彿閮ㄥ垎
+ String sequenceStr = maxTaskCode.substring(datePrefix.length());
+ try {
+ sequence = Integer.parseInt(sequenceStr) + 1;
+ } catch (NumberFormatException e) {
+ sequence = 1;
+ }
+ }
+
+ // 鏍煎紡鍖栦负4浣嶅簭鍙�
+ return datePrefix + String.format("%04d", sequence);
}
}
--
Gitblit v1.9.1