459242451@qq.com 3 lat temu
rodzic
commit
0c7eb0dc89

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java

@@ -162,7 +162,7 @@ public class SysDeptController extends BaseController
         for (JSONObject jsonObject : list) {
             SysDept sysDept = new SysDept();
             sysDept.setDeptId(jsonObject.getStr("deptId"));
-            sysDept.setParentId(StrUtil.isBlank(jsonObject.getStr("parentId")) ? "0":jsonObject.getStr("parentId"));
+            sysDept.setParentId(jsonObject.getStr("orgId"));
             sysDept.setDeptName(jsonObject.getStr("deptName"));
             sysDept.setCreateBy("system");
             sysDept.setUpdateBy("system");

+ 38 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONObject;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.controller.BaseController;
@@ -15,8 +16,10 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.domain.vo.SysUserExportVo;
 import com.ruoyi.system.domain.vo.SysUserImportVo;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
 import com.ruoyi.system.service.ISysPostService;
 import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
@@ -28,6 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -51,6 +55,9 @@ public class SysUserController extends BaseController
     @Autowired
     private ISysPostService postService;
 
+    @Autowired
+    private SysUserRoleMapper userRoleMapper;
+
     /**
      * 获取用户列表
      */
@@ -236,4 +243,35 @@ public class SysUserController extends BaseController
         userService.insertUserAuth(userId, roleIds);
         return success();
     }
+
+    @PostMapping("/syncUc")
+    public void syncUc() {
+        List<JSONObject> list = userService.queryTUcUser();
+        for (JSONObject jsonObject : list) {
+            SysUser sysUser = new SysUser();
+            sysUser.setUserId(jsonObject.getStr("userId"));
+            sysUser.setDeptId(jsonObject.getStr("deptId"));
+            sysUser.setUserName(jsonObject.getStr("userName"));
+            sysUser.setNickName(jsonObject.getStr("name"));
+            sysUser.setSex(jsonObject.getStr("sex"));
+            sysUser.setUserType(jsonObject.getStr("user_group_id"));
+            sysUser.setPhonenumber(jsonObject.getStr("mobile"));
+            sysUser.setPassword(SecurityUtils.encryptPassword("tocc!suqian"));
+            sysUser.setStatus(jsonObject.getStr("status"));
+            sysUser.setDelFlag(jsonObject.getStr("delFlag"));
+            sysUser.setCreateBy("system");
+            sysUser.setCreateTime(new Date());
+            sysUser.setOrgId(jsonObject.getStr("orgId"));
+            sysUser.setSuperior(jsonObject.getStr("superior"));
+            sysUser.setIdNumber(jsonObject.getStr("id_number"));
+            userService.save(sysUser);
+            SysUserRole ur = new SysUserRole();
+            ur.setUserId(sysUser.getUserId());
+            ur.setRoleId("2");
+            userRoleMapper.insert(ur);
+        }
+
+
+    }
+
 }

+ 102 - 101
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysGatewayUserTask.java

@@ -9,6 +9,7 @@ import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.zhdd.domain.GatewayDept;
@@ -40,195 +41,195 @@ public class SysGatewayUserTask {
     private ISingleDeviceService singleDeviceService;
 
     @KafkaListener(topics = "t_uc_user")
-    public void onUserMessage(String message){
+    public void onUserMessage(String message) {
         log.info("kafka用户信息消费:{}", message);
-        try{
-            GatewaySUser gatewaySUser =  JSONUtil.toBean(message,GatewaySUser.class);
-            if(gatewaySUser!=null){
+        try {
+            GatewaySUser gatewaySUser = JSONUtil.toBean(message, GatewaySUser.class);
+            if (gatewaySUser != null) {
                 SysUser quser = new SysUser();
-                quser.setOtherId(gatewaySUser.getUserId());
+                quser.setUserId(gatewaySUser.getUserId());
                 List<SysUser> userList = userService.selectUserList(quser);
-                if(userList.isEmpty()){
+                if (userList.isEmpty()) {
                     //插入
                     SysUser user = new SysUser();
-                    user.setOtherId(gatewaySUser.getUserId());
-                    {
+                    user.setUserId(gatewaySUser.getUserId());
+                    /*{
                         SysDept qdept = new SysDept();
                         qdept.setOtherId(gatewaySUser.getDeptId());
                         List<SysDept> deptList = deptService.selectDeptList(qdept);
-                        if(!deptList.isEmpty()){
+                        if (!deptList.isEmpty()) {
                             user.setDeptId(deptList.get(0).getDeptId());
-                        }else{
+                        } else {
                             //还未有部门暂不设置  //需要先同步部门
-
                         }
-                    }
+                    }*/
                     user.setPhonenumber(gatewaySUser.getMobile());
                     user.setNickName(gatewaySUser.getName());
                     user.setUserName(gatewaySUser.getUserName());
-                    user.setRemark(gatewaySUser.getUserGroupId()+"");
+                    user.setDeptId(gatewaySUser.getDeptId());
+                    user.setUserType(Convert.toStr(gatewaySUser.getUserGroupId()));
                     user.setUpdateBy("kafka");
                     user.setUpdateTime(new Date());
                     user.setCreateBy("kafka");
                     user.setCreateTime(new Date());
-                    user.setPassword("$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2");
+                    user.setSex(gatewaySUser.getSex());
+                    user.setOrgId(gatewaySUser.getOrgId());
+                    user.setSuperior(gatewaySUser.getSuperior());
+                    user.setIdNumber(gatewaySUser.getIdNumber());
+                    user.setPassword(SecurityUtils.encryptPassword("tocc!suqian"));
                     user.setStatus(gatewaySUser.getStatus());
+                    user.setDelFlag(gatewaySUser.getDelFlag());
                     userService.insertUser(user);
-                }else{
-                    //跟新
+                } else {
+                    //
                     SysUser user = userList.get(0);
-                    user.setOtherId(gatewaySUser.getUserId());
-                    {
+                    /*{
                         SysDept qdept = new SysDept();
                         qdept.setOtherId(gatewaySUser.getDeptId());
                         List<SysDept> deptList = deptService.selectDeptList(qdept);
-                        if(!deptList.isEmpty()){
+                        if (!deptList.isEmpty()) {
                             user.setDeptId(deptList.get(0).getDeptId());
-                        }else{
+                        } else {
                             //还未有部门暂不设置  //需要先同步部门
 
                         }
-                    }
+                    }*/
                     user.setPhonenumber(gatewaySUser.getMobile());
                     user.setNickName(gatewaySUser.getName());
                     user.setUserName(gatewaySUser.getUserName());
-                    user.setRemark(gatewaySUser.getUserGroupId()+"");
+                    user.setDeptId(gatewaySUser.getDeptId());
+                    user.setUserType(Convert.toStr(gatewaySUser.getUserGroupId()));
                     user.setUpdateBy("kafka");
                     user.setUpdateTime(new Date());
-                    user.setPassword("$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2");
+                    user.setSex(gatewaySUser.getSex());
+                    user.setOrgId(gatewaySUser.getOrgId());
+                    user.setSuperior(gatewaySUser.getSuperior());
+                    user.setIdNumber(gatewaySUser.getIdNumber());
+                    user.setPassword(SecurityUtils.encryptPassword("tocc!suqian"));
                     user.setStatus(gatewaySUser.getStatus());
+                    user.setDelFlag(gatewaySUser.getDelFlag());
+                    user.setUpdateBy("kafka");
+                    user.setUpdateTime(new Date());
                     userService.updateUser(user);
                 }
-
             }
-
-        }catch (Exception e){
-
+        } catch (Exception e) {
+            log.error("t_uc_use的kafka消费异常:{}", e.getMessage());
         }
-
     }
+
     @KafkaListener(topics = "t_uc_org")
-    public void onOrgMessage(String message){
+    public void onOrgMessage(String message) {
         log.info("kafka组织信息消费:{}", message);
         //默认组织是0   组织间的层级先不考虑
-        try{
-           GatewayOrg gatewayOrg =  JSONUtil.toBean(message,GatewayOrg.class);
-            if(gatewayOrg!=null){
-
-
-                    SysDept qdept = new SysDept();
-                    qdept.setOtherId(gatewayOrg.getOrgId());
-                    //为0 的作为组织
-                    qdept.setParentId("0");
-                    List<SysDept> deptList = deptService.selectDeptList(qdept);
-                    if(deptList.isEmpty()){
-                        //插入
-                        SysDept dept = deptList.get(0);
-                        dept.setOtherId(gatewayOrg.getOrgId());
-                        dept.setParentId("0");
-                        dept.setDeptName(gatewayOrg.getOrgName());
-                        dept.setCreateBy("kafka");
-                        dept.setCreateTime(new Date());
-                        dept.setUpdateBy("kafka");
-                        dept.setUpdateTime(new Date());
-                        dept.setDelFlag(gatewayOrg.getDelFlag());
-                        deptService.insertDept(dept);
-
-                    }else{
-                        //跟新
-                        SysDept dept = deptList.get(0);
-                        dept.setOtherId(gatewayOrg.getOrgId());
-                        dept.setParentId("0");
-                        dept.setDeptName(gatewayOrg.getOrgName());
-                        dept.setUpdateBy("kafka");
-                        dept.setUpdateTime(new Date());
-                        dept.setDelFlag(gatewayOrg.getDelFlag());
-                        deptService.updateDept(dept);
-                    }
+        try {
+            GatewayOrg gatewayOrg = JSONUtil.toBean(message, GatewayOrg.class);
+            if (gatewayOrg != null) {
+                SysDept qdept = new SysDept();
+                qdept.setOrgId(gatewayOrg.getOrgId());
+                List<SysDept> deptList = deptService.selectDeptList(qdept);
+                if (deptList.isEmpty()) {
+                    //插入
+                    SysDept dept = new SysDept();
+//                    dept.setOtherId(gatewayOrg.getOrgId());
+                    dept.setParentId(StrUtil.isBlank(gatewayOrg.getParentId()) ? "0" : gatewayOrg.getParentId());
+                    dept.setDeptName(gatewayOrg.getOrgName());
+                    dept.setCreateBy("kafka");
+                    dept.setCreateTime(new Date());
+                    dept.setUpdateBy("kafka");
+                    dept.setUpdateTime(new Date());
+                    dept.setDelFlag(gatewayOrg.getDelFlag());
+                    deptService.insertDept(dept);
+                } else {
+                    //更新
+                    SysDept dept = deptList.get(0);
+//                    dept.setOtherId(gatewayOrg.getOrgId());
+                    dept.setParentId(StrUtil.isBlank(gatewayOrg.getParentId()) ? "0" : gatewayOrg.getParentId());
+                    dept.setDeptName(gatewayOrg.getOrgName());
+                    dept.setUpdateBy("kafka");
+                    dept.setUpdateTime(new Date());
+                    dept.setDelFlag(gatewayOrg.getDelFlag());
+                    deptService.updateDept(dept);
+                }
             }
-
-
-        }catch (Exception e){
-
+        } catch (Exception e) {
+            log.error("t_uc_org的kafka消费异常:{}", e.getMessage());
         }
-        System.out.println(message);
     }
+
     @KafkaListener(topics = "t_uc_dept")
-    public void onDeptMessage(String message){
+    public void onDeptMessage(String message) {
         log.info("kafka部门信息消费:{}", message);
-        try{
-            GatewayDept gatewayDept =  JSONUtil.toBean(message,GatewayDept.class);
-            if(gatewayDept!=null){
+        try {
+            GatewayDept gatewayDept = JSONUtil.toBean(message, GatewayDept.class);
+            if (gatewayDept != null) {
                 SysDept qdept = new SysDept();
-                qdept.setOtherId(gatewayDept.getDeptId());
-
+                qdept.setDeptId(gatewayDept.getDeptId());
                 List<SysDept> deptList = deptService.selectDeptList(qdept);
-                if(deptList.isEmpty()){
+                if (deptList.isEmpty()) {
                     //插入
                     SysDept dept = new SysDept();
-                    //查询父部门
+                    /*//查询父部门
                     {
                         SysDept qdept1 = new SysDept();
-                        if(gatewayDept.getParentId()==null||gatewayDept.getParentId().equals("")){
+                        if (gatewayDept.getParentId() == null || gatewayDept.getParentId().equals("")) {
                             qdept1.setParentId("0");
                             qdept1.setOtherId(gatewayDept.getOrgId());
-                        }else{
+                        } else {
                             qdept1.setOtherId(gatewayDept.getParentId());
                         }
-                        List<SysDept> deptList1 =  deptService.selectDeptList(qdept1);
-                        if(!deptList1.isEmpty()){
+                        List<SysDept> deptList1 = deptService.selectDeptList(qdept1);
+                        if (!deptList1.isEmpty()) {
                             dept.setParentId(deptList1.get(0).getDeptId());
-                        }else{
+                        } else {
                             //无父组织或部门 暂不处理吧
-
                         }
-                    }
-                    dept.setOtherId(gatewayDept.getDeptId());
+                    }*/
+                    dept.setParentId(gatewayDept.getOrgId());
+//                    dept.setOtherId(gatewayDept.getDeptId());
                     dept.setDeptName(gatewayDept.getDeptName());
                     dept.setUpdateBy("kafka");
                     dept.setUpdateTime(new Date());
                     dept.setCreateBy("kafka");
                     dept.setCreateTime(new Date());
                     dept.setDelFlag(gatewayDept.getDelFlag());
+                    dept.setOrgId(gatewayDept.getOrgId());
                     deptService.insertDept(dept);
-                }else{
-                    //
+                } else {
+                    //
                     SysDept dept = deptList.get(0);
                     //查询父部门
-                    {
+                    /*{
                         SysDept qdept1 = new SysDept();
-                        if(gatewayDept.getParentId()==null||gatewayDept.getParentId().equals("")){
+                        if (gatewayDept.getParentId() == null || gatewayDept.getParentId().equals("")) {
                             qdept1.setParentId("0");
                             qdept1.setOtherId(gatewayDept.getOrgId());
-                        }else{
+                        } else {
                             qdept1.setOtherId(gatewayDept.getParentId());
                         }
-                        List<SysDept> deptList1 =  deptService.selectDeptList(qdept1);
-                        if(!deptList1.isEmpty()){
+                        List<SysDept> deptList1 = deptService.selectDeptList(qdept1);
+                        if (!deptList1.isEmpty()) {
                             dept.setParentId(deptList1.get(0).getDeptId());
-                        }else{
+                        } else {
                             //无父组织或部门 暂不处理吧
-
                         }
-                    }
-                    dept.setOtherId(gatewayDept.getDeptId());
+                    }*/
+                    dept.setParentId(gatewayDept.getOrgId());
                     dept.setDeptName(gatewayDept.getDeptName());
                     dept.setUpdateBy("kafka");
                     dept.setUpdateTime(new Date());
                     dept.setDelFlag(gatewayDept.getDelFlag());
+                    dept.setOrgId(gatewayDept.getOrgId());
                     deptService.updateDept(dept);
                 }
-
             }
-
-        }catch (Exception e){
-
+        } catch (Exception e) {
+            log.error("t_uc_dept的kafka消费异常:{}", e.getMessage());
         }
-        System.out.println(message);
     }
 
     @KafkaListener(topics = "executestation_5ee63b516d4e4d79a46cdf88a202caa1")
-    public void onDeviceMessage(String message){
+    public void onDeviceMessage(String message) {
         log.info("kafka单兵设备信息消费:{}", message);
         JSONObject jsonObject = JSONUtil.parseObj(message);
         JSONObject info = jsonObject.getJSONObject("info");

+ 0 - 2
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java

@@ -136,8 +136,6 @@ public class BaseController
             userDTO.setOrgName(principalObject.getStr("orgName"));
             userDTO.setRoles(Convert.toList(String.class, principalObject.get("permissions")));
 
-
-
             return userDTO;
         }catch (Exception e){
             return null;

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java

@@ -46,7 +46,7 @@ public class SysMenu implements Serializable {
 	/**
 	 * 父菜单ID
 	 */
-	private Long parentId;
+	private String parentId;
 
 	/**
 	 * 显示顺序

+ 8 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -178,6 +178,14 @@ public class SysUser implements Serializable {
 
     private String otherId;
 
+    private String orgId;
+
+    private String superior;
+
+    private String userType;
+
+    private String idNumber;
+
 	/**
 	 * 角色ID
 	 */

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -110,6 +110,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
             .antMatchers("/druid/**").anonymous()
             // 测试相关
             .antMatchers("/system/dept/syncUc").anonymous()
+            .antMatchers("/system/user/syncUc").anonymous()
             // Spring Boot Actuator 的安全配置
             .antMatchers("/actuator").anonymous()
             .antMatchers("/actuator/**").anonymous()

+ 30 - 10
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java

@@ -1,9 +1,12 @@
 package com.ruoyi.framework.web.service;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgentUtil;
+import cn.hutool.json.JSONObject;
 import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.GatewayUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.ServletUtils;
@@ -13,10 +16,12 @@ import com.ruoyi.framework.config.properties.TokenProperties;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
+import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletRequest;
+import java.net.URLDecoder;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -43,20 +48,35 @@ public class TokenService {
      *
      * @return 用户信息
      */
+    @SneakyThrows
     public LoginUser getLoginUser(HttpServletRequest request) {
         // 获取请求携带的令牌
         String token = getToken(request);
         if (StringUtils.isNotEmpty(token)) {
-			try {
-				Claims claims = parseToken(token);
-				// 解析对应的权限以及用户信息
-				String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
-				String userKey = getTokenKey(uuid);
-				LoginUser user = RedisUtils.getCacheObject(userKey);
-				return user;
-			} catch (Exception e) {
-
-			}
+            try {
+                Claims claims = parseToken(token);
+                // 解析对应的权限以及用户信息
+                String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
+                String userKey = getTokenKey(uuid);
+                LoginUser user = RedisUtils.getCacheObject(userKey);
+                return user;
+            } catch (Exception e) {
+
+            }
+        } else {
+            // 获取网关传过来的用户信息
+            String userStr = request.getHeader("user");
+            userStr = URLDecoder.decode(userStr, "UTF-8");
+            JSONObject userJsonObject = new JSONObject(userStr);
+            JSONObject principalObject = userJsonObject.getJSONObject("principal");
+            GatewayUser userDTO = new GatewayUser();
+            userDTO.setUserId(userJsonObject.getStr("id"));
+            userDTO.setUsername(principalObject.getStr("userName"));
+            userDTO.setOrgId(principalObject.getStr("orgId"));
+            userDTO.setOrgName(principalObject.getStr("orgName"));
+            userDTO.setRoles(Convert.toList(String.class, principalObject.get("permissions")));
+            System.out.println("网关用户信息:"+userDTO);
+//            return userDTO;
         }
         return null;
     }

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,9 +1,11 @@
 package com.ruoyi.system.mapper;
 
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -56,4 +58,6 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser> {
      */
     public SysUser selectUserById(String userId);
 
+    @Select("select * from t_uc_user where \"delFlag\" = '0'")
+    List<JSONObject> queryTUcUser();
 }

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.system.service;
 
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -209,4 +210,6 @@ public interface ISysUserService extends IService<SysUser> {
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+
+    List<JSONObject> queryTUcUser();
 }

+ 9 - 9
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java

@@ -106,7 +106,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
         } else {
             menus = baseMapper.selectMenuTreeByUserId(userId);
         }
-        return getChildPerms(menus, 0);
+        return getChildPerms(menus, "0");
     }
 
     /**
@@ -152,7 +152,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
                 children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
 				childrenList.add(children);
 				router.setChildren(childrenList);
-			} else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) {
+			} else if ("0".equals(menu.getParentId()) && isInnerLink(menu)) {
 				router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
 				router.setPath("/inner");
 				List<RouterVo> childrenList = new ArrayList<RouterVo>();
@@ -319,11 +319,11 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
     public String getRouterPath(SysMenu menu) {
         String routerPath = menu.getPath();
         // 内链打开外网方式
-        if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
+        if (!"0".equals(menu.getParentId()) && isInnerLink(menu)) {
             routerPath = StringUtils.replaceEach(routerPath, new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" });
         }
         // 非外链并且是一级目录(类型为目录)
-        if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType())
+        if ("0".equals(menu.getParentId()) && UserConstants.TYPE_DIR.equals(menu.getMenuType())
                 && UserConstants.NO_FRAME.equals(menu.getIsFrame())) {
             routerPath = "/" + menu.getPath();
         }
@@ -344,7 +344,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
         String component = UserConstants.LAYOUT;
         if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
             component = menu.getComponent();
-		} else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
+		} else if (StringUtils.isEmpty(menu.getComponent()) && !"0".equals(menu.getParentId()) && isInnerLink(menu)) {
 			component = UserConstants.INNER_LINK;
 		} else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) {
             component = UserConstants.PARENT_VIEW;
@@ -359,7 +359,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
      * @return 结果
      */
     public boolean isMenuFrame(SysMenu menu) {
-        return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
+        return "0".equals(menu.getParentId()) && UserConstants.TYPE_MENU.equals(menu.getMenuType())
                 && menu.getIsFrame().equals(UserConstants.NO_FRAME);
     }
 
@@ -380,7 +380,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
      * @return 结果
      */
     public boolean isParentView(SysMenu menu) {
-        return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
+        return !"0".equals(menu.getParentId()) && UserConstants.TYPE_DIR.equals(menu.getMenuType());
     }
 
     /**
@@ -390,11 +390,11 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
      * @param parentId 传入的父节点ID
      * @return String
      */
-    public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) {
+    public List<SysMenu> getChildPerms(List<SysMenu> list, String parentId) {
         List<SysMenu> returnList = new ArrayList<SysMenu>();
 		for (SysMenu t : list) {
 			// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
-			if (t.getParentId() == parentId) {
+			if (t.getParentId().equals(parentId)) {
 				recursionFn(list, t);
 				returnList.add(t);
 			}

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.annotation.DataScope;
@@ -517,4 +518,9 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
         }
         return successMsg.toString();
     }
+
+    @Override
+    public List<JSONObject> queryTUcUser() {
+        return baseMapper.queryTUcUser();
+    }
 }

+ 0 - 1
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -70,7 +70,6 @@
 
     <select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
         select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, m.status,
---         ifnull(m.perms,'') as perms mysql postgresql
         coalesce(m.perms,'') as perms
                         , m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
         from sys_menu m

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/GatewaySUser.java

@@ -8,8 +8,10 @@ public class GatewaySUser {
         private String updateTime;
         private String userId;
         private String name;
+        private String sex;
         private String userName;
         private String deptId;
+        private String superior;
         private String deptName;
         private String orgId;
         private String orgName;