From 132cfa6d0a8754d89b6c36ae664fb8bc37eb8102 Mon Sep 17 00:00:00 2001 From: rjy1537 Date: Mon, 26 Jan 2026 17:32:57 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=90=EB=A7=A4=EC=A0=90=20=EA=B0=80?= =?UTF-8?q?=EA=B2=A9=20=EC=A0=95=EB=B3=B4=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interplug/qcast/biz/user/UserMapper.java | 4 +- .../interplug/qcast/biz/user/UserService.java | 70 ++++++++++++------- .../resources/mappers/user/userMapper.xml | 6 +- 3 files changed, 50 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java index da8ae562..73011edc 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java @@ -55,13 +55,13 @@ public interface UserMapper { int setUserSave(UserRequest userReqList) throws Exception; /** - * 판매점 가격 패턴 조회 + * 판매점 레벨 조회 * * @param storeReq * @return * @throws Exception */ - String getStorePricePattern(StoreRequest storeReq) throws Exception; + String getStoreLevel(StoreRequest storeReq) throws Exception; /** * 판매점의 정가가격 삭제 diff --git a/src/main/java/com/interplug/qcast/biz/user/UserService.java b/src/main/java/com/interplug/qcast/biz/user/UserService.java index 514f8f4d..64df59c2 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserService.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserService.java @@ -28,20 +28,25 @@ public class UserService { * @throws Exception */ public int setStoreSave(StoreRequest storeReq) throws Exception { - String prevPricePattern = userMapper.getStorePricePattern(storeReq); // 등록된 가격 랭크 조회 - String pricePattern = - StringUtils.isEmpty(storeReq.getPricePattern()) ? "" : storeReq.getPricePattern(); + String prevSaleStoreLevel = userMapper.getStoreLevel(storeReq); // 등록된 판매점 레벨 + String saleStoreLevel = + StringUtils.isEmpty(storeReq.getSaleStoreLevel()) ? "" : storeReq.getSaleStoreLevel(); int resultCnt = userMapper.setStoreSave(storeReq); userMapper.setStoreInfoSave(storeReq); userMapper.setStoreSapCdSave(storeReq); userMapper.setStoreNorthModuleSave(storeReq); - // 가격 패턴이 이전에 등록된 가격 패턴과 다른경우 적용 - if (storeReq.getPricePattern() != null && !prevPricePattern.equals(pricePattern)) { - // 등록된 가격이 없는경우 정가 가격 삭제후 저장 - userMapper.deleteStoreUnitPrice(storeReq); - userMapper.setStoreUnitPrice(storeReq); + log.info("setStoreSave ==================> ", prevSaleStoreLevel + ", " + saleStoreLevel); + // 신규 판매점 이거나 1차판매점에서 하위판매점으로 변경된 경우 가격 등록 + if (prevSaleStoreLevel == null + || (!prevSaleStoreLevel.equals(saleStoreLevel) && "1".equals(prevSaleStoreLevel))) { + // 판매점에 등록된 가격 삭제 후 가격 패턴의 아이템 등록 + log.info("setStoreSave prevSaleStoreLevel =================> 시작"); + int deleteCnt = userMapper.deleteStoreUnitPrice(storeReq); + int priceCnt = userMapper.setStoreUnitPrice(storeReq); + log.info( + "setStoreSave prevSaleStoreLevel ==================> 종료" + deleteCnt + ", " + priceCnt); } return resultCnt; } @@ -82,22 +87,30 @@ public class UserService { // 판매점 동기화 for (StoreRequest storeRequest : storeList) { try { - String prevPricePattern = userMapper.getStorePricePattern(storeRequest); // 등록된 가격 랭크 조회 - String pricePattern = - StringUtils.isEmpty(storeRequest.getPricePattern()) + String prevSaleStoreLevel = userMapper.getStoreLevel(storeRequest); // 등록된 판매점 레벨 + String saleStoreLevel = + StringUtils.isEmpty(storeRequest.getSaleStoreLevel()) ? "" - : storeRequest.getPricePattern(); + : storeRequest.getSaleStoreLevel(); userMapper.setStoreSave(storeRequest); userMapper.setStoreInfoSave(storeRequest); userMapper.setStoreSapCdSave(storeRequest); userMapper.setStoreNorthModuleSave(storeRequest); - // 가격 패턴이 이전에 등록된 가격 패턴과 다른경우 적용 - if (storeRequest.getPricePattern() != null && !prevPricePattern.equals(pricePattern)) { - // 등록된 가격이 없는경우 정가 가격 삭제후 저장 - userMapper.deleteStoreUnitPrice(storeRequest); - userMapper.setStoreUnitPrice(storeRequest); + log.info("setStoreSave ==================> ", prevSaleStoreLevel + ", " + saleStoreLevel); + // 신규 판매점 이거나 1차판매점에서 하위판매점으로 변경된 경우 가격 등록 + if (prevSaleStoreLevel == null + || (!prevSaleStoreLevel.equals(saleStoreLevel) && "1".equals(prevSaleStoreLevel))) { + // 판매점에 등록된 가격 삭제 후 가격 패턴의 아이템 등록 + log.info("setStoreSave prevSaleStoreLevel =================> 시작"); + int deleteCnt = userMapper.deleteStoreUnitPrice(storeRequest); + int priceCnt = userMapper.setStoreUnitPrice(storeRequest); + log.info( + "setStoreSave prevSaleStoreLevel ==================> 종료" + + deleteCnt + + ", " + + priceCnt); } } catch (Exception e) { log.error(e.getMessage()); @@ -167,20 +180,27 @@ public class UserService { List storeList = storeSyncResponse.getStoreList(); for (StoreRequest storeRequest : storeList) { - String prevPricePattern = userMapper.getStorePricePattern(storeRequest); // 등록된 가격 랭크 조회 - String pricePattern = - StringUtils.isEmpty(storeRequest.getPricePattern()) ? "" : storeRequest.getPricePattern(); + String prevSaleStoreLevel = userMapper.getStoreLevel(storeRequest); // 등록된 판매점 레벨 + String saleStoreLevel = + StringUtils.isEmpty(storeRequest.getSaleStoreLevel()) + ? "" + : storeRequest.getSaleStoreLevel(); userMapper.setStoreSave(storeRequest); userMapper.setStoreInfoSave(storeRequest); userMapper.setStoreSapCdSave(storeRequest); userMapper.setStoreNorthModuleSave(storeRequest); - // 가격 패턴이 이전에 등록된 가격 패턴과 다른경우 적용 - if (storeRequest.getPricePattern() != null && !prevPricePattern.equals(pricePattern)) { - // 등록된 가격이 없는경우 정가 가격 삭제후 저장 - userMapper.deleteStoreUnitPrice(storeRequest); - userMapper.setStoreUnitPrice(storeRequest); + log.info("setStoreSave ==================> ", prevSaleStoreLevel + ", " + saleStoreLevel); + // 신규 판매점 이거나 1차판매점에서 하위판매점으로 변경된 경우 가격 등록 + if (prevSaleStoreLevel == null + || (!prevSaleStoreLevel.equals(saleStoreLevel) && "1".equals(prevSaleStoreLevel))) { + // 판매점에 등록된 가격 삭제 후 가격 패턴의 아이템 등록 + log.info("setStoreSave prevSaleStoreLevel =================> 시작"); + int deleteCnt = userMapper.deleteStoreUnitPrice(storeRequest); + int priceCnt = userMapper.setStoreUnitPrice(storeRequest); + log.info( + "setStoreSave prevSaleStoreLevel ==================> 종료" + deleteCnt + ", " + priceCnt); } } diff --git a/src/main/resources/mappers/user/userMapper.xml b/src/main/resources/mappers/user/userMapper.xml index 136d287e..f338dc87 100644 --- a/src/main/resources/mappers/user/userMapper.xml +++ b/src/main/resources/mappers/user/userMapper.xml @@ -257,10 +257,10 @@ ); - + /* sqlid : com.interplug.qcast.user.getStoreLevel */ SELECT - PRICE_PATTERN + SALE_STORE_LEVEL FROM M_SALES_STORE WHERE SALE_STORE_ID = #{saleStoreId}