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}