|  |  |  | 
|---|
|  |  |  | import com.mzl.flower.constant.Constants; | 
|---|
|  |  |  | import com.mzl.flower.dto.request.CreateWechatUserDTO; | 
|---|
|  |  |  | import com.mzl.flower.dto.request.UserLoginDTO; | 
|---|
|  |  |  | import com.mzl.flower.dto.response.customer.CustomerDTO; | 
|---|
|  |  |  | import com.mzl.flower.entity.system.User; | 
|---|
|  |  |  | import com.mzl.flower.mapper.customer.CustomerMapper; | 
|---|
|  |  |  | import com.mzl.flower.service.customer.CustomerService; | 
|---|
|  |  |  | import com.mzl.flower.service.login.LoginService; | 
|---|
|  |  |  | import com.mzl.flower.service.system.UserService; | 
|---|
|  |  |  | import com.mzl.flower.service.system.WeChatService; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.servlet.http.HttpServletRequest; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CustomerMapper customerMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | if(user == null){ | 
|---|
|  |  |  | throw new ValidationException("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(user.getId()); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(currentCustomer)) { | 
|---|
|  |  |  | throw new ValidationException("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (currentCustomer.getIsEnabled() == false) { | 
|---|
|  |  |  | throw new ValidationException("用户已禁用,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId()); | 
|---|
|  |  |  | if (StringUtils.isNotBlank(tokenCache))  { | 
|---|
|  |  |  | //强制删除token,下线 | 
|---|
|  |  |  | 
|---|
|  |  |  | if(user == null){ | 
|---|
|  |  |  | throw new ValidationException("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(user.getId()); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(currentCustomer)) { | 
|---|
|  |  |  | throw new ValidationException("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (currentCustomer.getIsEnabled() == false) { | 
|---|
|  |  |  | throw new ValidationException("用户已禁用,请联系管理员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId()); | 
|---|
|  |  |  | if (StringUtils.isNotBlank(tokenCache))  { | 
|---|
|  |  |  | //强制删除token,下线 | 
|---|