판매점 가격 정보 개선

This commit is contained in:
rjy1537 2026-01-26 17:32:57 +09:00
parent 04d0b618a3
commit 132cfa6d0a
3 changed files with 50 additions and 30 deletions

View File

@ -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;
/**
* 판매점의 정가가격 삭제

View File

@ -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<StoreRequest> 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);
}
}

View File

@ -257,10 +257,10 @@
);
</insert>
<select id="getStorePricePattern" parameterType="com.interplug.qcast.biz.user.dto.StoreRequest" resultType="String">
/* sqlid : com.interplug.qcast.user.getStorePricePattern */
<select id="getStoreLevel" parameterType="com.interplug.qcast.biz.user.dto.StoreRequest" resultType="String">
/* sqlid : com.interplug.qcast.user.getStoreLevel */
SELECT
PRICE_PATTERN
SALE_STORE_LEVEL
FROM M_SALES_STORE
WHERE
SALE_STORE_ID = #{saleStoreId}