From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期三, 08 一月 2025 15:26:06 +0800 Subject: [PATCH] 1.订单提交:订单最小金额配置 --- src/main/java/com/mzl/flower/web/login/SupplierLoginController.java | 64 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java b/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java index 0147a61..e48d848 100644 --- a/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java +++ b/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java @@ -5,13 +5,18 @@ import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.base.cache.StringCacheClient; +import com.mzl.flower.config.GlobalSupplierVariables; import com.mzl.flower.config.exception.BaseException; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.token.PhoneAuthenticationToken; import com.mzl.flower.config.security.token.SupAuthenticationToken; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.UserLoginDTO; +import com.mzl.flower.dto.response.supplier.SupplierDTO; +import com.mzl.flower.entity.supplier.SupplierSub; import com.mzl.flower.entity.system.User; +import com.mzl.flower.mapper.supplier.SupplierMapper; +import com.mzl.flower.mapper.supplier.SupplierSubMapper; import com.mzl.flower.service.login.LoginService; import com.mzl.flower.service.system.UserService; import io.swagger.annotations.Api; @@ -29,6 +34,7 @@ import org.springframework.security.oauth2.common.OAuth2RefreshToken; import org.springframework.security.oauth2.provider.token.TokenStore; import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -59,6 +65,17 @@ @Autowired private TokenStore tokenStore; + @Autowired + private SupplierMapper supplierMapper; + + @Autowired + private SupplierSubMapper supplierSubMapper; + + @Autowired + private GlobalSupplierVariables globalSupplierVariables; + + + public static final String SMS_CODE_KEY = "SMS-CODE-KEY"; public static final String TOKEN_KEY = "TOKEN-KEY"; @@ -80,6 +97,31 @@ User user = userService.findByTel(username, Constants.USER_TYPE.supplier.name()); if(user == null){ throw new ValidationException("用户不存在"); + } + // 子账号校验:1.不存在->放行。 + // 2.存在->校验是否已经禁用。 + // 3.存在且未禁用->校验父级账号是否禁用。 + // 4.父级禁用->提示 + // 5.父级未禁用->保存子账号token并返回 + SupplierSub supplierSub = supplierSubMapper.getCurrentSupplier(user.getId()); + if (supplierSub != null) { + if (supplierSub.getIsEnabled() == false) { + throw new ValidationException("子账号已禁用"); + }else{ + //这里拿父级供应商ID查询用户ID再校验 + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(String.valueOf( supplierSub.getSupplierId())); + if (supplierDTO != null && supplierDTO.getIsEnabled() == false) { + throw new ValidationException("账号用户已禁用,请联系管理员"); + } + } + }else { + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(user.getId()); + if (!ObjectUtils.isEmpty(supplierDTO)) { + globalSupplierVariables.removeSupplier(String.valueOf(supplierDTO.getId())); + } + if (supplierDTO != null && supplierDTO.getIsEnabled() == false) { + throw new ValidationException("用户已禁用,请联系管理员"); + } } String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId()); if (StringUtils.isNotBlank(tokenCache)) { @@ -124,6 +166,28 @@ if(user == null){ throw new ValidationException("用户不存在"); } + // 子账号校验:1.不存在->放行。 + // 2.存在->校验是否已经禁用。 + // 3.存在且未禁用->校验父级账号是否禁用。 + // 4.父级禁用->提示 + // 5.父级未禁用->保存子账号token并返回 + SupplierSub supplierSub = supplierSubMapper.getCurrentSupplier(user.getId()); + if (supplierSub != null) { + if (supplierSub.getIsEnabled() == false) { + throw new ValidationException("子账号已禁用,请联系父级账号"); + } else { + //这里拿父级供应商ID查询用户ID再校验 + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(String.valueOf(supplierSub.getSupplierId())); + if (supplierDTO != null && supplierDTO.getIsEnabled() == false) { + throw new ValidationException("父级账号用户已禁用,请联系管理员"); + } + } + } else { + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(user.getId()); + if (supplierDTO != null && supplierDTO.getIsEnabled() == false) { + throw new ValidationException("用户已禁用,请联系管理员"); + } + } String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId()); if (StringUtils.isNotBlank(tokenCache)) { //强制删除token,下线 -- Gitblit v1.9.3