From 8caed3ae8a76ececcfd24b3c7f31684309010682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Sat, 17 Jan 2026 00:43:00 +0800 Subject: [PATCH] refactor: Phase 5 - Clean up Orchestrator, remove deprecated methods - Remove deprecated wrapper methods (generateTimeSlots, autoGroupParticipants, etc.) - Update autoArrange() to call services directly - Final class size: 288 lines (75% reduction from original 1148 lines) - All 438 tests passing Closes #11 - God Class refactoring complete --- .../buckets/.bloomcycle.bin/xl.meta | Bin 743 -> 743 bytes .../buckets/.usage-cache.bin.bkp/xl.meta | Bin 637 -> 630 bytes .../buckets/.usage-cache.bin/xl.meta | Bin 637 -> 630 bytes .../.minio.sys/buckets/.usage.json/xl.meta | Bin 2360 -> 2360 bytes .../.usage-cache.bin.bkp/xl.meta | Bin 627 -> 627 bytes .../000000-assets/.usage-cache.bin/xl.meta | Bin 627 -> 627 bytes .../assets/.usage-cache.bin.bkp/xl.meta | Bin 575 -> 575 bytes .../buckets/assets/.usage-cache.bin/xl.meta | Bin 575 -> 575 bytes .../MartialScheduleArrangeServiceImpl.java | 62 ++---------------- 9 files changed, 4 insertions(+), 58 deletions(-) diff --git a/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/minio_data/.minio.sys/buckets/.bloomcycle.bin/xl.meta index 70509f49de4b523141d91aab87e28c98d56790dc..c4026f8f05874cbba1bdcbc99939db837501358f 100644 GIT binary patch delta 295 zcmaFP`kZxwCilK){X7mwSQK9`3!Z3VEKs%T!Rne-jw!9zR{QYmc>Q2vc>^n0$;3Z4 z3g%{pMk&Tgrltm|29`;NDaJ+yhG}VO29~Kt7Acl#sgolZ_3DGF{x~u=F3Bs+$vMgx zd``?lZK23Hb>#$c|9waQD;qIg?qS%lS?6WqN146(8Sl9A8Ni@rd2(q{QEFZZ!;-wz zijuSWT+53~5{pVwQ;zenf>dN?WwjbHPTH|9xiUE?)j2=6ASV?ldxt>)t{|O>>Fc-2 u0Zh}q;X;{HjkBgML~t(}FF%?F=VtL5XFYm{;CdPt&$@@;wi?%$djSC0SZbsI delta 281 zcmaFP`kZxwCU+&zpMX8YLPVT1<{$)T`%y`fWaAXz)9ib~v*qMD=@Vjiv`}yZt^BKUPWqERGQBi7M3B!`S z)QXa``K-%}OA?DpQd5reu!2-%W@SbiK2*K1F1a!}C)GJWw;(4KD0_!N0IneQs?mvq nwm0DXG(lq_i7yDQud#;oP6W5pIGgz&f_v0h_yy0_ z#4$LtDz$jxMTWymKrA4=)HftEH}$eaw=>v~iGNHdM=+{oElDj&Ouwm+l5Ap>VxE?g zXqcR2YG7<`Xpm%XVUTE?WRhrPmX>0$u9>%(%> z==$h%cbQ2$Zt2Qp+@B}^Sk?3U!KatBvTr=#(AcW~*M&ipVJ<5}3g_g5j8gTSt9%lR zOF|1$5=&B#^RO}iL1tD~tFda%&eg%$nFSuHi8+~h>4%m&Cnjg4HZMyoE>0~e?pTzZ zF=0`06~m(ZVunR!#SDv6a)Cr~Rq-W7BGqa9N50utEQ!ROM~{-tKTP<$ElxM6_8j| z;uxG+m0CRUBEzXAAQq5b>Kl@on|fKI+Zk-g#6PC$OHxY`({C!68JMM}r6naNCz>Q# zCYl+9C?-B%ynZ| z)k?dXqN@R^lZ-!c9e?#shNJVE@Qmquy3MpbI5f8E|8-#yWw^@9z``~8Afr@0%POD5 z;*!vUl*E$M<2U7XZgwjj;d# 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 c8e19a8828384d130e36e802056580b69dc092ce..c660dcfa012d663b995d389514e6d48d1ce58393 100644 GIT binary patch delta 342 zcmey%@{MJJCilK)7N0L3VVUVy#W>N#SfGyg{jsn)zDMTrWy-#Z6cwIW9;beIRX}1< ziDPhPRci6XiwuXCfLK6!sc%STZt7);ZfCF|6aUyKq$HadrI@FsBpN0snHm_I8yX~; zTNor7Cz&J~nWd!|OpajGvp&aFa-6YoNnUAA&XLC%7q~twH;t~3PIs4?wBwepT*m!* z@{d(LzaM;hNh|xt0}hR?`hQ&*L>cC?GNf=$KFBCl&$-GcvA86(ASJOR^*9eJ0}y0p zWwjcs=ImS@oSj+Vk(!v3nU{WOsdHj-Mr!l2#Ny)AlH!g<$r%$C6<0AV$}eVER94Ke zI3*WI6jv3`2AQy^EMq#u!sJ5>^+5_Jtu+7x-AjzEu^vDja!gFz91QGoTnr0jI25>! e{&MVLP)Iq@$+1jg568{zJXPoCNInqPdjbHD1&7)I delta 349 zcmeyy@|R_TCU+&zR{i25ENwiq!Y7&-3ls+N#JRQjv-B@rchfp^$2hy|pV`i5lYre2olb_N?V@sEvynSohqT3S+aa-vC+WumD;ia~0k zsb!LpWtv&4Nm_F9+9C?-B%ynZ|)k?dXqN@R^lZ-!c9e?#s zhNJVE@Qmquy3MpbI5f8E|8-#yWw^@9z``~8Afr@0%POD5;*!vUl*E$M<2U7XX7jg3SN` diff --git a/minio_data/.minio.sys/buckets/.usage.json/xl.meta b/minio_data/.minio.sys/buckets/.usage.json/xl.meta index 5caf38f7a6e79a2cb4cdcae62d1163e955383dec..c574ad4c82c0b86f9b20661e46261afc4b44322a 100644 GIT binary patch delta 172 zcmV;d08{_C61WnODGR>lkd?y31Z%sYg^@Hf5I!)ZI35E+aD#q=a+gX?8EYZgp&I#Rse-tVZ}q?Z(E%`XODfCW4nn2t88+@K!`@zI%~d=Ch-d atN|SkG%`9gH7+j5cAN1JYV%Ix7FvXOUy1$hks zF=dhbH7BHHbYW-NATVJzVKz88IWRC|GBPnRWH@ADIAJk0IWu86He@k5HIp#`9yXzN z&SzrF0M7L0R`&scq;7R=Y{dtx%Aw9#0Hh+j8!7(<^es~wO*?I}7#OuO)GgD^jfZ>v bldJ(94l_48G&L?bH8wFbGBi1}*8yP%LJ&b; 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 e0dadbb12a7318b1fd44981bc221ad87dd7bbcd5..ccf3c65925fe3c3c8e8d42662bc5c5beb4b0282e 100644 GIT binary patch delta 188 zcmV;t07L)t1oH%tDGR>l0uHRi1UCi~t&ub{5VH)7$RR;a=92TXjjlG#&yjb41-|A2 z4y=*hW;il2Gi5SlV`4O6H8Wx~F*Gt|H#RdeWs@-hCN-gU z&SzrF0M2i2x$FUfq;7R=Y{cM;WzgUwDiOSg*$4R{akI+RB0=3tPj^d&Z22F$!_4IN`qtuLZ|ObK_h+rlTUuh^c&z#JGM%Wz$(tFC nq*+$^Bo>#17NjJWq#oyCWdMTAtjtIwF$VTYO!+Kk(cd$~1Y?TM36V525JjthtJ?KUUb_o-;_~am1d(@u1-|9c z-!qZ?HIrBYCS0UtbYW-NATnezGGk>hW;il2Gi5SlV`4O6H8Wx~F*Gt|H#RdeWubP? zXJX3$&UY_-r~!ebZgp&I#Ndl%(BLB~5xj@l2l*j!v&z*XLETGFcT0>T@a#`8@voD! p0Wup2s!U;XbX9O({=OY%x{a*jM;S=jPFbcdPA?e(q2!QRq)r0>sKnYXmW!0}k~=VdxkiIX=o o8cDOP@<}W%2`xxTEJ;1i!^!{znOT{UMq&)?lbG^Z0s}*30bnjm6#xJL 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 21ece1f432c23bbcc70784e2a270c89429170c67..83e765e5bfc557b5f0b9c4ada92a52200e4862a1 100644 GIT binary patch delta 174 zcmV;f08#(H1iu83DGR>kcO%=x1a;ta<&iWq5WJwpkzLhHpP9G2wl97rJdt;R1-|8X zBioVuJRoK^Wim2kWH&HnWHw?qHa0UcH!wD3WnnpCWnwurFlCci0WK|DRRSIXfuwGA zY;44=H6}lq?fM3h`zQ3Iws4dO1$|te7B(xwUu_X04 a4=V!@WM*YX8ZC|9GWjQ?6HEEF`#}J;*GBaK 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 c1a0deec3402965e42ff90578d12a422524ae832..8b5753b56d3df617578418a9368fdafd7c9ca2f5 100644 GIT binary patch delta 174 zcmV;f08#(H1iu83DGR>kMwZyb1TnSd2$3{15UE66X4_FtN2|*9!Be71(vf$71-|7* zme`T}JRoK^Wim2kWH&HnWHw?qHa0UcH!wD3WnnpCWnwurFlCci0WK}<0rSZLfuwGA zY;44=H6}lq?fM3h`zQ3Iws4dO1$|te7B(xwUu_X04 a4=V!@WM*YX8ZC|9GWjQ?6HEEF`#}Jyl}6P7 diff --git a/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java b/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java index debbfa5..b0dfa0e 100644 --- a/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java +++ b/src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java @@ -108,16 +108,16 @@ public class MartialScheduleArrangeServiceImpl implements IMartialScheduleArrang } // 5. 生成时间段网格 - List timeSlots = generateTimeSlots(competition); + List timeSlots = timeSlotGenerator.generate(competition); // 6. 自动分组 - List groups = autoGroupParticipants(athletes); + List groups = participantGroupingService.autoGroup(athletes); // 7. 验证容量是否足够 - validateCapacity(groups, venues, timeSlots); + venueAllocationService.validateCapacity(groups, venues, timeSlots); // 8. 分配场地和时间段(轮询均匀分配) - assignVenueAndTimeSlot(groups, venues, timeSlots); + venueAllocationService.allocate(groups, venues, timeSlots); // 8. 清空旧的编排数据 clearOldScheduleData(competitionId); @@ -202,60 +202,6 @@ public class MartialScheduleArrangeServiceImpl implements IMartialScheduleArrang } - /** - * Generate time slots for competition - * @deprecated Use TimeSlotGenerator.generate() directly - */ - @Deprecated - private List generateTimeSlots(MartialCompetition competition) { - return timeSlotGenerator.generate(competition); - } - - - - /** - * 获取项目的分组类别名称 - * @param project 项目 - * @return 分组类别名称: 男子/女子/混合/团体 - */ - - - /** - * Auto group participants - * @deprecated Use ParticipantGroupingService.autoGroup() directly - */ - @Deprecated - private List autoGroupParticipants(List athletes) { - return participantGroupingService.autoGroup(athletes); - } - - - /** - * 验证时间窗口容量是否足够容纳所有分组 - */ - /** - * Validate capacity - * @deprecated Use VenueAllocationService.validateCapacity() directly - */ - @Deprecated - private void validateCapacity(List groups, - List venues, - List timeSlots) { - venueAllocationService.validateCapacity(groups, venues, timeSlots); - } - - /** - * Assign venue and time slot - * @deprecated Use VenueAllocationService.allocate() directly - */ - @Deprecated - private void assignVenueAndTimeSlot(List groups, - List venues, - List timeSlots) { - venueAllocationService.allocate(groups, venues, timeSlots); - } - - private void clearOldScheduleData(Long competitionId) { // 删除旧的编排数据 LambdaQueryWrapper groupWrapper = new LambdaQueryWrapper<>();