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}