yonge 3 سال پیش
والد
کامیت
0d02d3f095
1فایلهای تغییر یافته به همراه25 افزوده شده و 33 حذف شده
  1. 25 33
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserDeviceServiceImpl.java

+ 25 - 33
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserDeviceServiceImpl.java

@@ -39,40 +39,7 @@ public class SysUserDeviceServiceImpl extends BaseServiceImpl<Integer, SysUserDe
 
 	@Override
 	public boolean bindDevice(String clientId, Integer userId, String deviceNum) {
-		// 查询设备号是否已存在
-		List<SysUserDevice> sysUserDeviceList = sysUserDeviceDao.queryByDeviceNum(null, deviceNum);
-
-		if (sysUserDeviceList != null && sysUserDeviceList.size() > 0) {
-			if (sysUserDeviceList.stream().filter(sud -> sud.getUserId().equals(userId)).count() > 0) {
-				
-				sysUserDeviceList = sysUserDeviceDao.queryByDeviceNum(clientId, deviceNum);
-				
-				if (sysUserDeviceList == null || sysUserDeviceList.size() == 0) {
-					SysUserDevice sysUserDevice = new SysUserDevice();
-					sysUserDevice.setUserId(userId);
-					sysUserDevice.setDeviceNum(deviceNum);
-					sysUserDevice.setBindTime(new Date());
-					sysUserDevice.setClientId(clientId);
-					sysUserDeviceDao.insert(sysUserDevice);
-				}
-				
-				return true;
-			}
-
-			if (!StringUtils.equals(clientId, "STUDENT")) {
-				if (sysUserDeviceList.stream().filter(sud -> !StringUtils.equalsIgnoreCase(sud.getClientId(), "STUDENT")).count() > 0) {
-					throw new BadCredentialsException("当前设备已绑定账号,请更换设备");
-				}
 
-				SysUserDevice sysUserDevice = new SysUserDevice();
-				sysUserDevice.setUserId(userId);
-				sysUserDevice.setDeviceNum(deviceNum);
-				sysUserDevice.setBindTime(new Date());
-				sysUserDevice.setClientId(clientId);
-				sysUserDeviceDao.insert(sysUserDevice);
-			}
-		}
-		
 		if (StringUtils.equals(clientId, "STUDENT")) {
 			// 检查学生是否绑定了多个设备号
 			List<SysUserDevice> studentDeviceList = queryByUserId(clientId, userId);
@@ -95,6 +62,31 @@ public class SysUserDeviceServiceImpl extends BaseServiceImpl<Integer, SysUserDe
 				sysUserDevice.setClientId(clientId);
 				sysUserDeviceDao.insert(sysUserDevice);
 			}
+		} else {
+			// 查询设备号是否已存在
+			List<SysUserDevice> sysUserDeviceList = sysUserDeviceDao.queryByDeviceNum(null, deviceNum);
+
+			if (sysUserDeviceList == null) {
+				sysUserDeviceList = new ArrayList<SysUserDevice>();
+			}
+
+			sysUserDeviceList = sysUserDeviceList.stream().filter(sud -> !StringUtils.equals(sud.getClientId(), "STUDENT")).collect(Collectors.toList());
+
+			if (sysUserDeviceList != null && sysUserDeviceList.size() > 0) {
+				if (sysUserDeviceList.stream().filter(sud -> sud.getUserId().equals(userId)).count() > 0) {
+
+					return true;
+				}
+
+				throw new BadCredentialsException("当前设备已绑定账号,请更换设备");
+			}
+
+			SysUserDevice sysUserDevice = new SysUserDevice();
+			sysUserDevice.setUserId(userId);
+			sysUserDevice.setDeviceNum(deviceNum);
+			sysUserDevice.setBindTime(new Date());
+			sysUserDevice.setClientId(clientId);
+			sysUserDeviceDao.insert(sysUserDevice);
 		}
 
 		return true;