From 71916cc80c581f9081a5ef5f86fa26bd2215a929 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Thu, 12 Mar 2026 13:39:34 +0900 Subject: [PATCH] =?UTF-8?q?status-update=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executionHistory/executionHistory.bin | Bin 2316388 -> 2316388 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.14/fileHashes/fileHashes.bin | Bin 196101 -> 196201 bytes .../.gradle/8.14/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.14/fileHashes/resourceHashesCache.bin | Bin 23631 -> 23767 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../status-update/.gradle/file-system.probe | Bin 8 -> 8 bytes .../GukYuinPnuCntUpdateJobCoreService.class | Bin 1277 -> 2225 bytes ...kYuinPnuCntUpdateJobRepositoryCustom.class | Bin 384 -> 539 bytes ...GukYuinPnuCntUpdateJobRepositoryImpl.class | Bin 3327 -> 6697 bytes .../service/GukYuinApiStatusJobService.class | Bin 6937 -> 7637 bytes .../build/libs/status-update.jar | Bin 99466725 -> 99469087 bytes .../reports/problems/problems-report.html | 2 +- .../compileJava/previous-compilation-data.bin | Bin 189708 -> 189717 bytes .../GukYuinPnuCntUpdateJobCoreService.java | 12 ++++ ...ukYuinPnuCntUpdateJobRepositoryCustom.java | 4 ++ .../GukYuinPnuCntUpdateJobRepositoryImpl.java | 57 ++++++++++++++++++ .../service/GukYuinApiStatusJobService.java | 41 ++++++++++++- 18 files changed, 112 insertions(+), 4 deletions(-) diff --git a/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.bin b/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.bin index e19103ab8d0ae113564ae7f54cfb880dd89821d0..25259f023d990e8a59b1814b43ea5a791bea6901 100644 GIT binary patch delta 5333 zcmchbX;c)~)`q+2K1Ewh)eQ(XV}nYf$Y6t_AcApyLIr^ z+`WVTp@_<sO&;A8Id>jy>Ub`eo%ZvouD6+4Hc4;K`d7v-e7U;4 zbEMk&EKM0ZeiE0ba{Wji;DNN7v3$MHwstp^W zy|9^yB+_%2glbe@-PC2K5b*|MsoFDQ z+DMUT%E(VO_IllzVsGEk+N$5DE~v=s4A`d2e=KROymXp<`q z^Ud6Qo7}q&wdW}I6)%cqTK>vXsb@A28nRw2q27zw&DtSJI{jFAN*7z~H`y^OZB_G< z;d7UL&RnFf*O=bwnocRTb+@z7mZ^0vFnp;)%i5_WA-nb7x|$kz%m|~|X*$_7DVODR zH_QnRoyQbV%>bM3v~7(JKU~Cr+@0I`RWLdYoLIys^sIQ-N9M0g4s1%y7&E0@lo&cM zBzXCvu;9>0QT&4NC6VEaf|z|mIorQmJW<4d+_5{mgpy~ipk$UJTW9o|$-^QV*3CX> z{lylLUS;2 zYiMZ}g#>`MAlPyDTI+)`N7HeNKd#cdCC$8IY+DLaVf~EUoW)T? zGJPZR%D?dO5|+@kiIgcb{A^>ub{z<@HekDCSfuwS7ShmNWl^b4|Jqs}cW4Q-e9y2< z2mWJ;2Bvl!v9V!mH*LdK&eK5~Fo@;t`Rix;`djP&a`D$Ck*js5`sh&250(l#>o?Aj z*4WzUYICNswtBqC`Dan8^oqPDd+;AqzOTwIxU_&}%Py+h4vI>qn`Y7`UmFDt_{vnSHtggnOv$yhI*8rGM_qUD zvDI^$nR?l->&XSbmvn4B_Zi(1%w}`<%Y_Z0#DdwOZXeTw286J3t`)VNHp~ySJ<802 zmc)tWq(cyCYy;Py>qNhUWwL4Q8(k|}*TBh13;OL1oQnGs{Vn?7$G!u9Y$Nzj(J$I4 z?nAl|w>EOK$ZN!|M$Un}L0lFub|CK%$2W0yB&|ZYZFm#ci%`UzCaw?3L9A}#`jNc? zrr+iK$N>}s?{X?~7;)2GZUoUFwk>D-k|T(=VXOx^gE&2m4IGF0DoJKsV}pk29y!!&#ox;U%HrtT(xXSRBp_YMl5OXOzT8>Cx{_qXz(nytl7i?T0S!z?jE-Ra$X&#m2(}OT9r1kx+mmY+P?buU zbjp;-O=-+#7@0@tPhQE|kuJoTm25xh8%*70LC9)?E-%J-ZUlunWc!gq;b9yoxu*v98;_#AA8K$f(f^+ zm|R+vWobh#SHV?k6o2i;3r9Pbu21ybO8nTM@BFTtFtJoo2DyAnGGrK6W z$E+u{Tn#l+P&{tR8N_hvnX^ zVMlVi(T~?>@@e2Y7YW6GX1NDz;p_|6DMM{~?fN%sq40g5*{5TS;WJ^+#I z6-4?ziXB7>5r;&xLr4)~bTsS49mT6|88SO);3atvS`!VWj-z%ekwOu0%xTUUvu<>$;G9FJgok^A(~}+$#Gg@&H)b+v?pdXR-UX4A3nG0P z%Q{HUqhG<&wr1Eos?hlAdv-BbgGPrXRMW@}d(y|>!y=BagbP(WO{nZXXGsGTQfSmV zD3~DV)bKv%O)?P!?{n_lM$E2}F}vw(Yu<#WB#Vt{>pGT~{(w##M}3mTrnDwmY(TfX zknkiGFZN!~4kT*C#ut*oWE*1a18xvWMEvOiH-OtLplYWPoZhZ$^ggGvHb6s?&>#Ac zb0cYphc~caknM=24>=E#g823!=T5Q^gX3T|(GR(CF!Je$PvTe=+42D&an2+gvGldX zi~NEA5%WgkOP(V(ZDdE24n(JTz^5P7Hj1TpYW zZZK&z7DMfVbfaC5g;*1WMC+83^rNH_w6Hs+o3@3I< z7o6CSI^ez)=rf(1BRP*)Lr5RGZ7b_U_Tj%)v6byj4kA9?%FZK)5vQfXGCm`q>XHGo z=kEtrec^?wpXeWNT|Z-Lkqn-=TAo$Twg0+g-Nf7W^}9lJvuSB3JT6pV!bOhBp-OjC zYpUpi#$CXBxpr}GTow8cIEJbcvG&cxpy-y0{+n zo|@&k29(r&V1?Fl=Dn!>HW;)f6yrTa7xlG0$dXCb=0fW4thK-H!mkSd!7sn+SRdT*ki z^@8iiT}3|uCK){|B?=nSSD{Z+AxZiMo%cQIPg3GdcH9BHNV?+8;z?ff!dv1Nn zxsn7-&`{Qa96-EC*?HVKY-x*xIr!nx|I!_OIGsO!!!5(CObN69uNMRkvOa#*-Hr{~ z>jquXSlO9DhQ|5%jyCD8MW<&ORYYGrR(lNV6iVPp&ezn+iYhXovs!GfYX;ljw;C&4 zSO#O?ziLuz;X%vgzNI5wO7Fio4w7e#p|jqaDSD?XN^7TSr)>hM;F)5fLH>(Fe>R@# zEuP>OLi01=LEt9dX1@^}PwfL0J*Z>{8~~S5+-(MPx^}p!1@#of>nL8ZVYE~^pC3Sz z1n~-r845UAisr*XRtX}xCWy3Y2aMh=M9WOpjk|%V8%*J`#mCyphDK&WY90D1nQ)Tb zM*Jz0jUZQX&5V1^jU?9)WjW%nNgd*MIpPW2O#xM#4d6LK7Rs#0`enVXL7WVPmh#A@JbaD?z_;ohxp!oQkLmU3bS3Q{w8su+dPQS`w z<I5tHK?Hk<)E+hl-MjmWs z@d9eaJJ}4zc1M(B+q|-%%3kp|FD!Po|M`8jaR0PQJ$MUb)G9aX`bs=(WA12~Hg~i< zEO29Jmo9`9q8kJUp$DN4VE|zWVFbZL$ROkp#t3EFdhkpQ_y-LCu_f^&X? delta 5212 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 diff --git a/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.lock b/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.lock index 223629d9daf07bc829ce48f4f410a27d7adfb335..ec42d571c620a10321e9e1e0f5a1502d846b2f09 100644 GIT binary patch literal 17 VcmZSHXuE%AO<_$L0~jz)001>v1iAnK literal 17 VcmZSHXuE%AO<_$L0~j#Y0RS~e1gHQ2 diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.bin b/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.bin index 680ac1d3ed6bab93503816b16dede59e3e28401b..1b5b6ba7d5830972b074b80612fcfd14d548a41d 100644 GIT binary patch delta 2784 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 Qo^1!w_#U$$c8v}C2LrF-aR2}S diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.lock b/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.lock index 6756bd9d9e3caf2dd307f20ee94120e831c3308e..573640e945fd28ab42cb89bc82395fea67b9157c 100644 GIT binary patch literal 17 UcmZQB4$SvSV9iZt00XHt03&q+egFUf literal 17 UcmZQB4$SvSV9iZt00YSb03(M3kpKVy diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/resourceHashesCache.bin b/gukyuin/status-update/.gradle/8.14/fileHashes/resourceHashesCache.bin index 9cf4d770138edc8330ba51d61b22d2996d5ef7fc..7893927c10fab05f20b39a4513d1e444f64ef8c1 100644 GIT binary patch delta 257 zcmX@VgYo)K#tkMCjI%eJN^md=%GV8I t6(&Rdt1bS`F+49dhY(Sa~(M5$O-9vV1eD|S;&W6Dg; z&*V7|xmGk)$p_@4Qdy_F3z*TAd6@?}XCL-nd+)U``1e15`~_eMl_VmFYKZ9=KwMzt zz&tjMrfD~f_3DAFc>?hT%eK6{Ks1xBBru4ChNO-Zbb*zcb7UNvM>WT&)q_jbtQ{IH zr|mUd**0p9D~;98;ZDc0H|)-`?QOT}rYDO|b(vq4rF(4Eq`=L_d7Vv37|V0q6M^m0 zWuDxwwn3~D`uh*RJ=k0dLm1XDqGJ?kf$|&hAu!$XGY&~uc5JU?wLOv%FhNRuY6~iu zw{?tRT;SR(HcPEm^Q7#VUZ*YaAXDnqsO-6x-N>DP$yOBHH67P+LtuE%vg@nT*|zGN zEG_vSzW^n>TU18x=(venY=s~O-{7g~)%Mv6nPRb!EvP1#(lL$OjJ)YI1kxqPZ5Zw5 z-u!`4avBZk<_2+BU~Xe=d#b98r<#t_T728+jiI-mSeL$(xs+zRCNxGRcT9? zlU8Q{UuWLP_+%@jX4$E;pN318E!R3nRq1Y-jLC0_n%S(FuBGJgG3M=C4D#8f;rze7 z!PG{cOK;z)ZMF5bQ-$-#$!Le;si_g+j0gnT|A}ys&%Y;7(W$QcABd8HmGr^_~M?he3 zq1FtSZL;ii+?rgm6qole-JlOuOzhAL(`%C#>3AnCX@m7-Ji1Kq7F^nL=b-F}pJkZ8dEK{PL zk1Fsv?*oDY=#HD0Y6^ayl2B?hzd}31TLM2&3gA^>;BHi~dY~1;e!&;@?Fvt!wkHEo zXlp!GNV-Csojb#oD0<3@D}ldPDJ<&J^-(}<(3VT zc*0Xbr+l|(xEjHa6#KKd)kjXM>oFC249QV`__K&&i2FS>Rt(51+{x*&fiq0R@ksj_ zlj%F!pNQ;4$Kt2BSKf(Do?^DVGcfHR@i9%kp5eVH#UFV9Pq13UV?@l~t+GI*hm^v>pQx!a25o99+ P{^J8DassCt_Y8gkk2x5_ diff --git a/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.class b/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.class index e5a6f5f9ef57f5de7ebd46dad80281b4048b456c..1275735d374349519f6daeaa6b0b76efa3d393fc 100644 GIT binary patch delta 194 zcmZo*p3TB_>ff$?3=9m845AykI2g0}(=zi?+*9*IGgE>R^U_lp8N@VvvJ%S@^>ct+ z{osGBR*6FaU-482F(=yvz&&Kp8ff$?3=9m841628I2b3_GrDLou`n{QGO#f)0BLpx4hBXBPM``-CI&7b P#SO%a3_L)RiGddYlE4RT diff --git a/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.class b/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.class index 5715eb0f3589b2b5e795e37787bab27ac0f60808..a7061c7ead348a5d4d2f804db8bdee17a7564a23 100644 GIT binary patch literal 6697 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 I#J{oh|FX{0EC2ui delta 507 zcmYk2%Su~O6o$WZ!Dz5en&R;S4MtF7tj0tK7ScjH5lcluNR77Dcu$P+7BAI;@6a>s z$bo|nMMQDn1N1q30G~kpcL>_SS?k~bVtxNU`|r?0Yw+Lw^$qZmUuVJ5KqkmnrUK*| znP$c!T+Hv~lcjulB{@D{Tw17D)MX0gLgj;n6Yt3e`Oc33vyIG=_y2?@+y#rApRy*; zKZS2CCma9bXWUNzE|T(3UvEZ<;VQvmUcHR~_0o&VuTx+8?KQnwW<_$fW);+3or|og zmi)Are!ng+A{PN1x_Ci1EyO9y@vv26Y_O^B5M_&PZCdP5(X8a3c%P3AA*yibQ|;#! zNwEfWN-;#5VFs(Tb`juRjb_wHm1fkgl+B*z4Yq7#pqOd)wN#QG)7Y$s5|?BXy%)46 z-d^CHnP?kx1@q4k{x2$IqWr$r=Ghv!L*o{GPfw(UdJdS;stJiz5xPUfz2e(Bj_|Uc Q=`WS_Q=ZM?)1w~2BMO>D(f|Me diff --git a/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.class b/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.class index 166f06f259179c453bb8cc080c6cbda732e49bfb..6f481019e339ebe0c20edbfa2d9dc2c71d17f6fc 100644 GIT binary patch delta 2068 zcmaJ>c~n$Y82^2D-prdBW^BC&ArRE_B5>0y4u<`POCfB zsP(Md+`F=@@tEM6XriogR{VyT#8C8QSqII#oR9zzjUEw>k5YcD#s}RJ`oKD|nUQ`nSOI zqlrp_i5(EkV@pcLl~}QzkXc$=T^6gW*xwqhs2JD8@kQsXwq>ndaAR=lHEI;LswIq*JCCOBE=s&g(lzjXSP zi>90_y?^MyNBCHO*D;Mg)q~E7^tpbavyi^j?{Kd=-s9rukryX7BR?*`?FAnG>?lBoZA(xSJ zgM}pT3xmf!4A^6X`K2&wqN71I=)l)zr2cwQ8t?Th?I`h^8umJ}|6TZSh%9N18B4yBu95>CuW%?h%70Hc=QZugMsO8j#7cU zxPsx;xJOi=QOw7EqK5H$EEWr~R4l^%q7iyhEXH!N91n{13{zOoDXtLBcvw7*)gp~Y zLNySowK1g#{O$CthKuhdZ&I?2LK2A1_e`V?ORmCpp+SfKTZ? za*_)UnoM)ZO&&NYPG{0E^1{W5kD%e?;|H`s97le(wQ~s(3Q!O>`D~6oDMkE5nJlI0 zm@HZ-L|HIlrdUs54x(U@SV-B7nQ^nIrxA=&H|$|Hlf@ty$SK zzdDMXK4XdW(r8XuE|trfW^eFC+VEp!{5C`)`P)z%Ibj=`wlM#{>&0V?C^Dcgd!g57 zjZBVVEvE_j@F2mbna|K#W094P8{9t_X>2CI=H)l=Q!D&30{v%!xwsw2%cztGxea-( d(O6a)$GB{A8AT|cXVJj$1cpl}qR@%3{R8lc4Br3% delta 1323 zcmYjQYitx%6#mZL>CQf8ANH}`?Y4D`B&|gR0#*Sf)}~adR-W;J2G{PU*}874-Bu!E zQHw}Gqud{+2}Vh4nixa+a@iI|P(;B;1;p}DQ7l&5Qi^X7i)W@4o#f^_-}%m&nS0N7 zkIZi_vK<)j-36eS(mHHjyQiQs7QcF^eapxz-GSjvt;4S;14Et9$Q$gNl`_IY`G|et zy@b5_+E6eaE~|g&p880vq$U=>JyI869IIbp)c(GWu4d!@0LJ|2h>`UDusJv@cnwu0t zPXUWJ%7JvR+^S|V9#&k0IdYaMlRI+c*^KN<)az8Pw1?Y6YQASP&QKj6O8-+Z#kK zR*O75E(-93n1;2Yh~xQKCl=soQHmx}j`iYBJS&!CgSZRNHHuX%gs{<=)C+LZHY~zf zjKPI|x&`O(Gc+p3QT&2m;h+fG@f&`JlRuP$Kkz3{x0PPTd0gOGzDis17cRo8&vbI$ ziU{IwRtd#oD#me%k7kKTXG@H+bFN=QLqr^=;7J-J!I2qH(Eyn^Qc0P#kI_mgFp-%v zA-Lr1?71Zuv0lY(X_wfjHWiAZVlMHcVx@{o1sv=@kK7AvPr`9#Cf#(nkGcNd^uitZ zQc_Na|3AaJjbkXB(De<-Svh%)7Or-fa1DDk&g)HHm#+j%7P9{9Xyoyy^v9a2B=J=j xGCG)$K5^p)0Z!h7jhP@j^qa)@iZm{9aGb?|SV>ND^8q$7UcvYxITcEU^&dhRN)Z46 diff --git a/gukyuin/status-update/build/libs/status-update.jar b/gukyuin/status-update/build/libs/status-update.jar index e627ccbe35a72bb31219eb4d637364942f825921..d5ecf88bca386f7813ae7b39813b2253c492e6e9 100644 GIT binary patch delta 27420 zcmaIf30w``|2XivTl>E6+BZ>2+GJ^y_Jp*N7TQaTw7Ahu+Ur`F0TV!6zP{LXe{iYOZ= zCnsB?N~jmZC8b{q%Rk{pqG0@Ves)O;lwuVw-DH(rA?YFP=R-(l{bW?gIMGis#FJP3 zBy(~CDp46At;Ca{0n#cwIX6JE6GBy9Y=8Zy!5CH`Ycos-NwRn&k3o_Lo^WlU8Z#ya zNvilOGcwr}YY=2n#j3ZyAW@-=8Si2;Dt<77)?|^k0BF_ zh%o<9$Q(S-50g`nEKW2;b2#*33F_ JWyxFc^%ulYh|c(! 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 MNznO^!+hub3*%A&0{{R3 delta 25078 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 diff --git a/gukyuin/status-update/build/reports/problems/problems-report.html b/gukyuin/status-update/build/reports/problems/problems-report.html index 3505134..5995716 100644 --- a/gukyuin/status-update/build/reports/problems/problems-report.html +++ b/gukyuin/status-update/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ code + .copy-button { diff --git a/gukyuin/status-update/build/tmp/compileJava/previous-compilation-data.bin b/gukyuin/status-update/build/tmp/compileJava/previous-compilation-data.bin index d52a3c37761ddd48aafdc2467b6debdf2de1ff62..3934d830a6bce2d2dd7180c5adb3703f85e864e4 100644 GIT binary patch delta 191 zcmeA<#Xa>D_lB>G0=o(n62Il}8|rnYE&P10Kw>j1Q;Cqk%$dL0k8I`D&3!8J>L!E! z*U6nCrv)A;9L>n8SorN~Zb8N5c`;Wur-)8v5>Pp{-)&*gQ3qMS7miaEm#J>%lvu{e z#OShlgJLlo8`ELt<1Ad08C69$+h_>0vM|qQaoHTC8_C29mf5^cKavq5$Yr>I5h6Hw kt&z1r8w&#i1LHHMWlSJ?1#9yUqxK(0jN5-0F^Oyf0NHp&Z~y=R delta 177 zcmbPwio53&_lB>G0?XtJ4$g{pI_*(hxHE<6dCF#1rV=56KbP6~m-DX7m{1yg^5{zQ z(~~};DkC6;kA zGHl+cSj@)Ec$j&!riLafGt+#Q&0)HcOkj~M`jL!a5kbQRj3AN8+l;IQmN79fFfguQ YZDRq^&zPDSjoTTG8MiYUGl^^h0HoPHl>h($ diff --git a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinPnuCntUpdateJobCoreService.java b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinPnuCntUpdateJobCoreService.java index 73b4110..dc73dea 100644 --- a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinPnuCntUpdateJobCoreService.java +++ b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/core/GukYuinPnuCntUpdateJobCoreService.java @@ -1,9 +1,11 @@ package com.kamco.cd.kamcoback.postgres.core; import com.kamco.cd.kamcoback.postgres.repository.gukyuin.GukYuinPnuCntUpdateJobRepository; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +@Slf4j @Service public class GukYuinPnuCntUpdateJobCoreService { @@ -23,4 +25,14 @@ public class GukYuinPnuCntUpdateJobCoreService { public void updateGukYuinApplyStatus(String uid, String status) { gukYuinPnuCntUpdateRepository.updateGukYuinApplyStatus(uid, status); } + + public long[] findGeoUidRange(String uid) { + return gukYuinPnuCntUpdateRepository.findGeoUidRange(uid); + } + + public int updateRangeBatch(long start, long end, int batchSize, int loop) { + int updated = gukYuinPnuCntUpdateRepository.updateRangeBatch(start, end, batchSize); + log.info("PNU batch loop={}, range=[{},{}], updated={}", loop, start, end, updated); + return updated; + } } diff --git a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.java b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.java index 0940243..c369e9f 100644 --- a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.java +++ b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryCustom.java @@ -5,4 +5,8 @@ public interface GukYuinPnuCntUpdateJobRepositoryCustom { int updateGukYuinContListPnuUpdateCnt(); void updateGukYuinApplyStatus(String uid, String status); + + long[] findGeoUidRange(String uid); + + int updateRangeBatch(long startGeoUid, long endGeoUid, int batchSize); } diff --git a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.java b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.java index cb8ee44..ee4a71e 100644 --- a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.java +++ b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/postgres/repository/gukyuin/GukYuinPnuCntUpdateJobRepositoryImpl.java @@ -1,5 +1,6 @@ package com.kamco.cd.kamcoback.postgres.repository.gukyuin; +import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity.mapSheetAnalInferenceEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity; import com.querydsl.jpa.impl.JPAQueryFactory; @@ -49,4 +50,60 @@ public class GukYuinPnuCntUpdateJobRepositoryImpl .where(mapSheetLearnEntity.uid.eq(uid)) .execute(); } + + @Override + public long[] findGeoUidRange(String uid) { + Long analUid = + queryFactory + .select(mapSheetAnalInferenceEntity.id) + .from(mapSheetLearnEntity) + .innerJoin(mapSheetAnalInferenceEntity) + .on(mapSheetLearnEntity.id.eq(mapSheetAnalInferenceEntity.learnId)) + .where(mapSheetLearnEntity.uid.eq(uid)) + .fetchOne(); + + if (analUid != null) { + String sql = + """ + select min(gt.geo_uid), max(gt.geo_uid) + from tb_map_sheet_anal_inference inf + inner join tb_map_sheet_anal_data_inference dt + on(inf.anal_uid = dt.anal_uid) + inner join tb_map_sheet_anal_data_inference_geom gt + on(dt.data_uid = gt.data_uid) + where inf.anal_uid = ? + """; + + return jdbcTemplate.queryForObject( + sql, (rs, rowNum) -> new long[] {rs.getLong(1), rs.getLong(2)}, analUid); + } + return new long[0]; + } + + @Override + public int updateRangeBatch(long startGeoUid, long endGeoUid, int batchSize) { + + String sql = + """ + WITH batch AS ( + SELECT p.geo_uid + FROM tb_map_sheet_anal_data_inference_geom p + WHERE p.pnu IS DISTINCT FROM 1 + AND EXISTS ( + SELECT 1 + FROM tb_pnu tp + WHERE tp.geo_uid = p.geo_uid + ) + AND p.geo_uid >= ? + AND p.geo_uid <= ? + LIMIT ? + ) + UPDATE tb_map_sheet_anal_data_inference_geom p + SET pnu = 1 + FROM batch + WHERE p.geo_uid = batch.geo_uid + """; + + return jdbcTemplate.update(sql, startGeoUid, endGeoUid, batchSize); + } } diff --git a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.java b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.java index 79a538f..6912500 100644 --- a/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.java +++ b/gukyuin/status-update/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiStatusJobService.java @@ -91,10 +91,45 @@ public class GukYuinApiStatusJobService { log.info("[Step 5] progress 100 확인 → PNU CNT update 실행"); log.info( - "=== tb_pnu 에 insert 된 데이터 중 tb_map_sheet_anal_data_inference_geom 의 pnu (cnt)값이 다른 것 update"); - int updateCnt = gukYuinPnuCntUpdateJobCoreService.updateGukYuinContListPnuUpdateCnt(); + "=== tb_pnu 에 insert 된 데이터 중 tb_map_sheet_anal_data_inference_geom 의 pnu 값이 있는 것 1로 update"); + long[] range = gukYuinPnuCntUpdateJobCoreService.findGeoUidRange(dto.getUid()); + + long min = range[0]; + long max = range[1]; + + long rangeSize = 500000; // geo_uid 범위 + int batchSize = 10000; + + log.info("[Step 5] 회차에 geo_uid의 min, max 를 구해서 그 값만 조회해서 batchSize 만큼 Loop를 돌리게 한다."); + log.info("PNU batch start min={}, max={}", min, max); + + for (long start = min; start <= max; start += rangeSize) { + + long end = Math.min(start + rangeSize - 1, max); + + log.info("Processing range {} ~ {}", start, end); + + int loop = 0; + + while (true) { + + loop++; + + int updated = + gukYuinPnuCntUpdateJobCoreService.updateRangeBatch(start, end, batchSize, loop); + + if (updated == 0) { + break; + } + } + } + + log.info("PNU batch finished"); + + // int updateCnt = + // gukYuinPnuCntUpdateJobCoreService.updateGukYuinContListPnuUpdateCnt(); + // log.info("[Step 5] PNU CNT update 완료 updatedRows={}", updateCnt); - log.info("[Step 5] PNU CNT update 완료 updatedRows={}", updateCnt); log.info( "[Step 6] 추론 learn 테이블 apply_status={} 로 업데이트", GukYuinStatus.PNU_COMPLETED.getId()); gukYuinPnuCntUpdateJobCoreService.updateGukYuinApplyStatus(