修改用户信息的解析处理

This commit is contained in:
daihh
2023-06-27 10:54:02 +08:00
parent 34e0ce022c
commit 2e01a11bed
3 changed files with 46 additions and 16 deletions

View File

@@ -16,7 +16,7 @@ public class UserData {
/**主要是为了兼容之前的使用,新用户可以为空*/
private String kid;
/**用户工号*/
/**用户工号,用于登录名*/
private String code;
private String mobile;

View File

@@ -119,6 +119,17 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
}
user.setAvatar(getNodeText(result.get("avatar")));
user.setCode(getNodeText(result.get("userNo")));
if(StringUtils.isBlank(user.getCode())) {
user.setCode(getNodeText(result.get("loginName")));
}
if(StringUtils.isBlank(user.getCode())) {
log.error("通过接口获取当前用户信息【"+user.getId()+""+user.getName()+",工号或登录名为空,不能使用");
throw new RuntimeException("通过接口获取当前用户信息,工号为空,不能使用");
}
user.setName(result.get("realName").asText());
//user.setDeleted(result.get("deleted").asBoolean());//无此字段
user.setDeleted(false);
@@ -148,30 +159,50 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
user.setUserType(1);//直接设置为学员
user.setTeacher(false);
user.setAdminType(0);
user.setSysAdmin(result.get("isSystemAdmin").asBoolean());
//前端身份
JsonNode permissions = result.get("permissionList");
Iterator<JsonNode> permissionNodes=permissions.elements();
while(permissionNodes.hasNext()) {
JsonNode permission=permissionNodes.next();
String permissionText=permission.asText();
if("front-admin".equals(permissionText)) {
user.setAdminType(1);//设置为管理员,但是是非默认管理员
}else if("front-teacher".equals(permissionText)) {
user.setTeacher(true);//设置为教师
}
}
//处理roleList ,主要是提取默认管理员非默认管理员20230627修改
JsonNode roleList = result.get("roleList");
if(roleList!=null){
for(JsonNode jsonNode :roleList) {
String roleCode=getNodeText(jsonNode.get("code"));
if(roleCode.equals("system-admin")){
user.setSysAdmin(true);//系统管理员
}
//修改为只是设置默认管理员
if(roleCode.equals("learning-admin")){
user.setAdminType(1);//默认管理员
}else if(roleCode.equals("non-default-admin")) {
user.setAdminType(2);//非默认管理员
}
if(roleCode.equals("teacher")){
log.info("用户有教师身份");
user.setTeacher(true);//是老师
user.setUserType(2);//教师
}
// if(roleCode.equals("system-admin")){
// user.setSysAdmin(true);//系统管理员
// }
// if(roleCode.equals("learning-admin")){
// user.setAdminType(1);//默认管理员
// }else if(roleCode.equals("non-default-admin")) {
// user.setAdminType(2);//非默认管理员
// }
// if(roleCode.equals("teacher")){
// log.info("用户有教师身份");
// user.setTeacher(true);//是老师
// user.setUserType(2);//教师
// }
}
}
if(StringUtils.isBlank(user.getCode())) {
log.error("通过接口获取当前用户信息【"+user.getId()+""+user.getName()+",工号为空,不能使用");
throw new RuntimeException("通过接口获取当前用户信息,工号为空,不能使用");
}
}
//System.out.println("用户管理员:"+user.getAdminType());

View File

@@ -107,7 +107,6 @@ public class PortalConsoleApi extends ApiBaseController{
//以下是使用的接口数据判断身份
int utype=1;//仅仅是学员
if(userData!=null) {
if(userData.getTeacher()) {
utype=2;
}