diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index ab2b492..e34da13 100644 Binary files a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta and b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta index 8a44fce..4b1f247 100644 Binary files a/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta index 916feb7..9b3e58f 100644 Binary files a/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/.usage-cache.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index 7ceca8f..3173db0 100644 Binary files a/minio_data/.minio.sys/buckets/.usage.json/xl.meta and b/minio_data/.minio.sys/buckets/.usage.json/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta index df9d00f..18aaa3f 100644 Binary files a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta index 47a2b17..89fa61a 100644 Binary files a/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/000000-assets/.usage-cache.bin/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta index cd7dc57..be4d75b 100644 Binary files a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta and b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin.bkp/xl.meta differ diff --git a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta index a48b7b1..5969893 100644 Binary files a/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta and b/minio_data/.minio.sys/buckets/assets/.usage-cache.bin/xl.meta differ diff --git a/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java b/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java index 2093ea0..96bee38 100644 --- a/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java +++ b/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java @@ -1,5 +1,6 @@ package org.springblade.modules.martial.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Operation; @@ -78,9 +79,32 @@ public class MartialProjectController extends BladeController { @PostMapping("/submit") @Operation(summary = "新增或修改", description = "传入实体") public R submit(@RequestBody MartialProject project) { + // Auto-generate project code for new projects + if (project.getId() == null && StringUtil.isBlank(project.getProjectCode())) { + String projectCode = generateProjectCode(project.getCompetitionId()); + project.setProjectCode(projectCode); + } return R.status(projectService.saveOrUpdate(project)); } + /** + * Generate project code: competition prefix + sequence number + * Format: C{competitionId}-P{sequence}, e.g., C1-P001 + */ + private String generateProjectCode(Long competitionId) { + if (competitionId == null) { + return "P" + System.currentTimeMillis(); + } + + // Count existing projects for this competition + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MartialProject::getCompetitionId, competitionId); + long count = projectService.count(wrapper); + + // Generate code: C{competitionId}-P{sequence} + return String.format("C%d-P%03d", competitionId, count + 1); + } + /** * 删除 */