|
@@ -1,7 +1,6 @@
|
|
|
package com.ym.mec.auth.core.provider;
|
|
|
|
|
|
import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.security.authentication.BadCredentialsException;
|
|
@@ -17,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import com.ym.mec.auth.api.dto.SysUserInfo;
|
|
|
import com.ym.mec.auth.api.entity.LoginEntity;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
-import com.ym.mec.auth.api.entity.SysUserDevice;
|
|
|
import com.ym.mec.auth.config.token.PhoneAuthenticationToken;
|
|
|
import com.ym.mec.auth.service.SysUserDeviceService;
|
|
|
import com.ym.mec.auth.service.SysUserService;
|
|
@@ -72,28 +70,11 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
|
|
|
if (isRegister == false || StringUtils.equals("SYSTEM", clientId)) {
|
|
|
throw new LockedException("用户不存在");
|
|
|
}
|
|
|
+
|
|
|
+ userInfo = sysUserService.initUser(loginEntity.getPhone(), clientId);
|
|
|
+
|
|
|
if (StringUtils.isNotBlank(deviceNum)) {
|
|
|
-
|
|
|
- if(!StringUtils.equals("STUDENT", clientId)){
|
|
|
- // 检查设备
|
|
|
- List<SysUserDevice> sysUserDeviceList = sysUserDeviceService.queryByDeviceNum(clientId, deviceNum);
|
|
|
-
|
|
|
- if (sysUserDeviceList != null && sysUserDeviceList.size() > 0) {
|
|
|
- throw new BadCredentialsException("当前设备已绑定账号,请更换设备");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- userInfo = sysUserService.initUser(loginEntity.getPhone(), clientId);
|
|
|
-
|
|
|
- SysUserDevice sysUserDevice = new SysUserDevice();
|
|
|
- sysUserDevice.setUserId(userInfo.getSysUser().getId());
|
|
|
- sysUserDevice.setDeviceNum(deviceNum);
|
|
|
- sysUserDevice.setBindTime(new Date());
|
|
|
- sysUserDevice.setClientId(clientId);
|
|
|
- sysUserDevice.setDeviceNum(deviceNum);
|
|
|
- sysUserDeviceService.insert(sysUserDevice);
|
|
|
- } else {
|
|
|
- userInfo = sysUserService.initUser(loginEntity.getPhone(), clientId);
|
|
|
+ sysUserDeviceService.bindDevice(clientId, userInfo.getSysUser().getId(), deviceNum);
|
|
|
}
|
|
|
} else {
|
|
|
SysUser user = userInfo.getSysUser();
|