diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 2fb2ac045..543021484 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -114,6 +114,7 @@ public enum ErrorCode{ MERCHANT_HASRENTCONTRACT(2017,"该商户存在计租中合同"), MERCHANT_CODE_IS_FOUND(2018, "商户编码已存在"), MERCHANT_BRAND_IS_FOUND(2019, "品牌商户已存在"), + MERCHANT_ADMIN_IS_FOUND(20020, "商管商户已存在"), /** * 券 diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index acdceeb66..9852c3151 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -31,6 +31,7 @@ public interface WxMerchantMapper extends CommonMapper { int hasMerchant(WxMerchant wxMerchant); int hasMerchantEncode(WxMerchant wxMerchant); int hasMerchantBrand(WxMerchant wxMerchant); + int hasMerchantIsAdmin(WxMerchant wxMerchant); void updateCreditLocked(WxMerchant wxMerchant); diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index c0a3af2e9..e38ab6ede 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -162,6 +162,7 @@ public interface WxMerchantService { boolean hasMerchant(WxMerchant wxMerchant); boolean hasMerchantEncode(WxMerchant wxMerchant); boolean hasMerchantBrand(WxMerchant wxMerchant); + boolean hasMerchantIsAdmin(WxMerchant wxMerchant); WxMerchant getMerchantByEncode(String encode); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index b1d877536..b0e55daaa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -909,7 +909,12 @@ public class WxMerchantServiceImpl implements WxMerchantService { if (wxMerchant.getId() == null) { return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); } - if(!EnumMerchantAdmin.PUBLIC_ADMIN.getCode().equals(wxMerchant.getIsAdmin())){ + if(EnumMerchantAdmin.PUBLIC_ADMIN.getCode().equals(wxMerchant.getIsAdmin())){ + //检查商管商户 + if (hasMerchantIsAdmin(wxMerchant)) { + return new ResultData(ErrorCode.MERCHANT_ADMIN_IS_FOUND); + } + }else{ //删除关联的其他门店用户 wxMerchantBUserMapper.deleteOtherMerchant(wxMerchant.getTenantId(),wxMerchant.getId().toString()); } @@ -1045,6 +1050,12 @@ public class WxMerchantServiceImpl implements WxMerchantService { return false; } + @Override + public boolean hasMerchantIsAdmin(WxMerchant wxMerchant) { + wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); + return wxMerchantMapper.hasMerchantIsAdmin(wxMerchant) > 0 ? true : false; + } + @Override public WxMerchant getMerchantByEncode(String encode){ return wxMerchantMapper.getMerchantByEncode(encode); diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 3a99819ab..c224edefd 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -331,6 +331,16 @@ + + update wx_merchant set credit_locked = #{creditLocked} where tenant_id = #{tenantId}