陶杰
2025-01-08 ae1471f378f399f76518539ec8992e64a3673436
src/main/java/com/mzl/flower/web/login/PartnerLoginController.java
@@ -11,7 +11,9 @@
import com.mzl.flower.config.security.token.PhoneAuthenticationToken;
import com.mzl.flower.constant.Constants;
import com.mzl.flower.dto.request.UserLoginDTO;
import com.mzl.flower.dto.response.partner.PartnerDTO;
import com.mzl.flower.entity.system.User;
import com.mzl.flower.mapper.partner.PartnerMapper;
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,7 +62,8 @@
    @Autowired
    private TokenStore tokenStore;
    @Autowired
    private PartnerMapper partnerMapper;
    public static final String SMS_CODE_KEY = "SMS-CODE-KEY";
    public static final String TOKEN_KEY = "TOKEN-KEY";
@@ -82,10 +86,17 @@
        if(user == null){
            throw new ValidationException("用户不存在");
        }
        PartnerDTO partnerDTO = partnerMapper.getCurrentPartner(user.getId());
        if (ObjectUtils.isEmpty(partnerDTO)) {
            throw new ValidationException("用户不存在");
        }
        if (partnerDTO.getIsEnabled() == false) {
            throw new ValidationException("用户已禁用,请联系管理员");
        }
        String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
        if (StringUtils.isNotBlank(tokenCache))  {
            //强制删除token,下线
            removeToken(tokenCache,user.getId());
//            removeToken(tokenCache,user.getId());
        }
        try {
            PartnerAuthenticationToken authRequest = new PartnerAuthenticationToken(username, password);
@@ -125,10 +136,17 @@
        if(user == null){
            throw new ValidationException("用户不存在");
        }
        PartnerDTO partnerDTO = partnerMapper.getCurrentPartner(user.getId());
        if (ObjectUtils.isEmpty(partnerDTO)) {
            throw new ValidationException("用户不存在");
        }
        if (partnerDTO.getIsEnabled() == false) {
            throw new ValidationException("用户已禁用,请联系管理员");
        }
        String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
        if (StringUtils.isNotBlank(tokenCache))  {
            //强制删除token,下线
            removeToken(tokenCache,user.getId());
//            removeToken(tokenCache,user.getId());
        }
        try {
            PhoneAuthenticationToken authRequest = new PhoneAuthenticationToken(tel, smsCode, Constants.USER_TYPE.partner.name());