From 55ccf08246362d0158db69af3cb5feb2fa168006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Mon, 5 Jan 2026 15:51:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(mini):=20=E6=A0=B9=E6=8D=AE=E5=9C=BA?= =?UTF-8?q?=E5=9C=B0=E8=8E=B7=E5=8F=96=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=90=8C=E4=B8=80=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=9C=A8=E5=A4=9A=E4=B8=AA=E5=9C=BA=E5=9C=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在MartialProject实体添加venueId字段 - 数据库martial_project表添加venue_id列 - 修改MartialMiniController:当裁判未指定项目时,根据venue_id获取该场地的项目 - 新增getProjectsByVenue方法 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 629 -> 633 bytes .../buckets/.usage-cache.bin/xl.meta | Bin 629 -> 633 bytes .../.minio.sys/buckets/.usage.json/xl.meta | Bin 2359 -> 2359 bytes .../.usage-cache.bin.bkp/xl.meta | Bin 636 -> 636 bytes .../000000-assets/.usage-cache.bin/xl.meta | Bin 636 -> 636 bytes .../buckets/assets/.metadata.bin/xl.meta | Bin 1466 -> 1466 bytes .../assets/.usage-cache.bin.bkp/xl.meta | Bin 575 -> 575 bytes .../buckets/assets/.usage-cache.bin/xl.meta | Bin 575 -> 575 bytes .../controller/MartialMiniController.java | 46 +++++++++++++++--- .../martial/pojo/entity/MartialProject.java | 6 +++ 11 files changed, 46 insertions(+), 6 deletions(-) diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index 19d188816385219ade5b3c3375921f43a4c0d8cb..1146bf777adbbc6862c619a4242c5e0e1b04e86e 100644 GIT binary patch delta 446 zcmaFP`kZxwI&b^2(9A>PVn)#u zoS!9Nx>bJ>g6m_tevb=++hMwPnJt2Q#PrC6hj4B-gXt!2glx8r=@CW?glvWB^?L;f z?iSPA8*W3m$v~H8e=z<3y%H{+qhrRLkci-BnAP9WLU5NdwYLf(xDU+4HSWT>xiV%d NiPI6>2(!+O%>YEimtp__ delta 446 zcmaFP`kZxwI&YiPhxWkT^N+9uUyhBMXkxsjFZR~9M{er-T-OH}565Jqq}s7(Cjf#AMT*;4oh&V8++vXjLZ!A()Qsosd-F3{#W zIvK&eqjI_LBZQj_bm!R{UjT0f;pz>c(ZpEbeng~?aAs9%@x+S^$CiLtKzgZfNM>&8WeKPu6aOS7rI;qA87CW=8kkrb8CV!6nho^+bwoW6_4Z^p(Yd8IiyN1pv)S?{9uqeqD6$>D2$o1K;| zFnluW>mPo``JocQH5u85IW)HF|8-#yW!TEfux0WAMkybYx2t>-i%UWaQW8s2kMpoH z06}JSZiMOI1BX@zXJ;08q$cKM=A|E6>YSLIk=ndazhhBy#-wG5#l@*5#cK_~Ko`QB zEXJf{2$G&~i7~F)e^Gw1I1?u;1G_jU!vYQklY$|kj&iF%MwsSCjLoEvNSMDHMK~yv`k4gPfa$luuL>f zHZ?FbGE6cvvam=pTUd53J?S*VIkt-*co`d)+9C@^V-=*E(w7fXX%{aVlyD$D= zd)Yssm^=NgFtc&k&(w3F92#5o|GF@UGE8M<2$_6&hpj4*_j0%sfjt6dFh9iIwvM)q&6>0EG|whDehR5oH1dt8k3UkLVXZ> z(pm#B(7nX)=$^%*{9-{SHdY1}K`w>`9112!FF5uvD5M6 zWRh&0W@=)dm}+EfFgb!z&q`77f-Pg?lDyKKoFmVEu&j4c`_UuB^W^X~zs*j|78pL6 z_4N-w;LGV{_8Ep<*z&PZ)usNb#3-1E} D#`J)9 delta 313 zcmey#@|9(RI&YiPhjy8;<|8aM_qePlnivaoyFL21WRd&JmCpq~Y?@?HKe0Sc{m`m_ z#G(?%;LNJj;)xd-4lMz(fb>$|kj&iF%MwsSCjPNeurx4BHMK~yv`k4gPfa$luuL>f zHZ?FbGE6cvvam=pn;gNYXLaVq9v{ZWC3&SeIY%Dt-*;*EH!Uv?b2APv+wO}$*k1Ne zDCSOoE6i*h_A~WdD2K*Y{l6{@q6|}68A2u>V3e|vG+O18SX>fXkdj!EdYp%q0SGcf z-ZrRgoU?p&aCT;aM`~hDW?uTCrOt`T8L7?75{rvdONu)dC1*^Stj45dyHFp*p0w5g z40JCsJi2GGD8E>ciH((kMUabO0f&Og(F=|}3<@a+Iysg}?BTe%ou}&j97)y-0`&l! CKYVKd diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index 795d7e2fd17c46e02f07853641174feb064abcac..4287c32ada0c3e7074a0996b0b3e2b460cc38b3b 100644 GIT binary patch delta 292 zcmdlkv|VU|I&b^2(9FXcZ;r5>P`7iKXkskz@Qswz8&kjIlMY@NKJ!7zdSZDUJ5wmKgxa;$t%a delta 292 zcmdlkv|VU|I&YiPhxTx``A1ls-&CkgG%*&K`ETj-2@Abd<}FSBW054UKe-4MPkpt&9z=Oic953{A}pEzM00qm*=%@{_VslS_)7^Gowel&lQRb(G3d zi;6Sz^I$@g|1#=u7@Am^Sr{0ZOg3bSL2wwEr6+G-TE=8(J~@Kfgwc3%FLNQI$>jgc avW#Y%Wmzm4nGMZrC%<7d+}y>wmKgvzb7GVL 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 74784f82131541c7b894a36a4c28c6a6dde4046a..da1016b7a3705b9093346e673658372c8f7f9d7b 100644 GIT binary patch delta 236 zcmeyv@`q)DI&b^2(2PlZGDleC{9j~EG%*&Km~Ufvg3)j9j^Z*dKgIx`iRE?dP(>5} zn5r*HElEtjsbFSmmS|>akz|%)X<%ZOWN49Mnw)HEo@!)hVr*<_Vlml}QO$H=*}3$j z(+uaXcVFgWY+RC8nv-+nrMRBk`paxj?%ZQ6+-miBd)jSb#alDj^W$pke!j`L;Ho%z zGozu5$=g*viNz(M1u2OosmFO(8Gs-&Iyb^pT%2hVld2kHT($qA{9^G%WyK7OQ*wbs gaaHkb1_mZhRt9#E;zeZ{)5RxyGwHH4PKw$D08S=V-2eap delta 235 zcmeyv@`q)DI&YiPhjxbUZ%0@RJPmConivZ_5`TTv*ST4plVq zkLlzHMzxqFsU?Z&Hx*Ko%*@jalFf}0O_B|hOpQzp%#xGSlFThEER2j3jm#I8ol8$T z&2Vn9UiCl5#wB^BIXOpOZcC|1IO(IH9$s^BYrt);>x<{d$|~_>sBStX!gtNQc+%v} zjD|9jMyq@hi%UWaQW8s2kMpoH06}KR+Xj{5b0L$MRMi+B-LqJfUo5z&te9bON-mHn ft}33*z`(@D%D@6ryr?W=y5MAQCS8`$DOEuL1?F1t 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 5fc2cfc637f362f0631d3846ec48a4079dc7e9cb..4c1f1e32323a9b840c13aa724f82e6559ec39d8b 100644 GIT binary patch delta 221 zcmeyv@`q)DI&b^2(2Srh_l~dx?@v25(ZpDw>9otif0CZpH~c1V+cBrC> ze{2-YOwAI_EG?4EQY;Nj%#sW(QcRPRP0dq{3{8xUEln&YM=|Sh&^d@%FUa!iu+Mu;<6s*8O~walut_@@7Uu8I!lGd=iUGLJLw7 zOHz;XurdHaW^`_Zskk`PBqmig#<*(#Mft_zi^_@_7N_I_iQ=l_*$fO!oU9D&AjONy RGNy}9_GZ#$X`B?b2>>&tRObKy delta 221 zcmeyv@`q)DI&YiPhqk+WrygN3?koH`(ZpE5XT!G6>A?<}lV@w++g6c#d184TJ500X-Vc578XXviALs=BN+8`1D&F#Gd3>CE6vF{ z@^V{BMZ!rR1@-WngIfb`b6sCNKUP+WCqs49DG|PF=EajHZ)P-rDcL*6#16rT&3#H6am@aUe!qWogPMPgifgn0sx%-R2u*Q diff --git a/minio_data/.minio.sys/buckets/assets/.metadata.bin/xl.meta b/minio_data/.minio.sys/buckets/assets/.metadata.bin/xl.meta index 69ee1f36f1f9ad7ae70322c870e51c6b526cd501..1e68eb780772b832965850efbe563c1bb43cbee5 100644 GIT binary patch delta 156 zcmdnRy^DK-I&b@-yv=O8ZH})PyYx3*$Qxddw=gC!u}8;Dmyz7?XtOlS Gd`1BM?mglF delta 156 zcmdnRy^DK-I&Yg<>Lt0B3rAQUywqDZ(ZpE5DlF>7f#3dByO^K5=l?F!m{?xN4plVq zkBx#+l9_3uWvXS8Nt&6VQBsPjp}C21s-bbBfk|>&YI5r22u3}<=>?N285@`6mFDCe zWl?LN?a{i-G9~H2_7l9a6P@1{SDTg=T8CUw-tzN*tX7`R<}Hi~Oza`s7ik}0GTtoB HGM^CuqO(4) 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 ca74cb4004d31a5aa00b84a17e2515da90bf32df..f9eadf5401964d1d9f609577e65f5ad74b401b28 100644 GIT binary patch delta 179 zcmdnbvY%ywI&b^2&`iFQ`A1l)R&~6cXkskzoPGI;(Bm$jCdT`&^1D2rWny_9J5HmT9R;rWUCwhGvFo$>x@+X~{{($)-j?k>sQ_!_>(UjC#7R>@PYP8<*sj=Hwh% zb0uo|Z}lkF-Z|puR~?aIc1g5yD7yX4ceAm$e)7j3_ZCdv%%~+}@^+O^VsS}mK}upt c>Tw=c1|Z0c&W$i#yYu@CTZqG==`A~qqJ`FMnpj@P4plVq zkBx$nVQPx0g;|=Rv4ydTxq+#LrD9H2?tV(?v=E 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 7050b6fb33b58fa7bdfd592cea9a6f7d8773d7d3..56ca13307a78c08695db0f00d7767f75b35bd909 100644 GIT binary patch delta 193 zcmdnbvY%ywI&b^2(2VC-Qjf5N^lL;+G%*&aQ(XHo|F4U|g2!uCUOn#4FtNOj9ja*J zAJfSZjA}7UQcDukZz`BurllsCTBN2Jni-}gn_H%)B_|mtn;HQ{l9SR5Qx}$5gBHeL@S4)+uwXQ8;k2FfBbQ8!Q{=1 rS~4bYSNS9smxLCiB$lKe=V4_4g3RdL2-CGYpHKeD=)}SisL=}my&_SY delta 194 zcmdnbvY%ywI&YiPhqf|K&m$~?8fPshnivc03%Ye^v#ImMZI{BVwLCT|O)Rfthbo%* z$5eeuYDr@HO$8&v)D%+-vou3v3u6;=15*o2)3oFi19M|z3qw projects; if (Func.isNotEmpty(invite.getProjects())) { projects = parseProjects(invite.getProjects()); } else { - // 未指定项目,获取该比赛的所有项目(裁判负责整个场地) - projects = getAllProjectsByCompetition(competition.getId()); + // 未指定项目,根据场地获取项目;如果没有场地则获取所有项目 + if (invite.getVenueId() != null) { + projects = getProjectsByVenue(invite.getVenueId()); + } else { + // 总裁或未分配场地的裁判,获取所有项目 + projects = getAllProjectsByCompetition(competition.getId()); + } } MiniLoginVO vo = new MiniLoginVO(); @@ -517,13 +522,18 @@ public class MartialMiniController extends BladeController { MartialCompetition competition = competitionService.getById(invite.getCompetitionId()); MartialJudge judge = judgeService.getById(invite.getJudgeId()); MartialVenue martialVenue = invite.getVenueId() != null ? venueService.getById(invite.getVenueId()) : null; - // 获取项目列表:如果邀请记录中有指定项目则使用,否则获取该比赛的所有项目 + // 获取项目列表:如果邀请记录中有指定项目则使用,否则根据场地获取项目 List projects; if (Func.isNotEmpty(invite.getProjects())) { projects = parseProjects(invite.getProjects()); } else { - // 未指定项目,获取该比赛的所有项目(裁判负责整个场地) - projects = getAllProjectsByCompetition(competition.getId()); + // 未指定项目,根据场地获取项目;如果没有场地则获取所有项目 + if (invite.getVenueId() != null) { + projects = getProjectsByVenue(invite.getVenueId()); + } else { + // 总裁或未分配场地的裁判,获取所有项目 + projects = getAllProjectsByCompetition(competition.getId()); + } } MiniLoginVO vo = new MiniLoginVO(); @@ -698,6 +708,30 @@ public class MartialMiniController extends BladeController { return projects; } + /** + * 根据场地获取项目列表 + */ + private List getProjectsByVenue(Long venueId) { + List projects = new ArrayList<>(); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MartialProject::getVenueId, venueId); + wrapper.eq(MartialProject::getIsDeleted, 0); + + List projectList = projectService.list(wrapper); + + if (Func.isNotEmpty(projectList)) { + projects = projectList.stream().map(project -> { + MiniLoginVO.ProjectInfo info = new MiniLoginVO.ProjectInfo(); + info.setProjectId(project.getId()); + info.setProjectName(project.getProjectName()); + return info; + }).collect(Collectors.toList()); + } + + return projects; + } + // ========== 三级裁判评分流程 API ========== diff --git a/src/main/java/org/springblade/modules/martial/pojo/entity/MartialProject.java b/src/main/java/org/springblade/modules/martial/pojo/entity/MartialProject.java index bc5d236..1e3fd3a 100644 --- a/src/main/java/org/springblade/modules/martial/pojo/entity/MartialProject.java +++ b/src/main/java/org/springblade/modules/martial/pojo/entity/MartialProject.java @@ -45,6 +45,12 @@ public class MartialProject extends TenantEntity { @Schema(description = "赛事ID") private Long competitionId; + /** + * 所属场地ID + */ + @Schema(description = "所属场地ID") + private Long venueId; + /** * 项目名称 */