gongzuming
2024-09-19 a768dc3daa04d35fedfbe75c0a59b9b2545b85c4
src/main/java/com/mzl/flower/web/login/SupplierLoginController.java
@@ -11,7 +11,9 @@
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.system.User;
import com.mzl.flower.mapper.supplier.SupplierMapper;
import com.mzl.flower.service.login.LoginService;
import com.mzl.flower.service.system.UserService;
import io.swagger.annotations.Api;
@@ -29,6 +31,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 +62,9 @@
    @Autowired
    private TokenStore tokenStore;
    @Autowired
    private SupplierMapper supplierMapper;
    public static final String SMS_CODE_KEY = "SMS-CODE-KEY";
    public static final String TOKEN_KEY = "TOKEN-KEY";
@@ -80,6 +86,10 @@
        User user = userService.findByTel(username, Constants.USER_TYPE.supplier.name());
        if(user == null){
            throw new ValidationException("用户不存在");
        }
        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))  {
@@ -124,6 +134,13 @@
        if(user == null){
            throw new ValidationException("用户不存在");
        }
        SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(user.getId());
        if (ObjectUtils.isEmpty(supplierDTO)) {
            throw new ValidationException("用户不存在");
        }
        if (supplierDTO.getIsEnabled() == false) {
            throw new ValidationException("用户已禁用,请联系管理员");
        }
        String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
        if (StringUtils.isNotBlank(tokenCache))  {
            //强制删除token,下线