From bfa5e861a22173fb65d18f97ef5885e5cbe7fa36 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Wed, 11 Mar 2026 22:36:50 +0900 Subject: [PATCH] =?UTF-8?q?label-send=20log=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executionHistory/executionHistory.bin | Bin 1986188 -> 1986188 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.14/fileHashes/fileHashes.bin | Bin 156983 -> 157083 bytes .../.gradle/8.14/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.14/fileHashes/resourceHashesCache.bin | Bin 22917 -> 22985 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes gukyuin/label-send/.gradle/file-system.probe | Bin 8 -> 8 bytes ...xternalHttpClient$ExternalCallResult.class | Bin 2634 -> 2634 bytes .../resttemplate/ExternalHttpClient.class | Bin 6404 -> 7677 bytes .../service/GukYuinApiLabelJobService.class | Bin 4256 -> 6048 bytes gukyuin/label-send/build/libs/label-send.jar | Bin 99467342 -> 99468741 bytes .../reports/problems/problems-report.html | 2 +- .../compileJava/previous-compilation-data.bin | Bin 188685 -> 188685 bytes .../resttemplate/ExternalHttpClient.java | 59 ++++++++++ .../service/GukYuinApiLabelJobService.java | 111 +++++++++++++++--- 15 files changed, 156 insertions(+), 16 deletions(-) diff --git a/gukyuin/label-send/.gradle/8.14/executionHistory/executionHistory.bin b/gukyuin/label-send/.gradle/8.14/executionHistory/executionHistory.bin index 24d649cd29e7ab07fbf7c196e3b4d2723ade1c7b..28d4c16f49cd3843559da4b7e4349f43e7af7ce2 100644 GIT binary patch delta 4685 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 delta 4218 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 X-e$d%=C17|s7TI)mKp diff --git a/gukyuin/label-send/.gradle/8.14/executionHistory/executionHistory.lock b/gukyuin/label-send/.gradle/8.14/executionHistory/executionHistory.lock index 2124b743c33df97e5cfd098a002954f37cec244e..aed6d30b8f4bb8f367d00fc7b0f076dc80e66144 100644 GIT binary patch literal 17 VcmZSHXuE%AO<_$L0~j#!0{}GG1UUcz literal 17 VcmZSHXuE%AO<_$L0~jze0su711S
I*uKb!UE?_l|B?Zi&_s>cw%|9N##!GwY^4@f;n$JR`n8~hwugBVY=7(pQEX1*| zlwH=btBz%5%}6)+ijOqYVyak>$nevyYz&2)V=`U-3a(P17wNl1rz zD#4fBxtJF5id_Qi+(l3c!vH3vDx`W-KozXJh4o`X$Q14!cy|dacQ|L7a{fc^CGfIwfM!-?MT)>UHLuqt&ku`S_Dgkkvow?7~{m z=%b6)+TTY=BE>%8?xkWIZp>^;k{dfD{e?OrV;8V?qH634QxZ`quX|Us8eiuuLx7PN zFIO@`7+v<~ z5BG>Jv0N=zkeNkY1|snX${v71NrRwvpv1wjBooDBe4EQN*RIUl1Ad8q_I$c zqUtE_JRl6C!4h6bgAWR64Bii*u457UGZn|9V65lB{a>SDCt`&x%!FN1J}d^ZeF*DN zvVFjsD30B;=nINbI~Yi9{jJ7mJgGp*>DF^TmjT1s?OtTmWW#jyZ?*0_(r0| z$d|MLr7y`TX%32mDQ*euCUQ*S_G}S14JHFg7F@Val!F#Yx#)L;G&3xcGGORLaqq#D zOx0{|GK;vWa0W^VnKy~Duu)PbPDsjwTT*Y>I#XN`oGHQ)`II|zMBGwXf+=J8rH6LP6CX`rfU^#XFwMyf9j~0n5TD$%@$D$*~14sd1=jRNV^07^>Q|PfI~* z8U>W$jX$Wc8#aZgoLe`DgW8K~SzM38a7x+-dpc2#c1MVHhhUR*3$3A~oknaoqFRLC zCAx!DNp`Mo64ol1GAQmYE{>yRN6{+jEMmudhP|!Qu$$1V(&EkN)19aqW=U&cm9!Sl zDO9b8>z*gTKav7=;9MH@_#DlWO3){rv~4g;DuGo}DO4jxZHFa`XeU-ntrWFV3*aj@ ziwy;EJ3$cY9#C!&*h8XVR8JrZggcwk{E!+>njg1K7a1X3U7$q#6YadQ)OKakxQ&L& zQ+1JcdSDqF=;yEVE>uQ~2bS?V8l!az^k&-RO@x_6w7QNP#%qCU8B9G$vLZEAbW^vY zB7$f$ToIl_n&%c@F_mMzn+o9mi-dnCHxcZD`j~3l;EbWjji`8sDP4Sa&iYorE=FGx zcX8ILJ8uQixKWjk1r}Wl^Gp#{16!`JM4dwD6Hmwcxnkm|@3cpff*ZZ)vKB2pY26tx zqi7fP5R5*r=;=H>Ux}Do-@}wLx_-v9qJ_DGlJ|yDx0r10aP;?UYaMN;>H4#213i~L YJ#STe2fXS}muFGm|2tmwhf8z(2cR}_r2qf` delta 2430 zcmYk7drTBp6vnwD577!PFLeN6tfFYe;-eK2am8qiRm4^hL1D2pDk7!T#1|qqrZK*< zxlO*>7lKAbP+T9~wt?LRqm4C|u2k_waYYfOh^uK$q}J}-b2Z(+e)FAszVq#!J2PKj z^tb-vzx6cRP{bOn8;h91$9iBb3mU;Z^38@fieaK)9%!x!rympZ&uIH{-VA>>tcYkQsPhTUKC6E5|(L-ih5tN+Q->J6+QCm zD}*LfLj`wl76HFQfgefb_*POSnk1bA>r2)1Fit1>nKvyKtrs}U6!0rA+oEDYB@^j? zL$B<)jM~eTxfw1=Ein6&&s8{$MAv!!Ar*oBDDn*$vzdz28Fbmgdk%>y*SL0AMOHRV zxq;;0$@@BrCEbM9pB!((ltR=7zbmxPg#<}=^b9JWbVTHB*cJY>@B5W6SUL%)3QU98HB)Oqor)m#( zR*QzmU`ZrBf>jnDQv;BbsDD7V;rGh;G7D<6H8AMw95SXWlHv0f> zUZT&jtIz^S3P$x!q7bx73Ps>8(gwo#n%qHTXMi@Hs$pEq7IuSS34CRj*h-|LP|_fj zOA3QiQV_~Q$Sxcfqv)``;FhJr&JRWdnRw&kA4GldLXr>0wUMU4L}dF1hA^^IU`(N^ z7dPezJ6|}1NMgvkEy(r~yCwY#JCVIF+)`^s#UQeafO95w9N^AeVHXKg2-yuqmy3$k zh`d8|0;#X5OwuvL4^iU!cuod#XR&em5jo0DdAgge7Vc2$v|v*^(GeVzRE0K4r(w8D z)l+CtML63@xM!1A!`;h;T@A_xk#rpW?-89wlB6>zlJq?)Bw3LbL3Tf&Yz}q&$jkCo zG)0Jq+a3kO5TV;O{i#rKrb8S%`!HPU@Lc9c(z;P7iKJZ{gZTT@@fKWC8w)L+s&O#P zrRrq;W~nGoCxZlx>7>F`RH#Hr+`LO{`!qDj;z$%nk<)ZoGKezu2STh%L4~9eybLF8 zDdHoDvJmx-18eU4uLHvAA*mjM=#-dlF#iKEH7*Pgt zBn^jI(g--0P<1t2T^@tLH7ULAhbFo!F_SdgXYFAsY>dedq21dPof8jl=F z6JVC~4z%IqI}xUAqDj~;wRdrjG@G55?iEMF&MgFuXnG`kZ4F>OM2%=jC33*MRJhq} zNQ)w^o>#089%s3>PK|C@yTiV^`FM24fb*G;&87SF540&>xOlOFpeZC8)<1`THP|#MiVW8E84STpSs0)tINesHx=@D z;Cj)&k{byMpgo~lKAfY-axrQbGIj7m@5#58*9<+}y`?brLeqmFit89-U1w58F;5D| zWK`sd7DocYpL!;C=ZVCQDf-7sMcZh)OvH;=S~nGJxESZi1*7}rIK!g~)#xo@-MdFO foM@a8`Ml((9S2frT4SZYIX>Nv`BuLVmABb{d3EoH diff --git a/gukyuin/label-send/.gradle/8.14/fileHashes/fileHashes.lock b/gukyuin/label-send/.gradle/8.14/fileHashes/fileHashes.lock index 9724918587d7f3565089ecece456bcedcbaa5ff5..5e4864f840b33ae3021600c568bdaef8ff720847 100644 GIT binary patch literal 17 UcmZQB4$SvSV9iZt00W^s03#;@H~;_u literal 17 UcmZQB4$SvSV9iZt00Y5p03$*JQ~&?~ diff --git a/gukyuin/label-send/.gradle/8.14/fileHashes/resourceHashesCache.bin b/gukyuin/label-send/.gradle/8.14/fileHashes/resourceHashesCache.bin index 9e8f124cf54e61c21a2c77ef1eb8ff2e4c7e6168..3fc1529cb126adaa13d7fc0255420a046a52781e 100644 GIT binary patch delta 143 zcmZqO%y@D$;|3E6#+J>d5;vLojhfFM(<FVhDVUB3CN zd^HPW;YP(D;u{TCaBp_>a1nGd2FgkTu^<;|3E6#-`1t5;vJQtI51)-mI%o%);onQSpcPMuQvNn;kt|1OY}|4(I>? diff --git a/gukyuin/label-send/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/gukyuin/label-send/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 9df9b5f65c099b3beb2ca814ed1aceaa32091a06..2642ad14ddd3cb442420633ad1f082d5ecde08a4 100644 GIT binary patch literal 17 VcmZQpUi`rDB*U^$1~6dq1pqDd1MUC- literal 17 VcmZQpUi`rDB*U^$1~6c<0{|`M1K$7u diff --git a/gukyuin/label-send/.gradle/file-system.probe b/gukyuin/label-send/.gradle/file-system.probe index 1c8070f24083305d27f885b635c9eaceb4870fa2..660e3803ae879f6b9fa8ff08cf5cdd9e3a367871 100644 GIT binary patch literal 8 PcmZQzV4QPTO6mgu2mk_~ literal 8 PcmZQzV4Sn*==(hY3d;k) diff --git a/gukyuin/label-send/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient$ExternalCallResult.class b/gukyuin/label-send/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient$ExternalCallResult.class index cb23291d01422eff7a7111fc2ba1bb3422d44f05..c510012604bce241335cfb1c9031838d68dd4daa 100644 GIT binary patch delta 71 zcmX>la!O=_C_Ce($ztpafg~q~`sDlUnqXESkc{R?29ola!O=_C_7{MWHI)IK$4R~ee!*FO)x7ENJeuc1Ihgyeqd64vMHxJn58@~ diff --git a/gukyuin/label-send/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.class b/gukyuin/label-send/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.class index 7214690076011182cf68628ad780b651a30c8b66..59718ffb686167c03e31d63d87047cd700daf25f 100644 GIT binary patch literal 7677 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 delta 1742 zcmY*ZSx{3~82(NYa+7c&A&M4MxD;heLIiQ6Ahn{@-GaMyi5OE<7D;faC|GerY|$es zmRL|)YNyVy8A*rfv`?LJ`p`PlnLc!;^_5&6`%*il|G6QyKHT&F=li#FzyCj{*WH_8 zdG^mY-vU^PuWne*S3mA&{L4(^qeV%OONXV6u2M1qaNK3H5g?tHa z84FRs`wYu>Wn+^p^f|e^O<2mXY)@6d+n^M<7VT9g27~JGsCHC3 zV_T2X=nXVA)=?p~y!NthK4ilF1%W-Q=*?3Dv2}=1daar+Ycw53s z8Sh{*HySfcWhj@i8f&=QsIYhW7Gr7II);L1%|cgUtmfKsWwN_V4UQ?kKz+W?8>sa9 zn~nvx)f~#n6|`GWfekV?ViW(_n5DIMi;VYB$!|;RleaRkT^4M|4hcJD?80t_h5Ute zHcv2xm%h)C6)Pxya(HlJWL!BEty9%hUG4SzV^#KHzk~xaJUGa=n2!>fhv1cPScZ@O zXsczxvKoe+v1~=LY!id6irO|bG4h1kszkavl$yH3-bQa-wRgYITVJc*>EwNuw6&96 zcPGXMO*qQ1h{mRrsJwpV(v!TZ^gPWO+G_bk+rQE_-v3dMd!k@f3aTA|P zJj@%csXSyo#qM#pZPqLaJq)%Zo)aGTF;AV(T@`4osq>AjwlQY-oWVuBy75 zP3u)M6_Fz&Y0P6Gupuq5omLCsKnmih*fr8*&8x+T4qT@#BZHA#CLYv_TBU!JhZ)jlNC{i6Eq-_+|`OY68=?7qThLOcE29o4WYav575{1taEo?}r z%QV&55=Jq@CRZ3Mgx7IWRxx~sieiKCTAN}BVZD}!ifz_*_9}Z-2-}L|gu|YcxDfVg z4w@E1bvJT^<%3t}J|e=7#ge3IyAT=%raFeuBG?!7RAMHr=|q!)WMq(*i5$$wDlEVT zWYHbT#twQbJaC{HPNL9-8^}ixZhTEI##0pFdlcd)YQS$;g5R-Jqq&H94WbMm;}g=F zaR8kZXAtZP=Bd7>-UO!>CmSQy+9w({vmyKLMzaZFX-az!vG$^{4WtLqd@=w diff --git a/gukyuin/label-send/build/libs/label-send.jar b/gukyuin/label-send/build/libs/label-send.jar index 3fa147980413a211f07109e8674f51c792f79a11..9e6e9395a6753d7b5aa7ad60a6ed3e947d0b1c6b 100644 GIT binary patch delta 29228 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 delta 27936 zcmZwQ1y~ea+Xrx%4Z0;)1SAy$Fi{c2mJkq86f9Ik6boAkF)+bg133oRfw^{o7+`<} zCr0X`yeJr#9zb(Q<>5n=MG zmG{l%=iYs2cA||!JFLaue0ItbgSF;FrvDTxs994XuOwFV zw~18oODs~;!ZH+6eUS-YMM3NMK^SXXOs)Q67^<3tt%yF z^3+Dd)fFL@qG|l*Q&5SXur1D3i{0h=4zzPy+KPmo`}Ps75V8~*wjvi{doNijc2`iI zj_|SRV&yc2H%cfI^WK`x9FX)>9hhxQG8+8 zQK5qvHPat@-&{Ks$nAqf6S%<{inT!^RZg{+e0{K}q3R9!>0nWJlkGFirfc z>A9PSoz*s#GooKpqkOGe=uLBJF)nTT@WKHni%%c9 zm%HnMB4h7Szb(281EbqSj2#;t{dM%$(|-yl{pjAi_nTK!-~?bb@s*E2uk z-h3VS_T6&F!P8y_s#s2Ym|_?|t>v`ItG4(){*Y{`=V$Rg*>X{rLmLci-OLviQ+vSyQ|FAaR z<7m#Qp^LgrxmPIST78~$;Y*6|T7&IJh6W@x8~@fkbE;$geD}xQC5_o4cp=nz1=E)e|D(F^}7>vLo{2SR=>h^oD@Gi z?clM~Q=5rH^)x%XBt^1UOYRp+k`Hcr5t%(c(fWGxg&~fWUGBwZem`LGVs!tlgSN}RGzwTVwDw%>B(PTRpF!+JbU`%!lNd!rGJPY)RKc*LDI>q`UW28#_;9ClxL z)6mj1BFQU3zd$Fl@q-cF{Z{94=|AQ-@N9N2^QP~NTLF(+1aE5i!7yWJz@nJK!bPoB zJ-gocl>Fnzmc^$n`;98jI5cUp=AK6L7miIlaiU^w=LI=xD`JOMuKN`Kd0k+BYV58f zW9}9%ZF;z<*Epa13kOB7`1R&`!L5-cviU8?7#|y+*m&i(>vKv^dk%B3%=iB`!T#v0 zW16SA#r_LLT2pOKja)d;Im`05g)}y-Y3FwFe^}n7F%O)}n_es4X}cs^{CZTkeZ7W{ zh|M^(+2gc#X+r*xaOagz+pTVy^kI5@kB)jidW*)bdse*kO{n8fq20S&T=i^K z=bpz)qBAYKMH;&5Ot91_4xauxy0wk-1IyldQ@V&3*crBY*`ue~nrol4&N`P`K0MUo z)Yg;nTW_d+=xcsu_|-*bZY#ap4Cv|U{`Gb7g5Rrla`!zOXC3geYQD=YqomF2V;cL* z$42zIdDmM$%)oJaLXV0;`^!yEB^GB!9vB!D-)=5g|AG69%zBjQP zw^~wp$Z&aa@NM6pRa3UOo9-W;*I?ng_uCd8Zj$q0+V*8rORH9t|ar(*7DY; zaldC_o6UWMDu=TUvS>)y4Qe(BNX^4Zfoldg1{H+BA;dp#_cPiS#rrK@4y z=O+sTnzO6HyY;Mwm*|YsS)jIlYV6<#r6p&l_dDeK;(_zH6QP>FQkR_^-)4by;PI<- zdaiHe-tuzv(Azx@oqU&a$vfWYl;KNXr_pUMCa+FDp+4e@M*f2L20B)E-n-69JMz8Z zv~{9R#7`3l{t37MY$J*SCtAF8iySFQQS~uUNQ zck6QDd|J*9gJAG`AncBS% zD|>usHmq3}hmr;1gH0lHT!-{$5dYIutJ;5N zV`EoEe>b1k9}3$K9^j-O+dTC=SJXYCQ$%K~ZIxMR-r-Zyrn9jPjqgWIXN}r73;mof z9#>zIRuP-{D`2Rx<2q{c)LS_Qoc8hXoPT0#|29jXulX=!`r>MFvw#<-Gm_$5m-^`T3474V?uEhB zP^o-nq4Dh}?!X!)(u&(=AnqIlxH?7XR~o2;#Nc=ojLUOV?r(;PcZ zcSDt4Y`{c$K~`uJZ$(?R4e!-6Bh9Yq{QBy2hO^4N``9&pmhrPy;Y;_Iy}3Pm$;ok5 zd*-y8A9mutOTxHp>j&Y*b1ofN65IQDedF6lTKaS!+bQjW(bFM=3ep{S2EIMxH{HAP zOy@I(M}9V&?lJnS$1J9P`N6Gks=dlgk9@Pak(V{6V}~TGPB|%!MmZPlsr1}De^0Jw zrhRDpXC-~!hF;&sj<4wuzm)Zf3AxwY>6v`hUF}C&FAECxZT8N2y}MO#wd_dq%bt_= z+|3%;`9a?fn!mJsy0@DDGW6i>RX2?a)Cy)4#00n{x5-yM`=ocHu_1R7t8d!=5N~~D zXR^`j=e{WI2Hx{ZTlqy4O$o_+=2$ka)@+No11k1w z-F(*|?T?lEy>%+eijMj&ytrrc@$nNJMGbHJOEcygD$0sFeB9ykvc_ak<=nV@7PCHZi~hm*<8DS->(y7!cpDwmqjZMeE^b_O-eXJi zQ$J%yJ?vaH<82?y*F*0t%-C7pr6k+%Zg%5+H|O2klVNTevU`kiUR#}q2Q6+mY#!6t zc$V$hMhhMtDc8*#-eAk-R}*g6&#g?<%X<1QL*r}xOO74d&h=s)ewY5xJ~O`l;7^Z} zKb&2&Gp?Xje6+jH3f<|;pB~R?(03t7i8$M`*Cv_~EB&PYVxISuE z(6z7~8^^q`KW=u%W!BX9kufj6mgyZ^Hgo6X)x#P_ZF*|9tTg3*ikH)&k)NAxeiR?v z`j|;zG_~5}r~cT*wv`e?Md$CL;@aa!iLX1xKmWJrtI!3%&f~Sj z)<;Uj>9x8+77J}xDbZJyi^V;K!O@0QzUfnHfMU6p_@mH-UVGgY=k&w}g^&EkrH}S3 zrbDGfNAcK5JX<(s`FD33u_b#;B~ryHOL4R?5dNK&HnFy1oV9qbuska}@f+oCR_+>Y zIhE=vhBOkt7Mf9&K8j6E#6HR`(v{wy(F^M7D7>1B6NH1DfA>ZK>+MDRmOb>uv1RKj z?yPKxm+AkN+bRlMh#Lwew5nbCMkeevHPuptwHA*T*0bh-5jr(tV>{uUy=^=38DZ4) zokFcnwG=%)#S?@Q{`-*sElyLR-9;=H21?hBT5Z%6AG(T{3T+nu5_goJ>m|0~&z({D zdM9DDSXb`sBNo12pmU)+lXj_;SSt4Uh~EiEAHOfCo(|IHgaNL(bG_ViLdK(TqWSXF4YcbhnXWp%5R)K?gc6L%6e5?^Qk z1n~pmBaR0Q&PGmo62;qC@kC*Z(OJkZQ&VwznmCZJte~y5{6F(91_|pJg zDbfQ)t#lIs?Wp5g!r8#-FGB%1-scu1H-j{?2b!1r6|k&>_aJNL?eo zA*?YieE^H|rGt^__*F_Y6!~f5OTu7hxC@)uM)7Ww_>j<=-=(w!YsH_f;yrwxf_iil zh9jFIbx-eGDY0RjdQ)FaM(Qg1>=n-yTGMwZ!xbH~#KN^xK_C6~`Mbj2i{hn1XS4_6 zgcM!w^n`Bd5EQyqG`=a`!tYlFZOL-soSKj-;Y%AT^q-35LJMj;fawO)9YtaKMtPPh zbl!>mgzZ$*VN*rUM{zx&3Dyi_w^p?HA?_=TmkznX{P-$=iAM^@C#AY8HvSP?3EPz} z|7v{d$Q6n5D=n(wu4pBad=eVaZE7HY#8PMU<&LgIQ+`b%;g48Fg+y{h*bS-GC zVH}WbNLZz$nZnCPBAlKIT0o)DwwmT3&e)iP1g6K2YK(tQMXIuqE{5l&7tz*H_Y3*lTpL zEfLm)zuce-tBSzIK53vt`JE{}vADCW;gu4xyedrCUvj;034aS$&<(ywSh=19VzYg5;!7<8KEjU~E*Sgq|N_B{{-6^SgoX|9{2m%sC31{P{FVrqIXVfl;OP!j|A~ zKs62Z6lW47jfE>HossTx6tJvloKRlLl4j}{qk_)7i^4aqc)Ivo$4QZ~Nm5^jUyr&a zdh+?|QgcPqeUdq~j->x}uE(y8!Tq`3A<1+8!XW4OPtB;*6x}XJ+_m|BX@B=pTrH5S z5OxC{9CL;9`0w^{c}x#cr($qF=zU+3#xGDo?K%j1;(r@KP8IbP@y{fug@ekoLefsS z$k63=rY66tbQ@{Ir{t6hQqWoy^1Ubq=t^4&_X+;{dVZ)_u%gsl8X{bv=qqI9#yJ;D z=Mf9ec%b}7oNj{?__d*Dnp#zwD3a`?mcpUB)m|#)cba04qjaOtAzg55)wWs*~qPp^u=e$o_SL(|2bUxq0|Nh3vA zxU{j*hClWH*G89(pMh1V94amN-_a4so>HcPqG6=8hj8%zZ!n6}QBviljII|M$|fhI z?G%G2N#6?_fnS;GSyD~*>(esjS{yQbZJ8&b#a!I38_&D zQfodX_gg3(qIi=e9W3m8`gl|*z&a{CmrAz^W5iPjV~Ld#H$_0Ibfb{Tf4fi1bx`zP zDb*D6=%v72zIwIPuI8Y2XKG26636(x{oeEoE;6pR95nUZZtKF9LuC64Usk0hJPm9x zfa~RGd3%wK%}&>;BXx6Dubb&O>7D+$%UfvN`^VGcT3UXhM_ME&o z?)B>z`|iYzY*y`czwgN#8_geHSpPKVs{2%S`fEwbqlYij&i?xPHD0A4x%r3GL|=_i zw}bJ^bEY*7^9xr62pe#^dITCTD(M&ptQ)$?N{l9L97yGnX?T z7Hl0>y|B@;_f`ncFhcNpE+pEhpghV znc6?^8iaLof9-iqv}WtB_~f!G&Awlj=6|UQd-7$~K^K?R$J*^Kww?54Y4o#2vwsJT zws{r5BHhd~gua}fm-4ggsHvB~b&NX~P`}rlcAJhrL~6W^fnM zum5V-`1OY@qeXMW-5TV?%ujk0WR>XUwKHjhNs8po!#is~L~T1#@7A5Qy@JZu#G8Ck z?=~mDT)S1&v0xUKv~u3pZH8>NdwittIxG4{vr)QSt&e%Bnqsb@d8SiD@xdV1&Dpmf zT1T{aVE?c~@TQ)*1uThRUIWglFj??MBu{h@J5{nK! zudbi&WO!tTWo7f@RW19Dyf^Q+qp6O)dcfQGpYvCnDW14)+;epQl9EZL6$d(IpB@%J zarvy+vIVQ2X2c%ZAzu~yWbyrlg$9Y63rFN`DQ@$#!e?u*a@YL_UD`(UHcH>8d%w*? z)8}`t?C35^^4WTI#~K5p>rGOQwdv{@sr#h6p~Z*}&c7Ok<$L>2+4ULpodFhe`O;=2itLs1AEa_;zw{5m{^TC704&Sw>Yl-E`_kHR+ zn$0yi`K;mL-EDRqJ!089d{DErAww*ukGiB~IA~R2qTDQfT7ZXkeETPb)^~dJF`efy zBrteyY}DkJ+Aq$Y={dGXqms*8pEcU-(fL~NN!8s~3YsooH=O>J_T|d7U*Q1^8(5uNBz+K5_x&xy{@r8p6#4{*Cjjb&dwW> z^Y*cM>KXy#!gD(5zjutR+)^A~5N|ff_h<0RFHv#7<_!DlclFV6ACG}OwLdw>o~kk{ z68#EJt{Oe~?6$e{!ngaj^XM&U>g=5v=lcHbF%P#R<44T*pL72Ex(TKy%)hirzBTOg z=qGs#UN!E$dHw4lk_=n7*wmuqi=%@xoYTITuNqibGI*tdD0lc&Lyx5=ZbkJScW-3i zu=poy$2qh&Z!mHH-N2ja3);@GJJqaQdq<}6o_%BHr_Jyy+9UEmY5V0+TgS3fOIW$z zy{~VUy$I>sZ{wH7^?O#K1FUW5Dm8lX4f9?7P_V{l zGSVyPxZ!@2VKIHTE}NlY)yHOU#O}Fe#?MxYEtU^BerJR@Whd7?_DqoB%+g0c27G<& z*tci<+>;&k{f#FL+F+0(`8IUBSAz%otyX8-NWY$t*t|_B&2svXZl8K((8kg61v|&Y z^!jGmIaf4~`3~%rF!#nzi?bSoUilw0JW$+qdwg1hkWeR+6bqNIP5bLxJlb*~p!DL# z<@?lHj(lu7ZNuFkqs}b6xcJk_;ZNjt*T>IA(qBbM54k&La*Lr@!*Gnvk5? z$En$di(B{3IlTSXja0XBHi}s$GtEZ^yd8flzEzI?QT6og^$%#c&c3+r=IEw5%NK># z*Z19Dn6a=dWz^1VhQ1HC?1}nyp|JBz%gJXn?`z)Q_I}pbqeG@0cbaM8Xeo_sz4V-Z z>9EY`!irno@lDb~f+}YD+0J+~sCur^41*2j#oemgH|nN&w9kMk!`hSj7$)R`7` z+C7IGEFEa~>v@BngSuVw4Juhyy~!*4e0}-l3k8HceC-sk1e0e z<0QKeS2SDXlmG6?OT*C<>#us+{-IOPyIu1?S|&IYNxG~&`E;cI@dR~=b3sM+I8&Pw z`34Q|W-l>6H9_s>+=#n3<2FQXZ?|EY&Q{%0$!8-A&&hcYufkJ=q2kkK=>jwU0XFW0be8Zm^ZT^4q4+<4N8^CMqp2si zIwRFq1Y}Fgg$JD0m!|mqL$1pTdB`kiv+f9)&T5356+z8HG881%-^FK7}Pk0}3k&YYH2R zh7`6Gb`DSA@`Py|v0QS_k* zrszu%LeY<+KSe0T0E&SWVHDvMgD3`5451iGF^nRDVmQSJijfqN6r(7jC`MC6Q;eY) zOA$jcj$%B;1d53ilPF>-CR0qIm`X8?VmiePikTF%C}vZ{QN&XuP$W{!p-7^bOEHgP zKE(oxWQv6pizpUTETLFRv5X>xB9&q}#R`g*6sss!Q>>woQ>>*}N3ot_14SCeMv8O_ zMzM)vGsPB)trQs)nH1Y7wo~k&*h#UAVmHMeioF#3DE3oiQ5>K+NO6ebFvSsyqZA5? zV-&|JPEeerI7M-q;ta)EigOg_DY7YYC@xUsQe33CL~)to3Pm18KE+jvYZTWhZcr3Z z6jI!zxJ7ZB;ts`KiXw_)iV})@6!$4gDIQQfq-e-H`=fPo+kgo8m~ zFc<=cf?*&63^_m=0!unP3)} z4dOsNNC1go4oCuX!8|Y@EC9)1Ay@oCW8=d5{fqzy**CE`m$oGPnZrKt8w%u7T^|1}Ff9;3l{QZi74EE+_)U zpak3l_dzLm03L!z;4vrzPe3_%3Z8-I;01UIUV+!(4X6N>;4OFus=#~j0el3Xz-RCU zdn*noz>7T5uM-~b$f6KDh)182|#GzHB-bKnA8fg5N6 zT7p)fHE09c0(a03vq0^ zCV+`x5{Lzp!4xnROas%w3@{VS0<%FJhzAKE5zGNeU@n*k=7R+w87u^gz+$ijECtIz z3P=UZ!3wYvtOBdS8XyO2!8))WYyfFsBS;4fYyz9X7O)j$fK0FrYzI5QPOuB?27AC> zun+79S>OOT2o8b6;0QPh6yO**4o-lR;1oCw&VaMv95@fMK@PY8a=}G#30wwOKpw~k zSHU%K9ozr~pb*>yx4><12iyfkpcs^Zd*D7O1rNYO@CZBxW#9=Y2T#E>@Ep7VFTpGD z8oU7&pc1?V??4rJ4?cj8;1l=^zJRab8~6@>fS=$O_znJmYK|^{B1)(N4v2slNPrZm z0d=4OG=Ub-20B0&=mC9T01SZ%j()1~!6pz`!Q3 z8EgStK?cYK+rW0P1MCF5z;3Vy>;?P4evkzYfP>%=I1G+}qd)3m_L<1ed^Na0TRnd~g+91J}U~Pyhhg`26w<+Py~uW3AhLDgHrGS zJOq!xV^9X3fO7B@JOj_c3-A)W0|x3&=Gh7FVG2igU+A}=nA@l?w|+g33>q^;0yeKKj;ktKp+SLeLyhi3qn9Y z&>w_?0bn2q1L0s07z~DhpmCgE3$%hymlkcrXD>1d~84 zm<*2AS;y^q|0Eu7@NCI=gJTMSOgY>C15F722wyOSPoWz zm0%TE4b}iTSPRyH^bOd1?RwdkPULc1&|9af=l2sxB~J(KDY|5f$QJ~ zC;)}vCb$J|gFE0ZC<4Wx1l$AnK`D3u9)d^UF(?C1Ksk5{o`L7!1$YTwf!E*-r~sAV zEqDj2zeAT@B{n=zrb(s2ULsc@+YB$D&T+!h=Bx1ff`T;8bA|h z0d1fIbb%hw2L`|p7=e1g7?=Q4Uxk4Xam{;chC;B2OWS1=mS7zrZ5 zC=dlkgJ>`Yj0G`Z92gHKfQeudhy|0u6fhM`1Jl6_FcZuIvq2n)2MHh%%mGPYE|>@A zg9RWNECh?dVz2}(159|k7-~c!X4uQkq2sjE9;21a#PJol(6gUmefV1EnI1jQx z4!8hv!9{QhTn1M_9>@n*!8LFl+yDij5ZnZ}z-@2`+yzCT7?gl};65k?55Pn42s{R5 z;0Y)PPr)uc`a&5N_@~XYMo%jwiLSNF4j9wl(Fqwp)+U3qUdu|p@Kp5Evk@38E!(x0mFk56ZVTTItUr>rtGHy z^fj%NbQCgNp5LY>dntqe$5!^4Qd2NC7GqW^naro2Q)()o8e(3Px<{$$d|rq}rDPhP zDx{Q<=SM$FFpkeVOQ`|EqHN5t?AG-wCEfUhj)`9vG7OiT2fX0_Y8Gh=tg~KpEpP4yUN|x&4>=0!NE85tJ2Eg4I!Zy>A zUF9^<$&95^9{%SEcqVglOnUe&|eAMv{q5^s?+1r zskNF2v#SjG9y?7%kM9$d#rzB_X6;ZNnWYYb>T zPEvHLv(&@${%yz4$1>!bEz~_YZyYsQ!KtXUuhXpMg4)fPHywoL{9xl~GM7wMo4L~e zwvfjx78$X}loWQuI}~zXQ|h$s(3CbEzc`CkyJx+TsHkM>sHk+QvpA~_wVTLkwwDQO zN^=8*wM+HRe*1{_&=$3Sx9P0Swc6S73(2gPv#gs~Mdc{%gu0vJN@lIfQaMc&Gh(Ir zVzD|4Q0u^ng<~^SMCXo3HEx$s7gKc9^#goVxq70%zr(_8>?tyG$Z7+PnLQ_lZw=E|`s;tIra#Q7qj`2(Y@A0;v#6z~k~h&V+hpu`ixSLkXp$qV5@_EB#Ni2h>c)uisCk zI1`QkR2kB~rb--A+(?~&tH>Yf(ZFZYAue33>?@24A~aM~vK&=Z2Glu@f(`z^wrc#G zMd9MQr~{VaDf_3M8b5haxMZiEG8WIE?Gi#KieH`XH5w?J(M&{h;Rxl|Esl;=8TZHL zZ>g@F<}+%_XW5B0^!~YMG1ZQ!UE%OgZ4-9YxHE0(1S%HuJAIl%f?WgJ(%0$gQ+G=@ zXa_kZQrHNc2DcXH}hh)bUPMyQkzM^2O?>) zS#%HTUZ?WB&U|GLcGH_?FblVwO*6ZRO{DrNm8wH~ume7ol9sGvXWAG-scUE_G2Lo% zgrc_p*|so5Vmxr)IAX61Nq86!VFEOy0inwPflSc zXfCIWYa3F#SWc5Qby(=6*~;VlrDmfWS#(F+-cUs)yw1A48Ca{GHGk|C&=gP^=P*iH z(3Wlq!lS?sCyz#sbo5B+JRMl4m$_qv%JS+Mv0<&7$bD)n<64eWmeM>=E#}|7=9mem zl#Gj+__tIde;Z4;_O{j?IN`7=}GLCfG*>n&2;lbOn{X!58wd&R~nkKYMBQEC&fETw6rChQ&M3B&lqmsTYyOQYwD zHQD%HHKp;Cq6^U?Vt#4P2WB9$aTjMla_p z596z47}`x*M^$|3L80yjw_3$l^JVeAHJ4{bDH+#keXRlsKU-Bes}9QU-cO}PzN4cn zsLmo|(}nTLX#%STyWGBJ>&{VaF?9*GaG(>yzfOy}oB0;K2*n z$*phFW?D#j4fw6Gi!VLDODJXM0`OA?nEWbilZNxd=t-1*@QeObH?q#+j_T>I=bQb)f#=`h@ zf-wI5H~v;M`Ooztm9Mj}=x-fux$`}-F4LmRfN(B&ZqJGwN%wMpQx%n=byjgz+23ZG zEWQu@up2*W$N0vQ61p<>pleOtQ7?R1y9H(lTk(6)g;I2%si%r@V<7b z4ZRQWe_G8tP>P;LzWy!MU{Q2?HvIQ`I{F7+r8yIa(3CcQq>rL+WqhY~T19)syUw~@ zRaTZe{}vmw>C{5l8fn`;j6sXl|7p?cm(V?0Xs`#=LU=SSYag{gjar>sFGDr` zx3b0WYPu^nv8q`{gm2W0v(*1s+J@a~s?+~wsP6cqY@wzqF=zSxYIgNKO3AqUD(t`j zdgGPT^k)ke&}u)Y&Qjg!Wrp9z!i%Mrh_B=F-?x~*H=Zb=PRswi!#p)QpMp!`6FMC0 zUS0BqCS5U!+JMy`Rd>0i(WSMJaUt45 z4Sp834Zpv}{yx97KXtX;@ZT$ko&jGuj9*p#foNZDqFe$^&NddV$b2Uwjx_%Am^SSy zy8P6AR_SY@Y(Z1E>25>sfx?+&9)|voHBgSHnm$Tc0?B`0#WwQAk8Nue3&Wjk?o?q+ zC;Ky6Qb?U0dDyX5Wr>`oed`L#<44%%!TW(Bm$IlEGZlPZeY;L%g zHuN_-Q|rF45ZUY%V5W-f^gY+yvuW6G#wEpw9cLCjM1N- zv*>hjW@w`P(qm6hWFVa-W9a(pS*Nno;98Zn~p{j(Pm3eS#!dUn(Klvxn z=fhcI41Kfn-;0IvIkfu-p#o;pOa61YxE@o+MbJ1t(Njj<`~2Qo?JQZdq?*-KeOs+} zh<0r~I*RL_FiWEUE=icTul)M=z!n>k@VuN8!&hm?PDj=pomVL(RCa~={f+s3ew9-6k~*bUfiSaQINW{+|)xGXlIa_wu zYAtjdLj#g=%d=_~=*ZO%;kRw5L|E%ezE0_Rp^lt>JwUJ4TB}Y8xIT=wK3uvtfh(xBY(eRZ4!=s=~r2)O4CNM1^lJlNyB3HfY=}Vzj-MFE(k7#8 z=jMFHe*AAW2=C_0R|Nkor-RUe-eHH6_ca;5FRU*R@r z#aAB7uch#yHQk5V%&3&Ouw_$gHVpgwh*cz%wq$Qn$~XH>DcU=}d^2wrMnCl+ykE{h ziVF)63gp*=q_w|tobYvRr*U)`T%p6jug)422lFj@ve4-@n>dD2GA?@nU(lP~qmPdK zsbLzP`sXN}8o6`^)qUa^HJGnFl&{vg*fzZxU7sIN)w)j^Y`8Ey{`Vq;fBa}M+g@uG zRh&n+p}MD=ZzQvsSt*wzR}tQ&=qJ%olW;c*@7idWp94f69;Ha#J`Np zqHDs4I+YWq3WMM)H)3t#YQBD)9C*a0nwqSp{wLRIk~u>;ZtGO3y_|m0!hjV~GvQY9 zlTtFSd)$Aj%!sdfC0|b|88{uM)P5yj$(ik%LvQi?2y0KZt$Q48sHv<@PY`bWS>!<}8E2oS>;(k| zYz=A7_tkgS_fTy*-w)E-cCE9vKMpIK{GiHCeC3&YcO>4T%6W8ewyRTl`Z4}|H^PKn zBQ|Po%@K8DY=>dzsOv^_8adQyk$&oL3vD?~@zr3b(2O5+KBZ*b!R%U9nA*Hb`UNNa zlXC+~(RW=J|CVa8P|DL6He8~yE&lb%;*zo)bAtc#DE7lCcK=RVjVDGbD$VK)Y*_7f za+*tQ!m6or<@b%&=kB8O$Q#Ugex<}+lyL+1mgQVMx$hlmBc`)}eql_W(OgZRZmGh5 z8LC!|)&ACzu|L$Xji^(BGL!jI8-LNc@p?>^{tpXGtwuh$!v|;d-`l5*Yq&ak{37`>##&BapGJ<*=|bsi(VU8$m2{c zY?;+U2$<CNJLd|fBbN|#Ne?tDbEZSKhp9PimFd;dn67My2CR&NC@n|nNkMIa%%bK#ym zD(_xH<)WUyzgK%vLn~M{U#-cq`|@)u@7MH}xDvfJYr!^B!e6A5R4U(`TxzRamendM z6}_o?fJ_q>L?2sofl+J`C45B=RgdH+K0m6dthpMM=fypio6mh*(|;(RsaXG5?z8E! zqq5uGe5O;*WBIAej~&=s`sgGI{{5Jluc?#-aS9_gmJ)qMCk8)}`;U0ih`ptcPTb*q zW+tzc^x>|LVPh!~ELyp#T<*B7+=;KC%YIO%g{ZWmTt5Coxg+bi7Ogzzuu+uo7cIH= zRBnCisUv&L=dUzpn(L@H(St+JuvZBapH$gqIw$I}S%sfejabY!{^CG|4MZPfC2TpJQ^rht zW2L06cuu%I$KD^Nak62^;98AjX_N>PZ#eA1F_#k_99;y`X#t|5x1HH?Mu#CALZ4f6 z_M6#SN(6ANZ?o5w2<8?HXI@mnpYzUUsgwv1T^P|z*(N5s7iY+{Hc?OFc6)<4cH>|$ zCu0j}%jmKplx-ne6B)u%H)AMomxpkg%ztbMr_J`FiO6zkOh$OQA#`QT3iMWrx-DxxL6THeC66Q0qaQ8XL5Q{&`5`-))dGcRzjh;OySA zx0LV||L8lOV<`j2b5<;TE5^NG^Fof*-@cG@VEg%uqgAOKJLhane?Ie(GCV{c6PELv zSH}ElBYSZ=o-CCT{Y1lmo#YEFn3(ol3(=)t#mfCKo-3h0$cj{8JIvhkldFB9`?Bq4 zty&T`cHM9KPI3>`(q?C79lokjGt*;!=A zF7p}Beoqv!8KOy4!)6DXoU)oEVu5rd+wljnE{msZ3+`bq+dzo`arA`+qV&84^#6vV zzmw{7%MP-3l;|nmsd7-nI!X^x$qtl=6E__eDUb2y+YXD2(s!Z$k!P$iB|^phn_d+$ zmmbA*EN-NX_S~Td>>ee8ID_`A*=`(^*1;@+5DFb=MpA~4IB%1Wm<`_MBer6Wbj{Ia zPf(A`@6Y~F!dJW`B1p_^qJqSB%JPJRD4(ao(kRiJv(RFdl<*bnI8@Y(;8k@c{lng% zLl{_|!`qtd-IUQ$oEJbDgG1hmotQCQjGVXwKFpI6fud_i>ai+H$=E*9lbfr>-cce% z)GarF4dHiLRbBvHGX~OuqsgjH;W;O{O^`&NzBQ|P5)rutN!VJ-v|+hN(7n9_dq;^t z@iDW(66V)nu*9B49mSD1;LT78dsj77(vT^T!Ks(BGD?JqhiQ$J@TZRj>q}>AJMKk3 zTTY4o;#)h$NtjJelEf(e7(Vw8883V`W?a~Ki79iTY+bg7v=Fb$n_R21Ci5wnO#j>_ z)Yz3fyUw`n&&^iWW!I>vzOtI%adZ?P99L5qM;YGYC8v{wjHb$Z)u_kyxXNTFaNM6b z&&E>1NBpE-!8(}Btoh99M$*NmgwRw8c6(OS6@R)SovuaxOi)dAdy95#j$ zJ-IXHOhJkMoRcmyI73%R?$#SNni9Rmy*3p|*rUuM+9l7awJxioY`TinW7=mi#tq(V zC?x{Kmp_+DSoqH}i7hLp3@7oZ?k^{1;xH$kEmvl zxI+9|!V)!K(}oGn#wbo2QAU9IYl$DbDP+_~M#IraV3oY`cyml9#z z!#Par0#2B*K5wWuy2u){@svSdJkj6!Zlsh@{;Xjs8a1oV}%NP2mrPv%-w% v4 function configurationCacheProblems() { return ( // begin-report-data -{"diagnostics":[{"locations":[{}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.14/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]}],"problemsReport":{"totalProblemCount":1,"buildName":"kamco-label-send-job","requestedTasks":":classes","documentationLink":"https://docs.gradle.org/8.14/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}} +{"diagnostics":[{"locations":[{}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.14/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = ') instead."}]]},{"locations":[{"path":"C:\\workspace\\kamco-cd-cron\\gukyuin\\label-send\\src\\main\\java\\com\\kamco\\cd\\kamcoback\\config\\resttemplate\\ExternalHttpClient.java"},{"taskPath":":compileJava"}],"problem":[{"text":"Some input files use or override a deprecated API."}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use or override a deprecated API."}],"contextualLabel":"Some input files use or override a deprecated API.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler.note.deprecated.plural","displayName":"Some input files use or override a deprecated API."}]},{"locations":[{"path":"C:\\workspace\\kamco-cd-cron\\gukyuin\\label-send\\src\\main\\java\\com\\kamco\\cd\\kamcoback\\config\\resttemplate\\ExternalHttpClient.java"},{"taskPath":":compileJava"}],"problem":[{"text":"Recompile with -Xlint:deprecation for details."}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:deprecation for details."}],"contextualLabel":"Recompile with -Xlint:deprecation for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler.note.deprecated.recompile","displayName":"Recompile with -Xlint:deprecation for details."}]},{"locations":[{"path":"C:\\workspace\\kamco-cd-cron\\gukyuin\\label-send\\src\\main\\java\\com\\kamco\\cd\\kamcoback\\common\\utils\\enums\\Enums.java"},{"taskPath":":compileJava"}],"problem":[{"text":"Some input files use unchecked or unsafe operations."}],"severity":"ADVICE","problemDetails":[{"text":"Note: Some input files use unchecked or unsafe operations."}],"contextualLabel":"Some input files use unchecked or unsafe operations.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler.note.unchecked.plural","displayName":"Some input files use unchecked or unsafe operations."}]},{"locations":[{"path":"C:\\workspace\\kamco-cd-cron\\gukyuin\\label-send\\src\\main\\java\\com\\kamco\\cd\\kamcoback\\common\\utils\\enums\\Enums.java"},{"taskPath":":compileJava"}],"problem":[{"text":"Recompile with -Xlint:unchecked for details."}],"severity":"ADVICE","problemDetails":[{"text":"Note: Recompile with -Xlint:unchecked for details."}],"contextualLabel":"Recompile with -Xlint:unchecked for details.","problemId":[{"name":"java","displayName":"Java compilation"},{"name":"compilation","displayName":"Compilation"},{"name":"compiler.note.unchecked.recompile","displayName":"Recompile with -Xlint:unchecked for details."}]}],"problemsReport":{"totalProblemCount":5,"buildName":"kamco-label-send-job","requestedTasks":"clean build","documentationLink":"https://docs.gradle.org/8.14/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}} // end-report-data );} diff --git a/gukyuin/label-send/build/tmp/compileJava/previous-compilation-data.bin b/gukyuin/label-send/build/tmp/compileJava/previous-compilation-data.bin index afea38fc4198cac062e3552a084472d2fd4c388c..e93cb0e4e87ad3365af24c3c220798b2c062d0fb 100644 GIT binary patch delta 103 zcmV-t0GR)c!V8VU3$S+#5cww2-+ZCfR85T$v%}9Lv6F`k(hzv|Y+!^c$GN+~9y*4H z7MHVW4TS;_Tm}*hOJK@h9nPo!-1^~+v;GgJA`gE60004s1iJ$O0004k1%tCPhqE#P Jx3e+=TCR?ID_sBp delta 103 zcmV-t0GR)c!V8VU3$S+#5W#ebziiX4Am$CmS@4m6nUjYM(h!x`ibUf0F?dGdL-oRa zX9}}v4TS;_%7;vG3MMHndE5K0{Q-c*v;GgJA`iO*00001f(3s70004s1cS3OhqE#P Jx3e+=TCU2#EBgQd diff --git a/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java b/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java index e4e656d..d5b5c22 100644 --- a/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java +++ b/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java @@ -25,46 +25,105 @@ public class ExternalHttpClient { public ExternalCallResult call( String url, HttpMethod method, Object body, HttpHeaders headers, Class responseType) { + long start = System.currentTimeMillis(); + + log.info("[API-REQ] method={}, url={}", method, url); + // responseType 기반으로 Accept 동적 세팅 HttpHeaders resolvedHeaders = resolveHeaders(headers, responseType); + + log.debug("[API-REQ] headers={}", resolvedHeaders); logRequestBody(body); HttpEntity entity = new HttpEntity<>(body, resolvedHeaders); try { + // String: raw bytes -> UTF-8 string if (responseType == String.class) { + ResponseEntity res = restTemplate.exchange(url, method, entity, byte[].class); + String raw = (res.getBody() == null) ? null : new String(res.getBody(), StandardCharsets.UTF_8); + long elapsed = System.currentTimeMillis() - start; + + log.info( + "[API-RES] method={}, url={}, status={}, elapsed={}ms", + method, + url, + res.getStatusCodeValue(), + elapsed); + + log.debug("[API-RES] body={}", raw); + @SuppressWarnings("unchecked") T casted = (T) raw; + return new ExternalCallResult<>(res.getStatusCodeValue(), true, casted, null); } // byte[]: raw bytes로 받고, JSON이면 에러로 처리 if (responseType == byte[].class) { + ResponseEntity res = restTemplate.exchange(url, method, entity, byte[].class); + long elapsed = System.currentTimeMillis() - start; + + log.info( + "[API-RES] method={}, url={}, status={}, elapsed={}ms", + method, + url, + res.getStatusCodeValue(), + elapsed); + MediaType ct = res.getHeaders().getContentType(); byte[] bytes = res.getBody(); if (isJsonLike(ct)) { + String err = (bytes == null) ? null : new String(bytes, StandardCharsets.UTF_8); + + log.warn("[API-RES] JSON error body={}", err); + return new ExternalCallResult<>(res.getStatusCodeValue(), false, null, err); } @SuppressWarnings("unchecked") T casted = (T) bytes; + return new ExternalCallResult<>(res.getStatusCodeValue(), true, casted, null); } // DTO 등: 일반 역직렬화 ResponseEntity res = restTemplate.exchange(url, method, entity, responseType); + + long elapsed = System.currentTimeMillis() - start; + + log.info( + "[API-RES] method={}, url={}, status={}, elapsed={}ms", + method, + url, + res.getStatusCodeValue(), + elapsed); + + log.debug("[API-RES] body={}", res.getBody()); + return new ExternalCallResult<>(res.getStatusCodeValue(), true, res.getBody(), null); } catch (HttpStatusCodeException e) { + + long elapsed = System.currentTimeMillis() - start; + + log.error( + "[API-ERROR] method={}, url={}, status={}, elapsed={}ms, body={}", + method, + url, + e.getStatusCode().value(), + elapsed, + e.getResponseBodyAsString()); + return new ExternalCallResult<>( e.getStatusCode().value(), false, null, e.getResponseBodyAsString()); } diff --git a/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiLabelJobService.java b/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiLabelJobService.java index db75a3f..ab7f23d 100644 --- a/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiLabelJobService.java +++ b/gukyuin/label-send/src/main/java/com/kamco/cd/kamcoback/service/GukYuinApiLabelJobService.java @@ -28,29 +28,110 @@ public class GukYuinApiLabelJobService { /** 어제 라벨링 검수 완료된 것 -> 국유인에 전송 */ public void findLabelingCompleteSend(LocalDate baseDate) { - log.info("[Step 1-1] 어제 검수완료된 라벨링을 검색한다."); - log.info("=== baseDate : {}", baseDate); - log.info("=== baseDate 있으면 해당 일자, 없으면 어제일자로 조회"); + long jobStart = System.currentTimeMillis(); + + log.info("[JOB-START] Labeling Send Job start profile={}, baseDate={}", profile, baseDate); + log.info("[Step 1-1] 어제 검수완료된 라벨링 조회 시작"); + + log.info("baseDate: {}", baseDate); + log.info("baseDate가 없으면 오늘 00시 이전까지 검수완료된 건들을 조회한다."); + log.info("baseDate가 있으면 baseDate 까지 검수완료된 건들을 조회한다."); List list = gukYuinLabelJobCoreService.findYesterdayLabelingCompleteList(baseDate); - log.info("[Step 1-2] 검수완료된 폴리곤 객체 수 : {}", list == null ? 0 : list.size()); - if (list.isEmpty()) { - log.info("[Step 1-3] 객체 없어서 return : 스케줄링 종료"); + + int total = list == null ? 0 : list.size(); + + log.info("[Step 1-2] 검수완료된 폴리곤 객체 수={}", total); + + if (list == null || list.isEmpty()) { + log.info("[Step 1-3] 처리 대상 없음 → 스케줄 종료"); + log.info("[JOB-END] total=0 elapsed={}ms", System.currentTimeMillis() - jobStart); return; } + int success = 0; + int fail = 0; + int skip = 0; + log.info("[Step 2-1] 객체 목록으로 라벨링 전송 API 호출 시작"); + + int index = 0; + for (GeomUidDto gto : list) { - log.info("[Step 2-2] 객체ID 확인 gto.getResultUid(): {}", gto.getResultUid()); - ChngDetectContDto.ResultLabelDto dto = - gukYuinApiService.updateChnDtctObjtLabelingYn(gto.getResultUid(), "Y", "Y"); - log.info("[Step 2-3] 결과 dto.getSuccess(): {}", dto.getSuccess()); - if (dto.getSuccess()) { - log.info("[Step 2-4] 결과가 성공일 때 inference_geom에 label_send_dttm 업데이트 하기"); - log.info("==== 업데이트 하는 객체 gto.getGeoUid(): {}", gto.getGeoUid()); - // inference_geom 에 label_send_dttm 업데이트 하기 - gukYuinLabelJobCoreService.updateAnalDataInferenceGeomSendDttm(gto.getGeoUid()); + + index++; + long itemStart = System.currentTimeMillis(); + + try { + + log.info( + "[Step 2-2] 처리 시작 {}/{} resultUid={}, geoUid={}", + index, + total, + gto.getResultUid(), + gto.getGeoUid()); + + long apiStart = System.currentTimeMillis(); + + ChngDetectContDto.ResultLabelDto dto = + gukYuinApiService.updateChnDtctObjtLabelingYn(gto.getResultUid(), "Y", "Y"); + + long apiElapsed = System.currentTimeMillis() - apiStart; + + if (dto == null) { + log.warn("[Step 2-3] API 결과 NULL resultUid={}", gto.getResultUid()); + skip++; + continue; + } + + log.info( + "[Step 2-3] API 결과 success={}, elapsed={}ms resultUid={}", + dto.getSuccess(), + apiElapsed, + gto.getResultUid()); + + log.debug("[Step 2-3] API result DTO={}", dto); + + if (dto.getSuccess()) { + + log.info( + "[Step 2-4] 성공 → inference_geom label_send_dttm 업데이트 geoUid={}", gto.getGeoUid()); + + gukYuinLabelJobCoreService.updateAnalDataInferenceGeomSendDttm(gto.getGeoUid()); + + success++; + + } else { + + log.warn("[Step 2-4] API 성공 false → DB 업데이트 skip resultUid={}", gto.getResultUid()); + + skip++; + } + + log.info( + "[ITEM-END] resultUid={} elapsed={}ms", + gto.getResultUid(), + System.currentTimeMillis() - itemStart); + + } catch (Exception e) { + + fail++; + + log.error( + "[ITEM-ERROR] resultUid={} geoUid={} elapsed={}ms", + gto.getResultUid(), + gto.getGeoUid(), + System.currentTimeMillis() - itemStart, + e); } } + + log.info( + "[JOB-END] total={}, success={}, skip={}, fail={}, elapsed={}ms", + total, + success, + skip, + fail, + System.currentTimeMillis() - jobStart); } }