|
@@ -60,9 +60,6 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
@SuppressWarnings("all")
|
|
@SuppressWarnings("all")
|
|
private RestClientService restClientService;
|
|
private RestClientService restClientService;
|
|
|
|
|
|
- @Autowired
|
|
|
|
- @SuppressWarnings("all")
|
|
|
|
- private IIotedgeCollectDataService iotedgeCollectDataService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
@SuppressWarnings("all")
|
|
@SuppressWarnings("all")
|
|
@@ -110,45 +107,48 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
SysUserRole userRole = new SysUserRole(userId, interlockUserAdd.getRoleId());
|
|
SysUserRole userRole = new SysUserRole(userId, interlockUserAdd.getRoleId());
|
|
sysUserRoleService.save(userRole);
|
|
sysUserRoleService.save(userRole);
|
|
|
|
|
|
- //try {
|
|
|
|
- // restClientService.addSSOUser(interlockUserAdd.getUsername());
|
|
|
|
- //} catch (Exception e) {
|
|
|
|
- // log.info("SSO新增用户报错:{}",e.getMessage());
|
|
|
|
- //} finally {
|
|
|
|
- // JSONObject jsonObject = restClientService.invitationSSOUserInIoTEdge(interlockUserAdd.getUsername(), eiToken);
|
|
|
|
- // String code = (String) jsonObject.get("code");
|
|
|
|
- // String iotUserId = (String) jsonObject.get("userId");
|
|
|
|
- //
|
|
|
|
- // interlockUser.setIotUserid(iotUserId);
|
|
|
|
- // this.updateById(interlockUser);
|
|
|
|
- //
|
|
|
|
- // if (ObjectUtil.isNotNull(code)){
|
|
|
|
- // log.info("IoTEdge邀请SSO用户失败: {}"+jsonObject.get("message").toString());
|
|
|
|
- // return Result.error("IoTEdge邀请SSO用户失败:"+jsonObject.get("message").toString());
|
|
|
|
- // }
|
|
|
|
- // String rloe = "";
|
|
|
|
- // if ("0".equals(interlockUserAdd.getRole())){
|
|
|
|
- // rloe = "systemAdmin";
|
|
|
|
- // restClientService.setUserRole(iotUserId,"",rloe,eiToken);
|
|
|
|
- // }else {
|
|
|
|
- // for (InterlockSystemLimit item : interlockUserAdd.getSystemLimitList()) {
|
|
|
|
- // //InterlockBase base = baseService.getById(item.getId());
|
|
|
|
- // if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "0".equals(item.getLimitType())){
|
|
|
|
- // rloe = "groupAdmin";
|
|
|
|
- // restClientService.setUserRole(iotUserId,item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }else if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "1".equals(item.getLimitType())){
|
|
|
|
- // rloe = "groupView";
|
|
|
|
- // restClientService.setUserRole(iotUserId,item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //
|
|
|
|
- //}
|
|
|
|
|
|
+ addSSOIoTEdgeUser(interlockUserAdd,interlockUser,eiToken);
|
|
|
|
|
|
|
|
|
|
return Result.OK("用户添加成功!");
|
|
return Result.OK("用户添加成功!");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void addSSOIoTEdgeUser(InterlockUserAdd interlockUserAdd, InterlockUser interlockUser, String eiToken) {
|
|
|
|
+ try {
|
|
|
|
+ restClientService.addSSOUser(interlockUserAdd.getUsername());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.info("SSO新增用户报错:{}",e.getMessage());
|
|
|
|
+ } finally {
|
|
|
|
+ JSONObject jsonObject = restClientService.invitationSSOUserInIoTEdge(interlockUserAdd.getUsername(), eiToken);
|
|
|
|
+ String code = (String) jsonObject.get("code");
|
|
|
|
+ String iotUserId = (String) jsonObject.get("userId");
|
|
|
|
+
|
|
|
|
+ interlockUser.setIotUserid(iotUserId);
|
|
|
|
+ this.updateById(interlockUser);
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isNotNull(code)){
|
|
|
|
+ log.info("IoTEdge邀请SSO用户失败: {}"+jsonObject.get("message").toString());
|
|
|
|
+ }
|
|
|
|
+ String rloe = "";
|
|
|
|
+ if ("0".equals(interlockUserAdd.getRole())){
|
|
|
|
+ rloe = "systemAdmin";
|
|
|
|
+ restClientService.setUserRole(iotUserId,"",rloe,eiToken);
|
|
|
|
+ }else {
|
|
|
|
+ for (InterlockSystemLimit item : interlockUserAdd.getSystemLimitList()) {
|
|
|
|
+ //InterlockBase base = baseService.getById(item.getId());
|
|
|
|
+ if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "0".equals(item.getLimitType())){
|
|
|
|
+ rloe = "groupAdmin";
|
|
|
|
+ restClientService.setUserRole(iotUserId,item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }else if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "1".equals(item.getLimitType())){
|
|
|
|
+ rloe = "groupView";
|
|
|
|
+ restClientService.setUserRole(iotUserId,item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* author: sl
|
|
* author: sl
|
|
* version: 1.0
|
|
* version: 1.0
|
|
@@ -180,7 +180,6 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
interlockUser.setUsername(interlockUserAdd.getUsername());//登陆账户名
|
|
interlockUser.setUsername(interlockUserAdd.getUsername());//登陆账户名
|
|
interlockUser.setRemark(interlockUserAdd.getRemark());//描述
|
|
interlockUser.setRemark(interlockUserAdd.getRemark());//描述
|
|
interlockUser.setRole(interlockUserAdd.getRole());//角色(0管理员1其他角色)
|
|
interlockUser.setRole(interlockUserAdd.getRole());//角色(0管理员1其他角色)
|
|
- this.updateById(interlockUser);//更新用户表
|
|
|
|
//创建一个用户权限列表,用来存放系统权限信息 填充权限信息列表
|
|
//创建一个用户权限列表,用来存放系统权限信息 填充权限信息列表
|
|
List<InterlockSystemLimit> interlockSystemLimitList = new ArrayList<>(interlockUserAdd.getSystemLimitList());
|
|
List<InterlockSystemLimit> interlockSystemLimitList = new ArrayList<>(interlockUserAdd.getSystemLimitList());
|
|
for(InterlockSystemLimit interlockSystemLimit:interlockSystemLimitList){
|
|
for(InterlockSystemLimit interlockSystemLimit:interlockSystemLimitList){
|
|
@@ -188,39 +187,9 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
interlockSystemLimit.setInterlockUserId(userId);
|
|
interlockSystemLimit.setInterlockUserId(userId);
|
|
}
|
|
}
|
|
|
|
|
|
- //InterlockUser user = this.getById(interlockUser);
|
|
|
|
- //
|
|
|
|
- //String rloe = "";
|
|
|
|
- //if ("0".equals(interlockUserAdd.getRole())){
|
|
|
|
- // rloe = "systemAdmin";
|
|
|
|
- // restClientService.setUserRole(user.getIotUserid(),"",rloe,eiToken);
|
|
|
|
- //}else {
|
|
|
|
- // if ("1".equals(user.getRole())){
|
|
|
|
- // List<InterlockSystemLimit> list = interlockSystemLimitService.selectListByUserId(user.getId());
|
|
|
|
- // for (InterlockSystemLimit limit : list) {
|
|
|
|
- // if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "0".equals(limit.getLimitType())){
|
|
|
|
- // rloe = "groupAdmin";
|
|
|
|
- // restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }else if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "1".equals(limit.getLimitType())){
|
|
|
|
- // rloe = "groupView";
|
|
|
|
- // restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //
|
|
|
|
- // for (InterlockSystemLimit item : interlockUserAdd.getSystemLimitList()) {
|
|
|
|
- // //InterlockBase base = baseService.getById(item.getId());
|
|
|
|
- // if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "0".equals(item.getLimitType())){
|
|
|
|
- // rloe = "groupAdmin";
|
|
|
|
- // restClientService.setUserRole(user.getIotUserid(),item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }else if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "1".equals(item.getLimitType())){
|
|
|
|
- // rloe = "groupView";
|
|
|
|
- // restClientService.setUserRole(user.getIotUserid(),item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
|
|
+ updateSSOIoTEdegUser(interlockUserAdd,interlockUser,eiToken);
|
|
|
|
|
|
|
|
+ this.updateById(interlockUser);//更新用户表
|
|
//先删后加 系统权限表
|
|
//先删后加 系统权限表
|
|
interlockSystemLimitService.remove(new QueryWrapper<InterlockSystemLimit>().lambda().eq(InterlockSystemLimit::getInterlockUserId, userId));
|
|
interlockSystemLimitService.remove(new QueryWrapper<InterlockSystemLimit>().lambda().eq(InterlockSystemLimit::getInterlockUserId, userId));
|
|
interlockSystemLimitService.saveBatch(interlockSystemLimitList);
|
|
interlockSystemLimitService.saveBatch(interlockSystemLimitList);
|
|
@@ -234,6 +203,41 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
return Result.OK("用户编辑成功!");
|
|
return Result.OK("用户编辑成功!");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void updateSSOIoTEdegUser(InterlockUserAdd interlockUserAdd, InterlockUser interlockUser,String eiToken) {
|
|
|
|
+
|
|
|
|
+ InterlockUser user = this.getById(interlockUser);
|
|
|
|
+
|
|
|
|
+ String rloe = "";
|
|
|
|
+ if ("0".equals(interlockUserAdd.getRole())){
|
|
|
|
+ rloe = "systemAdmin";
|
|
|
|
+ restClientService.setUserRole(user.getIotUserid(),"",rloe,eiToken);
|
|
|
|
+ }else {
|
|
|
|
+ if ("1".equals(user.getRole())){
|
|
|
|
+ List<InterlockSystemLimit> list = interlockSystemLimitService.selectListByUserId(user.getId());
|
|
|
|
+ for (InterlockSystemLimit limit : list) {
|
|
|
|
+ if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "0".equals(limit.getLimitType())){
|
|
|
|
+ rloe = "groupAdmin";
|
|
|
|
+ restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }else if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "1".equals(limit.getLimitType())){
|
|
|
|
+ rloe = "groupView";
|
|
|
|
+ restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (InterlockSystemLimit item : interlockUserAdd.getSystemLimitList()) {
|
|
|
|
+ //InterlockBase base = baseService.getById(item.getId());
|
|
|
|
+ if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "0".equals(item.getLimitType())){
|
|
|
|
+ rloe = "groupAdmin";
|
|
|
|
+ restClientService.setUserRole(user.getIotUserid(),item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }else if ("1".equals(interlockUserAdd.getRole()) && ObjectUtil.isNotNull(item.getLimitType()) && "1".equals(item.getLimitType())){
|
|
|
|
+ rloe = "groupView";
|
|
|
|
+ restClientService.setUserRole(user.getIotUserid(),item.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* author: sl
|
|
* author: sl
|
|
* version: 1.0
|
|
* version: 1.0
|
|
@@ -252,26 +256,7 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- //InterlockUser user = this.getById(id);
|
|
|
|
- ////restClientService.deleteIoTEdgeUser(user.getIotUserid(),eiToken);
|
|
|
|
- //
|
|
|
|
- //String rloe = "";
|
|
|
|
- //if ("0".equals(user.getRole())){
|
|
|
|
- // rloe = "systemAdmin";
|
|
|
|
- // restClientService.deleteUserRole(user.getIotUserid(),"",rloe,eiToken);
|
|
|
|
- //}else {
|
|
|
|
- // List<InterlockSystemLimit> list = interlockSystemLimitService.selectListByUserId(user.getId());
|
|
|
|
- // for (InterlockSystemLimit limit : list) {
|
|
|
|
- // if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "0".equals(limit.getLimitType())){
|
|
|
|
- // rloe = "groupAdmin";
|
|
|
|
- // restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }else if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "1".equals(limit.getLimitType())){
|
|
|
|
- // rloe = "groupView";
|
|
|
|
- // restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
|
|
+ deleteSSOIoTEdgeUser(id,eiToken);
|
|
|
|
|
|
this.removeById(id);
|
|
this.removeById(id);
|
|
//删除方法1 删除用户权限
|
|
//删除方法1 删除用户权限
|
|
@@ -289,6 +274,28 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
|
|
return Result.OK("用户删除成功!");
|
|
return Result.OK("用户删除成功!");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void deleteSSOIoTEdgeUser(String id, String eiToken) {
|
|
|
|
+ InterlockUser user = this.getById(id);
|
|
|
|
+ //restClientService.deleteIoTEdgeUser(user.getIotUserid(),eiToken);
|
|
|
|
+ String rloe = "";
|
|
|
|
+ if ("0".equals(user.getRole())){
|
|
|
|
+ rloe = "systemAdmin";
|
|
|
|
+ restClientService.deleteUserRole(user.getIotUserid(),"",rloe,eiToken);
|
|
|
|
+ }else {
|
|
|
|
+ List<InterlockSystemLimit> list = interlockSystemLimitService.selectListByUserId(user.getId());
|
|
|
|
+ for (InterlockSystemLimit limit : list) {
|
|
|
|
+ if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "0".equals(limit.getLimitType())){
|
|
|
|
+ rloe = "groupAdmin";
|
|
|
|
+ restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }else if (ObjectUtil.isNotNull(limit.getLimitType()) && ObjectUtil.isNotNull(limit.getIotedgeGroupId()) && "1".equals(limit.getLimitType())){
|
|
|
|
+ rloe = "groupView";
|
|
|
|
+ restClientService.deleteUserRole(user.getIotUserid(),limit.getIotedgeGroupId(),rloe,eiToken);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* author: sl
|
|
* author: sl
|
|
* version: 1.0
|
|
* version: 1.0
|