From 3af34506baacc7d18059092dad70fb6c58e184de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Mon, 5 Jan 2026 16:38:30 +0800 Subject: [PATCH] fix(mini): ensure general judge sees all projects regardless of venue - Add check for refereeType == 3 or role == general_judge before filtering by venue - General judges now always get all projects for the competition - Prevents issue where general judge assigned to a venue would see no projects 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 633 -> 629 bytes .../buckets/.usage-cache.bin/xl.meta | Bin 633 -> 629 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 | 26 ++++++++++++++---- 10 files changed, 20 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 1146bf777adbbc6862c619a4242c5e0e1b04e86e..1b6dce6cbf556279f46ecdafe3a5520dbe9ebf63 100644 GIT binary patch delta 460 zcmaFP`kZxw2G5B{S+{TK9$_iV+ov_r#8{wxg4X=-6;W?+$Kl4NX}VrF8QYG{~fXtc2GTzb-J zhI6OhMz%0EF3Bs+$vMgx?0O-4t>^vi^OuQFKdtZ9b5rrjO;6o<-xq!QuitMb|HD+q zlmQG{mM51M6{Y5tFf7SSttdHbDzm(}B(bO@HKqPI4=YGXW^{$Gyejj;b;*^J-nBS;)kKoo=Bya~IxI4_Zo?VIHelb7)%N))vH!y#<_alOv fW5MO4jo_{@f6TT4!F?*sDk6%oxWZRq&eVDU1dyRT delta 460 zcmaFP`kZxw2G6n3%tPX0M_9zxX8xOKVk{u6zTtYoJIA8Eb+tDZ$$WY}vAmuQqGsYB zQ}rdOC5h=b6_PB|j1AJv(hL(#%*>3E%#+Ow4U;S^%q&enWNO-ELq@gwg=Oc`lTI_7 zGY{~JVQgHISDKS^lrebz?!#4g{PrCCFUsovqPeQW@L{6JGL@~rTEA*5`(Md9_|Aj@ z3|f{amlhSJ=9Mrk$xE#$IcxH6d2vZ%QAujbaUNEXip=QT2$OYb|JEf}Cg-F&=jRsW zqylB{FbF^t)B{yyUNK#7oebBIC1AQ$e-VP~W4eBi3xeBWx^|f@f_udD$b*M)ZZ?DI zCT@gmwvFi#Mhk>&h3WNs1qkjI)7#k_ZX@^~O#gqcgmZIr%$O4r5!?*3`a4<(?oy`q cRv`rUftk3*T{t&a#!Mw~I)WQv*154605=Vt#Q*>R 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 0fd6f341d340b2ad5e324b680cfa8d85f05a6afd..40c0aa0c07555355938b6097eedb3d8793c626ab 100644 GIT binary patch delta 327 zcmey#@|9(R2G5B{S=;W&9AWwKM(@Hz6Jr7Og$?#=`~8D6x+!PbaFW2^pO7Y0#=sjLhklMgUT*_cYN@<}W% z2`xxTEJ;1i!^!{znb8%#3U2QsRtINi7I>s4=49rjA6n|1n4FQ?yezS}IJKm>V^MO( zgvn}5O12C2LF`Fu4ZuM65@TGo|Dyb2aVAby26k~Sh6Nl7CPyzg_An@<9O&d&Cb5U( Q=60T{^K&E}8p8Jh0579{nE(I) delta 330 zcmey$@{?tP2G6n3%vp=S9ARkV?wfA}Dq(5VySRSW-Y*j#F zQHf)4W>sqO#ET5amVj75dZ}+nW^U?biFSw~6aSb_j$l;FT#{Onn0`|s#WX3+IN8Y5 zz{JwXz`{7$G&#k{B-uF4)Wke7)yUXjVcEI#q|*%N^j$oDGd3>CE6vF{^6Ur8dKa}H zJwiNB4qx-z?6how;geZk|L`-;50wb6$;dv;p|Mr}uM2}H!&X*?Et3y0O8J<)UFDNl zToPK4l30>@oQIVG2r{E{BTWAuIJ7!AJF~zeH8CeMFa6L`=fvcU)aHfy9gC7PCM`=W zE>0~eUTXjbx)9!EF(xHLko1I0jB(Zei}H)bnK)S)*u^;+7H}w-9K0avct9?t;rfdH R37)4H{6903QP02dJ^&p!hwlIY 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 d0ef0c330f54c3dd909bfd4f34fd41b906617aa1..2df44b92d43285b80980e3f9c3174594ed978c3e 100644 GIT binary patch delta 312 zcmey#@|9(R2G5B{S>1~*kFacgS8qGf#8}|trHicHPu$)1={C*n{qxpvVtJhUp;ZBi zMJ0~GnN_L96E89xS^{DL>7~9QnYpQ#CE6i|O#EY`U~Fb!WRhrLW?-6TZkb|WU~HIT zZfao;6gD(9GB-?|9Kon(S@< z;1@niBfrVuf~^sU##a5mE)1d!Q&|~8CLdswvN4rj<&#)k5?YXwSdx02hm`>cGNUVe z72MuOtPal3EbvH8%*o74KeW_2F*zf(d0Ap{acW6%$D-tn36s^Blx!F3gV>YS8i0ZB zCC0dF|3&%5;!K>Z4D8}u3=23EOpab~>|szyInc?mOkxkm&Fwr@=jTW|G=%R10E1$7 Au>b%7 delta 316 zcmey$@{?tP2G6n3OpBb@BP@%~JexGp#8@D;c2!5hKhKpD3dKIp5ni`#VtJhUu~h+y zMJ0~GnN_L96E89xTLNMM>7~9QnYpQ#CE6i|O#EY`kYbvYW}IwfYG7h%WME;OY?_>6 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} DAi#g{ diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index 4287c32ada0c3e7074a0996b0b3e2b460cc38b3b..0cfff96fd98a8ec64da86401762e37fda0395fdc 100644 GIT binary patch delta 177 zcmV;i08an661NhNC=AHrYT>qW!~`8MKOK=YGZ0&@j%8Q4OhdXw`hyihn+TD2e+J0n zYT>qWk^D82SOFegq-AtrXW1Y&HZ(FeWic`~V>mQ5W@9rkW-w(kGch(}GG#eoIW}XV zcFt#F%K*-6@?@|9fuwGAY;45`tLFf-_D?_EG|jp4d3~t4OC(?{Q#Loo((Iz=_LkGw f=##7g8xc41GBYzbH8nS6Ibk$qG&5s0GB-72HDqOzF##Sn zp?1z^V#@%|4*^&e0fD4$b!=?K2df0ayLF)?(BLIMRkpgCURsYt%VG6w7ep-o(*O+M gWet<80UHrFIyEplG&n9fFf}+bGBhwUv)BP&2RoTWSO5S3 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 da1016b7a3705b9093346e673658372c8f7f9d7b..d271beccd169b948d63940489438c915c4a5c63c 100644 GIT binary patch delta 176 zcmeyv@`q)D2G5B{Sy40g9bx&(G^J~ziLpRy#ha719Zmte&O4fwFbb7SEU#ySsG0c3 zM!_=C%+S=_!Z^{)JT1k-#566-mC(GaM=UvJvPg_pViX*2C&-5l~zjCJ~nxjz!5#4b(V%xEZMD!s}lvA86(ASJOR b^*9eJ0}y0JSNO_5zPM%*Qw7WMl9eX`_u@v@ delta 176 zcmeyv@`q)D2G6n3j7fYlM_ATw=c1|Z0cuJDzAd~wYrrV5thB`Z$?0K5-IMgRZ+ delta 176 zcmeyv@`q)D2G6n3jG!&|j<5vpPdhcy#8{x|w9CPNlAhN${616CJ}>0{#PWJJh?=dak7cAd9rzOs<}b3g{g6JnuUR}fsuugQHrT)qUGcWMm@dje*M=N8<*sj=Hwh@ zQR|ozxuT1K{dCU{9{ZaIPkaw34tslAVUxxsrKe|Rrb?u4-olv3#8x4#lll1UW@(oB Fi~#PdKJWkl delta 153 zcmdnRy^DK-2G60q&1}1Ejn+a 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 f9eadf5401964d1d9f609577e65f5ad74b401b28..9d9cd3cd4d98ea6c2112bcb8151074ca1acfff9c 100644 GIT binary patch delta 177 zcmdnbvY%yw2G5B{nHM~>j<7tF@syZoVl42(xldO7itCJ~m!^SdF1Ws)SYFQtQ8V$6 zjY5*8Sz3~*p{1drv5}dHiG_h_T5@Wdk)erMN~(c{h56(NMm=5GEy)6mjZ5-Mb8?QX zsS`d>bM$mxa_`yAiWf4{!<5-9XNi5dFJ{_duwtXn6t2me8MS0grC0eR7MFw;q$HN4 c9_L|Y0D{cu3Saq%!n2cqGCHw1yvUmY0FmuPuK)l5 delta 177 zcmdnbvY%yw2G6n3Oum!(M_8&>b-bNuVl42Seff#d<1U{j#`~`FyF8y|VtG9qM9suM zHVWpJX{kx37O5$QW`=3W=9Z~x$w|h^rba-K}v$42-^2Z5{XlZC@Y-DC)VqsvKmYkYqWN2cRl4@XKVLsWAQO$H=*}3$j z(+uY>3p7PCHZI94&B-~krcU@k&C%0&$-QScD_+P*4^w8doF(?*zL;r;!HSJOQ@AE? sX4H}~m0snOSX>fXkdj!EdYp%q0SGdqD}3c63eQgd$>_x5@FH&p02}sAB>(^b delta 191 zcmdnbvY%yw2G6n3jOSNUkFbRFYeY;mF&3y(T>CNquZzKg$7@zzJ?_phvAmuQqGsYB z)5#HxYB5VvOA^y>DwtcQr6!qLq^1~}8KxzhTc)NZCmAQ38UaO;lhO=R7nYq%Pdd$T zt~b9Zn6Yt5UTIFwku_JMmj70dV(pzHety*v8D^J6D~F=n-+VV4i|Z$U{Bdu= projects; - if (Func.isNotEmpty(invite.getProjects())) { + Integer refereeTypeVal = invite.getRefereeType(); + String roleVal = invite.getRole(); + boolean isGeneralJudge = (refereeTypeVal != null && refereeTypeVal == 3) + || "general_judge".equals(roleVal) || "general".equals(roleVal); + + if (isGeneralJudge) { + // 总裁判看所有项目 + projects = getAllProjectsByCompetition(competition.getId()); + } else if (Func.isNotEmpty(invite.getProjects())) { projects = parseProjects(invite.getProjects()); } else { // 未指定项目,根据场地获取项目;如果没有场地则获取所有项目 if (invite.getVenueId() != null) { projects = getProjectsByVenue(invite.getVenueId()); } else { - // 总裁或未分配场地的裁判,获取所有项目 projects = getAllProjectsByCompetition(competition.getId()); } } @@ -522,16 +529,23 @@ 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())) { + Integer refereeTypeVal = invite.getRefereeType(); + String roleVal = invite.getRole(); + boolean isGeneralJudge = (refereeTypeVal != null && refereeTypeVal == 3) + || "general_judge".equals(roleVal) || "general".equals(roleVal); + + if (isGeneralJudge) { + // 总裁判看所有项目 + projects = getAllProjectsByCompetition(competition.getId()); + } else if (Func.isNotEmpty(invite.getProjects())) { projects = parseProjects(invite.getProjects()); } else { // 未指定项目,根据场地获取项目;如果没有场地则获取所有项目 if (invite.getVenueId() != null) { projects = getProjectsByVenue(invite.getVenueId()); } else { - // 总裁或未分配场地的裁判,获取所有项目 projects = getAllProjectsByCompetition(competition.getId()); } }