From 545c86098ef8f55ce319ef62904e31342e7b4555 Mon Sep 17 00:00:00 2001 From: cst61 Date: Sat, 30 May 2026 09:13:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BC=B0=E7=94=B3=E8=AF=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/rj/entity/LbAssessmentApply.java | 2 +- .../impl/LbAssessmentApplyServiceImpl.java | 38 +++++++++++-------- ..._assessment_apply_alter_add_sorted_num.sql | 2 +- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/rj/entity/LbAssessmentApply.java b/src/main/java/com/rj/entity/LbAssessmentApply.java index 773813c..0a3b81f 100644 --- a/src/main/java/com/rj/entity/LbAssessmentApply.java +++ b/src/main/java/com/rj/entity/LbAssessmentApply.java @@ -81,7 +81,7 @@ public class LbAssessmentApply implements Serializable { @TableField("sorted_num") @Schema(description = "排序序号") - private Integer sortedNum; + private String sortedNum; @TableField("created_at") @Schema(description = "创建时间") diff --git a/src/main/java/com/rj/service/impl/LbAssessmentApplyServiceImpl.java b/src/main/java/com/rj/service/impl/LbAssessmentApplyServiceImpl.java index 99fffee..ab2efe5 100644 --- a/src/main/java/com/rj/service/impl/LbAssessmentApplyServiceImpl.java +++ b/src/main/java/com/rj/service/impl/LbAssessmentApplyServiceImpl.java @@ -194,7 +194,7 @@ public class LbAssessmentApplyServiceImpl entity.setCreatedAt(now); } entity.setUpdatedAt(now); - if (entity.getSortedNum() == null) { + if (entity.getSortedNum() == null || entity.getSortedNum().trim().isEmpty()) { entity.setSortedNum(resolveNextSortedNum(entity.getTenantId())); } refreshNotificationText(entity); @@ -392,11 +392,7 @@ public class LbAssessmentApplyServiceImpl * 返回可用的通知文案:库中已有则直接返回,否则生成并落库。 */ private String ensureAndSaveNotificationText(LbAssessmentApply record) { - String text = record.getNotificationText(); - if (text != null && !text.trim().isEmpty()) { - return text; - } - text = formatAssessmentNotificationText(record); + String text = formatAssessmentNotificationText(record); LbAssessmentApply update = new LbAssessmentApply(); update.setId(record.getId()); update.setNotificationText(text); @@ -436,6 +432,7 @@ public class LbAssessmentApplyServiceImpl String moderatorDateTimeText = formatModeratorConnectDateTime(record.getApplicationDatetime()); StringBuilder sb = new StringBuilder(); + sb.append(record.getSortedNum()); sb.append(teacherName).append(" ,您好!\n"); if (!assessmentDateTimeText.isEmpty()) { sb.append(assessmentDateTimeText).append("由您主评\n"); @@ -643,20 +640,31 @@ public class LbAssessmentApplyServiceImpl return queryWrapper; } - private Integer resolveNextSortedNum(String tenantId) { + private String resolveNextSortedNum(String tenantId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(LbAssessmentApply::getTenantId, tenantId.trim()) - .orderByDesc(LbAssessmentApply::getSortedNum) - .last("LIMIT 1"); - LbAssessmentApply latest = this.getOne(queryWrapper); - if (latest == null || latest.getSortedNum() == null) { - return 1; + .isNotNull(LbAssessmentApply::getSortedNum) + .ne(LbAssessmentApply::getSortedNum, ""); + List list = this.list(queryWrapper); + int max = 0; + for (LbAssessmentApply item : list) { + String num = item.getSortedNum(); + if (num == null || num.trim().isEmpty()) { + continue; + } + try { + max = Math.max(max, Integer.parseInt(num.trim())); + } catch (NumberFormatException ignored) { + // 非数字序号不参与自增计算 + } } - return latest.getSortedNum() + 1; + return String.valueOf(max + 1); } - private static String formatSortedNum(Integer sortedNum, int fallback) { - return sortedNum != null ? String.valueOf(sortedNum) : String.valueOf(fallback); + private static String formatSortedNum(String sortedNum, int fallback) { + return sortedNum != null && !sortedNum.trim().isEmpty() + ? sortedNum.trim() + : String.valueOf(fallback); } private static String nullToEmpty(String value) { diff --git a/src/main/sql/lb_assessment_apply_alter_add_sorted_num.sql b/src/main/sql/lb_assessment_apply_alter_add_sorted_num.sql index 2d8f867..37ec436 100644 --- a/src/main/sql/lb_assessment_apply_alter_add_sorted_num.sql +++ b/src/main/sql/lb_assessment_apply_alter_add_sorted_num.sql @@ -5,4 +5,4 @@ SET NAMES utf8mb4; ALTER TABLE `lb_assessment_apply` - ADD COLUMN `sorted_num` int NULL DEFAULT NULL COMMENT '排序序号' AFTER `application_datetime`; + ADD COLUMN `sorted_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排序序号' AFTER `application_datetime`;