From 559dea702a37a24519c77a91ba33370cafd427bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Thu, 8 Jan 2026 17:19:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增项目时自动生成编码,格式: C{赛事ID}-P{序号} - 移除手动输入项目编码 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- .../buckets/.bloomcycle.bin/xl.meta | Bin 743 -> 743 bytes .../buckets/.usage-cache.bin.bkp/xl.meta | Bin 637 -> 637 bytes .../buckets/.usage-cache.bin/xl.meta | Bin 637 -> 637 bytes .../.minio.sys/buckets/.usage.json/xl.meta | Bin 2360 -> 2360 bytes .../.usage-cache.bin.bkp/xl.meta | Bin 627 -> 636 bytes .../000000-assets/.usage-cache.bin/xl.meta | Bin 627 -> 636 bytes .../assets/.usage-cache.bin.bkp/xl.meta | Bin 575 -> 575 bytes .../buckets/assets/.usage-cache.bin/xl.meta | Bin 575 -> 575 bytes .../controller/MartialProjectController.java | 24 ++++++++++++++++++ 9 files changed, 24 insertions(+) diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index ab2b492c13c43d604f77e2987378cc3a2fe55f8b..e34da13dc728e303ba09f51103920abff805eb10 100644 GIT binary patch delta 444 zcmaFP`kZxw2G6!kA7NS6d$eYviLroaq>ZlXfA`O8B?6O$0_)l*me;dE)J*(i zD{o?9YHVU;nqp>}Xl!Ycl$>mlY-nO=mX>OmWMN`tJUN0_Q@5{pVwQ;zenf>dP2mrc~m6+gHxxiUE?)j2=6ASV?ldxt>)uArD#zd514 z6~Xt^ubw*x!EM!VEqaRJ9@MY8I03=^t3Ur_1e{x9X?4LS6~Qgl|5sv%;BM4ktZ^B^ zeXD=G^frW>40LI!rvCg$d$@FIs{ZNbCIok({`$j_2<~0|ORTTp+%if1BU2tAxS{$x O*uNpT6ZOx|eh&afy_g;V delta 444 zcmaFP`kZxw2G3@;WN9mhBP^e5pZQEQF&6OhS^C=Hvy;KBx${rYyng=e#PWJJh?ecrq#?&!3F3Bs+$vMgx zT*xi5{X>vHDzO}&Ga&N}QC3&SeIY(Xz z?Aw39vzb%*yY#$*H|vWE+H!xU$h$Vpuq|08+3DcDgF|Dh{$CdcQHHCm3@lue4>C&D zyQ!@5Nh~f2El5c$Nj=WP$^ZnJ@nsYBCsce|9h{w6;E|e`lbM%(XsL5zaz<+NS_3f9 zO)M@>Eh+9;l$zVDh8lF1_n-sO4ADl{F{mxzBKUGF#DD4OG*&);LF&+{P#2f Dmjrjw delta 317 zcmey%@|R_T2G3@;q{p}Fj<9U4j^94f#8@EqNHBZnFZax@!j>a9zVLTXEU#ySsG0c3 zM&8IgH90BG&>}6#z$7KbDAhDICDkl3$e73`L0(mjYDIr{$CdcQHHCm3|}}WA7qrQ zcfGsHC$YFBv>+w1B=tBCD+3T@#;3m3Ik4=(>fr3m0*}L? zpt4Jht$y2pN@Z0TnYcL^*kw5x1kW@G@c(Dj1rXTbLy$B`2CES)?W!B_|qK7#SHFnp-3%CmLBKnM^ihRC8Wfb}l{X zG{d>Y){`GGHZI94&B;0PN?_mq1D?&C%HO5u6}(wrRM3|DGezFDX@+gdGRaN{?;RW( zTlN3CFo-f-Wo2ODntYH^vffQ)l}}=ENoYYzVoB<89##e*$c!(Ws6V0N)9T>t%mR

mRnR-%&<5m7f2LW z70+g1V&djtUcYz3bgoK8eL8p#>?4C8@`GSQ&sIGd}gL&VgkQRtINi7I>s4 z=49rjA6n|1n4FQ?yimVmQF6wlwFY3In^;_&T2j0WLMubcTh=hd_EK0F_;0Z1vj)R4S{&$i&UTz%I+lAb6%hfdAhEh8Nr}GhMd# RDR^=(`+sI8W8S~i005C-iFE(~ diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index 7ceca8f1932948690e49ff46453ab5a0eea51353..3173db0cb2567320254f39199d402b9fedc824ae 100644 GIT binary patch delta 236 zcmdlXv_oiu2G6!Z2jEzK=0 z&5bNAqLg%$@{_VslS_)7^Gowel&p*mCcj~HWHvXpm~6n5$O5EICNnZiPu{?^jL~@V i3N{laBjd@v%rcBdn^!TfWn?xss0C^;+}zE&mKgxQPWm>X{d0J9xTAHD$WlEZXiJ6&+xzXeZMm0Ud_NR%AjZ5-Mb8?Qd zuVI&SSsY-v)}L{e)5XNU{^jjmM(dWvHpo>n-QZYZP^>a}4WqQGg_VJYm7%eoxv7DL zk+Gq%S(K8FQhriaYH~@jbAD-FiISC(<>WVvj?Bhprjrer5?O$>$z(=m>B$?ImN5b4 iR5n+!GrnmdB}|TosU5 zRN@$%S(REm@gl>?B_I}%Ug{f?nVWi9q61>c#6LC)DMrc0Mkz+-76vJnrbZ@aiDro@ zW=00aMixnyrY4EzlOq`QERQFhmSSvNl2@9ObL6GgCDv2%jZYK~o?5lT0R=u%DTJ_9CyGH;2Yn{l6>>cUc)+xF+vsRF!d4S>=;hToPK4l30>@oQIVG2r}c# zChE;Gnlgz=Bx8$yX+chYVoJxN0VTpFEu}B2XU#P!9vcA$Eoa4uOayhNzO79{>7dDH~=e&tYT_ HnZyJDG}mRKiLrp|t;1haMf?i)7s+!thwXbXu{=)wz^Z`6 zq7uj8%&OGli5D3TECI2A^itoD%-qz=5*-jjCjPNeurN2bG&8d_Pclt4FfuSrF*meG zN=r0PNlY_JO*2n1njFEXXE|A=SDLYLNnUAA&XEVto@Mi{U-3sG_8ZgG{U?6elqI{( zl)dtBew61+8=<$cX&f3`_5ZRkOl4(Q!Z~?AqpFPS-Bmt`#U-HyDTyVi$9Y&8fFLtI z^{q~h6vreck@${9$r%&3=$97cvG&M;yUs!f7J?S*VxpE1!a>m9bd8IiyM_y`OVm%e# z_(b90sZ~2%-o);TI^I|pqxSg#`%DU+B)GPdZK7Ubk7rgSVy&X};MxatyPYplnj{9?I9 zWyK7OQ*wbsaaHkb1|}wM4hD9R?nPx8)8#-628M;nhe7%#0`)Nf^)N6TVrOXJ5Qs=( Wh$^Y+@vlFYvSEhu97gt#NlXBPfQ2Fe delta 327 zcmeyv@|k6V2G3@;q`bgKM_BGC%sn>I#8^N^XuGZBf1jSk>U9fWM;jfRSRSW-U{ye3 zQHf)4W>sqO#ET3EmVj75dZ}+nW^U?bi4KS%6aSd1FG(#)OuwmMVQy||W@c%gWSVMV zWMG>Q&}07a8BOOs4C-nca=|K zaY<-FN@7XsaUNC%AjphQeXElr#W9IVB)(%&a>m3h`lSUq`H3luimMnF|qXu1`Y);ja{WJ_6IIJ RGD|NGIeOv-k9gz9c>s|lhN%Dm 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 cd7dc578d014d2d0f1ea50811743bc074b90f908..be4d75b00b4f93c6a47189e746fdb9687e485396 100644 GIT binary patch delta 177 zcmdnbvY%yw2G6!mmm5(*IlMANy;@Zkf}Q|vAmuQqGsYB z8-*kzW5XnKvlR1WQ!@+0#H2K1lT<@f3v)9|V*_)G6tl?@jC#6^C2!Li8<*sj=Hwh% zWA)wQs)O2p-lEudCI`4A4isO0nrU*CpS^mYVtZ@6!pF&*8MS2GR95*U7MFw;q$HN4 c9_L|Y0D{c;vWfb>EUA-!GCHxiv1{!F0OY4cJOBUy delta 177 zcmdnbvY%yw2G3@;B)M0skFZ?#o)81;0m|H)M`HZI94&B-~k z=EwK;lkyYx$e&oZx+Q*P$NULBm3o)uHXoe(VcDuOUi+hyH#2IrDc<5S;iKR>`W`6r_j%h@=?Lja%^N?HH_ 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 a48b7b105956d63c7b778ac2cb47063f7e3f2c02..5969893f23c70f0a8532ea6be523c8b8e41b1c2a 100644 GIT binary patch delta 180 zcmdnbvY%yw2G6!2H*{k;{wztMBe4MSY delta 180 zcmdnbvY%yw2G3@;#8(G&j<9rVRys~JF%~!;-N0kS;UKkHI9JPU)=|NU<@Ib3H530N zg{CAM8KoH{nJmEG`Kx gNJ%V7JZfVE_OC 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); + } + /** * 删除 */