From e8e10c48c0d2236a880c8c54dfaef551a7d52716 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Tue, 5 Aug 2025 17:05:19 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=A0=95=EB=A0=AC?= =?UTF-8?q?=EC=9E=90=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EB=B0=80=EB=A6=AC?= =?UTF-8?q?=EB=8A=94=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/itn/code/mapper/CodeDetailMapper.java | 4 ++++ .../code/server/impl/CodeDetailServiceImpl.java | 15 +++++++++++++-- src/main/resources/log4jdbc.log4j2.properties | 2 ++ .../mapper/itn/code/CodeDetailMapper.xml | 15 +++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/itn/admin/itn/code/mapper/CodeDetailMapper.java b/src/main/java/com/itn/admin/itn/code/mapper/CodeDetailMapper.java index cbc6957..3b091b8 100644 --- a/src/main/java/com/itn/admin/itn/code/mapper/CodeDetailMapper.java +++ b/src/main/java/com/itn/admin/itn/code/mapper/CodeDetailMapper.java @@ -11,4 +11,8 @@ public interface CodeDetailMapper { void insert(CodeDetailVO codeDetailVO); void update(CodeDetailVO codeDetailVO); void delete(String codeGroupId, String codeId); + + int countSortOrder(CodeDetailVO codeDetail); + + void pushBackSortOrder(CodeDetailVO codeDetail); } diff --git a/src/main/java/com/itn/admin/itn/code/server/impl/CodeDetailServiceImpl.java b/src/main/java/com/itn/admin/itn/code/server/impl/CodeDetailServiceImpl.java index 5ebbafd..801de6b 100644 --- a/src/main/java/com/itn/admin/itn/code/server/impl/CodeDetailServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/code/server/impl/CodeDetailServiceImpl.java @@ -71,11 +71,22 @@ public class CodeDetailServiceImpl implements CodeDetailService { log.warn("Failed to retrieve current user ID."); throw new IllegalStateException("Current user ID is not available"); } - log.info("Updating by user: [{}]", userId); +// log.info("Updating by user: [{}]", userId); + + + + // 우선순위가 있는지 확인 + int exists = codeDetailMapper.countSortOrder(codeDetail); + if (exists > 0) { + // 1. 이미 있으면 밀어주고 + codeDetailMapper.pushBackSortOrder(codeDetail); + } + + // 2. 그냥 insert (있든 없든 여기서 실행) codeDetail.setLastUpdusrId(userId); codeDetailMapper.update(codeDetail); - return new RestResponse(HttpStatus.OK, "등록되었습니다", codeDetail.getCodeName()); + return new RestResponse(HttpStatus.OK, "수정되었습니다", codeDetail.getCodeName()); } @Override diff --git a/src/main/resources/log4jdbc.log4j2.properties b/src/main/resources/log4jdbc.log4j2.properties index 97db892..518515f 100644 --- a/src/main/resources/log4jdbc.log4j2.properties +++ b/src/main/resources/log4jdbc.log4j2.properties @@ -1,3 +1,5 @@ log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator +log4jdbc.dump.sql.select=true +log4jdbc.log4j2.properties.resultsettable.level=info log4jdbc.dump.sql.maxlinelength=0 log4jdbc.dump.sql.addsemicolon=true \ No newline at end of file diff --git a/src/main/resources/mapper/itn/code/CodeDetailMapper.xml b/src/main/resources/mapper/itn/code/CodeDetailMapper.xml index 4c59c3a..341a5f6 100644 --- a/src/main/resources/mapper/itn/code/CodeDetailMapper.xml +++ b/src/main/resources/mapper/itn/code/CodeDetailMapper.xml @@ -35,6 +35,21 @@ and code_group_id = #{codeGroupId} + + + + + UPDATE common_code_detail + SET sort_order = sort_order + 1 + WHERE code_group_id = #{codeGroupId} + AND sort_order >= #{sortOrder} + + DELETE FROM common_code_detail WHERE code_id = #{codeId} AND code_group_id = #{codeGroupId}