diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index 88c7b93b8..b41d60fd6 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -342,4 +342,10 @@ public class ShopInfoDAO { public Integer getNumByShopCode(String shopCode){ return shopInfoMapper.getNumByShopCode(shopCode); } + + public List getShopListByShopCode(String shopCode){ + Example example = new Example(ShopInfoDO.class); + example.createCriteria().andEqualTo("shopCode", shopCode); + return shopInfoMapper.selectByExample(example); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java index bc13046c1..4a0a15c44 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -134,4 +134,10 @@ public interface ShopService { List getSubStageHandle(Long shopId,Integer subStage); ShopStageInfoVO getShopStageStatus(Long shopId, Integer subStage); + /** + * @Auther: wangshuo + * @Date: 2025/8/4 + * @description: 校验门店编码重复 + */ + Boolean checkShopCodeRepeat(String shopCode,Long shopId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java index 0fcac4fcd..73d8e362d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java @@ -37,6 +37,8 @@ import static com.cool.store.enums.point.ShopSubStageStatusEnum.*; @Service public class OrderSysInfoServiceImpl implements OrderSysInfoService { + @Resource + private ShopService shopService; @Resource private HqtAPIService hqtAPIService; @Resource @@ -132,6 +134,10 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService { } } if (request.getType().equals(OrderSysTypeEnum.ORDER_SYS_TYPE_2.getType())) { + //检验门店编码是否重复 + if(shopService.checkShopCodeRepeat(request.getShopCode(), request.getShopId())){ + throw new ServiceException(ErrorCodeEnum.SHOP_CODE_EXIST); + } shopInfoDAO.updateShopCode(request.getShopCode(), request.getShopId()); orderSysInfoDO.setReceivingFirmName(request.getReceivingFirmName()); orderSysInfoDO.setReceivingMsBankAccount(request.getReceivingMsBankAccount()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index fd8a16a13..77ba672a5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java @@ -308,6 +308,10 @@ public class ShopServiceImpl implements ShopService { @Override public Integer updateShopCode(UpdateShopCodeRequest request, String userId) { + //检验门店编码是否重复 + if(this.checkShopCodeRepeat(request.getShopCode(), request.getShopId())){ + throw new ServiceException(ErrorCodeEnum.SHOP_CODE_EXIST); + } ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); if (Objects.isNull(shopInfo)) { throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST); @@ -429,6 +433,10 @@ public class ShopServiceImpl implements ShopService { @Override public Integer updateBranchShopDetail(BranchShopDetailRequest request, String userId) { + //检验门店编码是否重复 + if(this.checkShopCodeRepeat(request.getShopCode(), request.getShopId())){ + throw new ServiceException(ErrorCodeEnum.SHOP_CODE_EXIST); + } ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId()); shopInfo.setUpdateUserId(userId); shopInfo.setUpdateTime(new Date()); @@ -893,6 +901,22 @@ public class ShopServiceImpl implements ShopService { return null; } + @Override + public Boolean checkShopCodeRepeat(String shopCode, Long shopId) { + //false 未重复, true 重复 + List shopListByShopCode = shopInfoDAO.getShopListByShopCode(shopCode); + if (CollectionUtils.isEmpty(shopListByShopCode)){ + return false; + } + if (CollectionUtils.isNotEmpty(shopListByShopCode)&&shopId ==null){ + return true; + } + if (shopListByShopCode.size() == 1 && shopListByShopCode.get(0).getId().equals(shopId)){ + return false; + } + return true; + } + /** * 获取招商经理信息 * @param