From 4322e46e3ae262b3a78679be4dc3677ff9fb4770 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Wed, 11 Mar 2026 22:26:01 +0900 Subject: [PATCH] =?UTF-8?q?status-update=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 2316388 -> 2316388 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.14/fileHashes/fileHashes.bin | Bin 196101 -> 196101 bytes .../.gradle/8.14/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.14/fileHashes/resourceHashesCache.bin | Bin 23393 -> 23597 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../status-update/.gradle/file-system.probe | Bin 8 -> 8 bytes ...xternalHttpClient$ExternalCallResult.class | Bin 2634 -> 2634 bytes .../resttemplate/ExternalHttpClient.class | Bin 6404 -> 7677 bytes .../GukYuinPnuCntUpdateJobCoreService.class | Bin 1275 -> 1277 bytes ...kYuinPnuCntUpdateJobRepositoryCustom.class | Bin 384 -> 384 bytes ...GukYuinPnuCntUpdateJobRepositoryImpl.class | Bin 2833 -> 2834 bytes .../service/GukYuinApiStatusJobService.class | Bin 4518 -> 6937 bytes .../build/libs/status-update.jar | Bin 99464597 -> 99466456 bytes .../compileJava/previous-compilation-data.bin | Bin 189704 -> 189704 bytes .../resttemplate/ExternalHttpClient.java | 59 ++++++++++++ .../GukYuinPnuCntUpdateJobCoreService.java | 4 +- ...ukYuinPnuCntUpdateJobRepositoryCustom.java | 2 +- .../GukYuinPnuCntUpdateJobRepositoryImpl.java | 4 +- .../service/GukYuinApiStatusJobService.java | 90 ++++++++++++++++-- 20 files changed, 144 insertions(+), 15 deletions(-) diff --git a/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.bin b/gukyuin/status-update/.gradle/8.14/executionHistory/executionHistory.bin index 890a38b8607d13d03d9b0c1dce967afd56aba0f1..38e990261f2f57a8eaa9e6f7796a582f4a942b3b 100644 GIT binary patch delta 5432 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 delta 5323 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 t^>I>{`t(n?bEwZ5P1eyQ< literal 17 VcmZSHXuE%AO<_$L0~j#60{}G;1aSZW diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.bin b/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.bin index ed0eb6df4a5422dd116a0b874f70514b113cd02e..c336a95070f00221b41bd01758f5a35ffc90dba4 100644 GIT binary patch delta 2640 zcmai!c~DbV6vlZ^jR^=CaN_|@(mGX9k!W2iMU7IIx*#qnfE{M3IAdsn)snsHL zJN>HFDvs+omNM#4#s#TTtB5hRbw`?7(Q%Kq3IwEi_gwwA`6s`8=bZ1HocHd{Yx2o! z^2uE<9g*YbwXO;D3p;H6dbf<2SJGVLF2An-ZZ@wdJ-+in`+eDa#(Q~5+iJ9V1z!Bq zITSThr0CK#tCZ0OmL+oEE+<}ig>230>3ST|P3e zWIUDI?}Fu7s-JCph9SPk+8B|TPR?Erm~(!h;naP<#62NBMn}BJ&n`bZK;$G*jwTYl z7fAb&6DRdWk7aUSV?)%68S_V7sa&60^?ks(#brD{;PG?H4-7};sO z&PIhKhpRLn(qN(m%rJ#Z3s@|{9OhWVl}}mmP7W!|Nw5(5z7m%fBeoS8q@pmAXbCHx z%7dBANsz^?nOwDC$R6U%=U#3~Vq(5p6*EDx%GB3EBcFjVgeH32&%I z(03TBp^9xReVWoGQ4`Q^Z1VY}(2M(8ZZ$eL^3?@u529p2z_cDC$T#XEyP z&+h~gJw%HQZAOhoeqUYG53ps(;jKKxo@Mn>mBU!nmKq(wc0r}E3vxozQq&2{Frqum zKAr#hIwr+)c*Jbk3MTH7I;f6M;TAP66#qtl>^Yo*>QSg8pI2~Lh}=laBx**Hpa%AI zFE?*wrhN(wSu!_o!qDHz(v5UMuVM0`^4GAA;G}DXmMkI-%uTm?gO$l4o8S4sCnp&)-) z{HVS?(jzGv07EWmfru5<0bgFDXh)n7)Co@og}`*3q6%{yd9ad3WreHa8@{j_n8cnA4y|y@FvkGs1Y<4 z{VF-J1Di-WZTnM}t+Ck1~-=wC#?B1X_z*aV${ zIf&b7e}Q!*r7H5eC`rmK$M_rqzSU4=q<&DkevgzF;wATws{KdA#?_2Kp(_)U7~s#6dbLi7jG7- z>pVaIIZ1i*(XQNch3z#gt=O6{ylV9F^s>3~y}5LS=~CzlYu$`>L6Ulf=@!F$k9?QF z8OmqSrNImAXj+NYclQAQi{ z2|)KV{LA8&tI>NJ(MluS^jq*y`0qT-NyS^F5HVdFAADl?Mh^iA8w6)lYB`%*j$9F4oI| z>ibiTyY<{(6TS2vIJ#4o0mYLfrHiranhkZP1Cv7olB);y%34lCdY>wda?9N%&lKKvq`7&C z_azhwa-h12GzVG)U53<^H}P(PM9<16g&9&6qq}=SW#i3_!;ZC-erw-;WHt5h%~#jZ N=JD}sus6#C{sZ>6eVPCO delta 2573 zcmai!drVVz6vw$2#Ro5|&c_v3>O>HwrJ&9iVuwmpM9UnCs8}a)#wmm7f+AuUNSyEP zr};XkaVQgvajct;CE^GoX3-JWP3L2R7DYr5RuqS#WB2~f@BcMv`|0AMRM7~f25f{uxym0g3mSG4xM<)zi5EB-fMY9U4xgG zbo4@b@g^_+@;=OLn@Y+`*GdN@T>C_hN}AdHMg9#bDI`6+dUnv2gwH8|&l<}2YEi$9 z(dx%o^=;7J13oJ|A0C?)|M*$k`rwd&A4{mhTA>Ejm(N5*tdmNRmn=nLY?eBaZ^4a( zX2Y#Ro%vm3>i3UQoz;mhZtbD`eshqMCC~c*tb1AVQuUG}LQpBmMvY96rV>Rl{bDXf zGb_PZ=GwxQ@vQV~4rb;im;har#HGowdXvFaIHnOzW2GPPU=ni^EM~SGuB>3OCpe_D zOoDYNj3%oMaQ7mEG#FxtGEng;(N=f_IUr?F#V(vlCE9~JL5C3QLlr=#pl{)vL7J0E zMGD$|oPDE*y}Yn%?ZpxJQrBcEAtS%_94BZp`W3I(lT?Wef;N@gfl zpx?%?z_=Q**U8d`OhM@|_)>W~Y;i;z(X)*x3+7y+Em~^@xw&MO!4{P84w)>EU@LPH z?0|a;b;*Ng7FBP@{_RA$s1%fs?msCnM;%u|Y#v!}L)uN!?QjVC43+?@FF@uritdDd z2WdxO74#K$-=gSIToiN+?Sd}AaGRnhnd=N6zX(zcNheThC%aQ{3o6HmI~1)zMuMau z(4UT}3V9STNpK31VbgH~lMapWSL%Mo1@B^H15qOu3VH~;p!+Zn=XMbd zu+5>oJIuCPvx|5D&s!ulA?E?nO`H{U8}|gYLidoOPf)3lT{ArKq}4Oehup3X_Ms%X z;oC^`6fuI@ks-)~LO~s{29e!!*ymD3C$pz3s14%xfN3Oj!?|uUXm^8x^N;u+&-4yz z9;rW{|4ex%_*KYC@aEHTKI8L`)%`vF*na8i+WXoQUp;6uJ@I>WBX_toMmzdRFgKC! zWVlE28B9}QNG6&N-F%8J)Xr4F@nmXa#kj{5NJgPTl)@Z)`01pgQUs02)RWUnIF}HW zYc~$h+m1p(_2?Nv+7+0Ch%Q0@gs2f#LA#k@A1^%!OA6UFqhLF{A#+SF+9&h=T(MnALn?{~Pd^W%eq3q&-V zHs-5C*kze-EEJAW)Osvj%ZPr0yG3pI+huAv7pGfkruWdDOf&}(ONio-CTMoqch%w+ zoCm{b@`{ITIng|%z934#ULvCx%iFJQz$h^%fe&iixUsP}q;{gds9Z>-J~UQvkBA;v z^<0bimlb}*J^C@jW(DiIXlfViU9zHom9!uyE=K7%J2&@+uAs_KEaDa|LI*>&JP0+S z<_;RWxP5p$(eC7panIrxk+RTdIYsW8qHgn--bj7WiDs>4NCBhFT=v?{LGa(Eb-k3``#CShv-&q P3%#G7KZM#h@}&O&e*N5D diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.lock b/gukyuin/status-update/.gradle/8.14/fileHashes/fileHashes.lock index 6cae21c7f3bc50e97e561fcd72c4a757accdb3b8..97f50d6640ea144fdba1e8cfc20e4d6a01cac7fb 100644 GIT binary patch literal 17 UcmZQB4$SvSV9iZt00W6f03)XZvH$=8 literal 17 UcmZQB4$SvSV9iZt00S`x03!hd4gdfE diff --git a/gukyuin/status-update/.gradle/8.14/fileHashes/resourceHashesCache.bin b/gukyuin/status-update/.gradle/8.14/fileHashes/resourceHashesCache.bin index e0b3c4d860ceb239d37491e6f52ce2c8fed629e1..78842ee2be700af6bdbdebe3c4c2a5842bc41ea7 100644 GIT binary patch delta 367 zcmaF3jdAS`#tkMCjMFxoN@TL|8#SLjrd7zr00z;Co2SYYFbaHn!*fY=FVkPBX!GR1 zvK9irzO0cw>(ZDE6+Av!SFS-ol<{Ijd5ztEsNmAgOXYz2b)Omf_Q;pNhKR;+Z{}54 z!6e}SD(%H@J+~K7wJ$fXRT5%m;#1tH_(Oc7!4J;Ojvfla^~OMHNgx&kVSyKyw92bD zUA}L}`0L_|<;*fbK{-?vweeqHI?Z`IiT~7fpDXe#i!fF2q&=HeF-O|>F^8GYQ%QD1 zOcfvJvD}zE*Q{SWdA{%IkZeI0OeH^*ISX`!#BR5$zP{i0O~JhcmMzZ delta 60 zcmV-C0K@;SxB=m|0kAX}0g$sb7-k-? diff --git a/gukyuin/status-update/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient$ExternalCallResult.class b/gukyuin/status-update/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/status-update/build/classes/java/main/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.class b/gukyuin/status-update/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 345 zcmZXOJyHTe6okK-g~b^LECm%@e-?!V%}h)UO-#Inm*5Q6=H7wQ1OpFXl_#>a>^Br7 zCiA+x-h8ir!gq+DzwaNw9kXQ&u2ni7pYQ8t$KNzhZW_Dv86<`ryuP@(Zy(}0YQBnU zG19L-h29=5slYB{Iop89F_osNE(ynpblb@wvqxzl>03ExYx6fcD|(KloX7AnqXt3` zGukj4^a4(0N=0Xy&MK;nAs;lYS2E<)^@{!CA9SQ5;|#6WyW75rbLxC3F_H4QdGLx+ SusK_;?|Lp2c`mnYrtk;Gn;Cxq 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 e691f1892969e1758f3a40c810d9354e1de75874..e5a6f5f9ef57f5de7ebd46dad80281b4048b456c 100644 GIT binary patch delta 11 ScmZo*ZeX6Ug3)v0%Ig3ZCIp%Q delta 11 ScmZo*ZeX6Uf-!93%Ig3ZS_G#6 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 ac376a8a13614b7ff10b89378901f43da0048879..2087f3d88364ae55ca75a4c207c8af48bc3baf3f 100644 GIT binary patch delta 293 zcmYL@&q@MO7{z~cCmQDxjk*|G3c4@_mqi;PaG??uj-{4bS??1yui++&7A|}MU!(UB z&s>M%!gtTV@7((yf5djPU9EvjUO#O&IPmMIy|0_#+>8czByu_!9XKj`SB-D{<`3ag z+%VL%&O5=U#;tg~&vM5|%qL{bL`@#|JjhGZ->~lu)0VBavwTGvxXAMvI&=99O@$0I z`Js`F1XR>xuB9Y>vz0~mg+pm@?4IA(MSpb>CCbi^2q^s5l_*Lm@|YJq={7vOx!^ii GUtk9w+#bOI delta 293 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 delta 1686 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 Pp>Y7s4LwS$vE=+e`Irf9 delta 29983 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 X4}srOA6Y8@SDYhAe{7i*xGvYfS4rZ~ 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 1cf55a68fed826d8931af219bf65e6bb183e8b33..e158473d0b2f71189c7539e7b184a6b4c8761e65 100644 GIT binary patch delta 194 zcmeA;#ocj=d&5^ofo1Xq2WLe)o%Sd$+?m4kJY_R0Q#7kU#kZV<7OmqucOR6qYHJsp zzPW(?F{3~Xn-Gt8!l`)KbIbqV`Sq}8b26tGx4@svZ2Zf4S7uBo4L*5vrTOW}og$|N z{>ayHK6|Iv;P!96%K?Fmy_-`+r!ooboay$OKbv=&=db$H_w(4|AWO>F*oxVxAPb?Zs##(`m+%LTaQW( delta 194 zcmeA;#ocj=d&5^ofzp-EY&tD-?|!hE+s}9^{lR8drf61ysn@$)9{n(^aC_+d^-yg( z*X9ED$BY7}+IDxzSYjQQlHj()?O8CJ 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/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 9988dd4..73b4110 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 @@ -15,8 +15,8 @@ public class GukYuinPnuCntUpdateJobCoreService { } @Transactional - public void updateGukYuinContListPnuUpdateCnt() { - gukYuinPnuCntUpdateRepository.updateGukYuinContListPnuUpdateCnt(); + public int updateGukYuinContListPnuUpdateCnt() { + return gukYuinPnuCntUpdateRepository.updateGukYuinContListPnuUpdateCnt(); } @Transactional 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 b4e7e1d..0940243 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 @@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.postgres.repository.gukyuin; public interface GukYuinPnuCntUpdateJobRepositoryCustom { - void updateGukYuinContListPnuUpdateCnt(); + int updateGukYuinContListPnuUpdateCnt(); void updateGukYuinApplyStatus(String uid, String status); } 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 b54a059..d87629d 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 @@ -20,7 +20,7 @@ public class GukYuinPnuCntUpdateJobRepositoryImpl @PersistenceContext private EntityManager em; @Override - public void updateGukYuinContListPnuUpdateCnt() { + public int updateGukYuinContListPnuUpdateCnt() { String sql = """ update tb_map_sheet_anal_data_inference_geom p @@ -33,7 +33,7 @@ public class GukYuinPnuCntUpdateJobRepositoryImpl where p.geo_uid = c_count.geo_uid and p.pnu != c_count.actual_count; """; - jdbcTemplate.update(sql); + return jdbcTemplate.update(sql); } @Override 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 9548a51..79a538f 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 @@ -23,11 +23,6 @@ public class GukYuinApiStatusJobService { @Value("${spring.profiles.active}") private String profile; - /** - * 실행중인 profile - * - * @return - */ private boolean isLocalProfile() { return "local".equalsIgnoreCase(profile); } @@ -35,34 +30,109 @@ public class GukYuinApiStatusJobService { /** 매일 00시에 pnu cnt 업데이트 */ public void findGukYuinPnuCntUpdate() { + long jobStart = System.currentTimeMillis(); + log.info("[JOB-START] GukYuin PNU CNT Update Job start profile={}", profile); + + log.info("추론 learn 테이블의 apply_status = IN_PROGRESS 인 회차 조회"); + log.info("국유인 연동 시작 상태 : IN_PROGRESS 로 업데이트 된다."); + log.info("국유인에서 shp 파일 모두 다운로드 되는지 확인 후 100%가 되면 PNU_COMPLETED 로 업데이트 한다."); List list = gukYuinJobCoreService.findGukyuinApplyStatusUidList( List.of(GukYuinStatus.IN_PROGRESS.getId())); - if (list.isEmpty()) { + + int total = list == null ? 0 : list.size(); + + log.info("[Step 1] 대상 추론 회차 UID 갯수 count={}", total); + + if (list == null || list.isEmpty()) { + log.info("[JOB-END] 처리 대상 없음"); return; } + int success = 0; + int skip = 0; + int fail = 0; + for (LearnKeyDto dto : list) { + + long itemStart = System.currentTimeMillis(); + try { + log.info("[Step 2] 처리 시작 uid={}, chnDtctMstId={}", dto.getUid(), dto.getChnDtctMstId()); + + log.info("[Step 3] 국유인 API 호출 시작 uid={}", dto.getUid()); + ChngDetectMastDto.ResultDto result = gukYuinApiService.listChnDtctId(dto.getUid(), "Y"); - if (result == null || result.getResult() == null || result.getResult().isEmpty()) { - log.warn("[GUKYUIN] empty result chnDtctMstId={}", dto.getChnDtctMstId()); + if (result == null) { + log.warn("[Step 3] API result NULL uid={}", dto.getUid()); + skip++; continue; } + if (result.getResult() == null || result.getResult().isEmpty()) { + log.warn("[Step 3] API result empty chnDtctMstId={}", dto.getChnDtctMstId()); + skip++; + continue; + } + + log.info("[Step 3] API result size={}", result.getResult().size()); + ChngDetectMastDto.Basic basic = result.getResult().getFirst(); + log.debug("[Step 4] API first result={}", basic); + Integer progress = basic.getExcnPgrt() == null ? null : Integer.parseInt(basic.getExcnPgrt().trim()); + + log.info("[Step 4] 실행 진행률 progress={}", progress); + if (progress != null && progress == 100) { - gukYuinPnuCntUpdateJobCoreService.updateGukYuinContListPnuUpdateCnt(); + 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(); + + log.info("[Step 5] PNU CNT update 완료 updatedRows={}", updateCnt); + log.info( + "[Step 6] 추론 learn 테이블 apply_status={} 로 업데이트", GukYuinStatus.PNU_COMPLETED.getId()); gukYuinPnuCntUpdateJobCoreService.updateGukYuinApplyStatus( dto.getUid(), GukYuinStatus.PNU_COMPLETED.getId()); + + log.info( + "[Step 6] apply_status 변경 완료 uid={}, status={}", + dto.getUid(), + GukYuinStatus.PNU_COMPLETED.getId()); + + success++; + + } else { + log.info("[Step 5] progress != 100 skip uid={}, progress={}", dto.getUid(), progress); + skip++; } + + log.info( + "[ITEM-END] uid={} elapsed={}ms", dto.getUid(), System.currentTimeMillis() - itemStart); + } catch (Exception e) { - log.error("[GUKYUIN] failed uid={}", dto.getChnDtctMstId(), e); + + fail++; + + log.error( + "[ITEM-ERROR] uid={} elapsed={}ms", + dto.getChnDtctMstId(), + System.currentTimeMillis() - itemStart, + e); } } + + log.info( + "[JOB-END] total={}, success={}, skip={}, fail={}, elapsed={}ms", + total, + success, + skip, + fail, + System.currentTimeMillis() - jobStart); } }