فهرست منبع

Merge branch 'master' into feature_longhu

# Conflicts:
#	hr-modules/hr-system/src/main/java/com/hr/system/controller/SysSystemController.java
longhu 1 ماه پیش
والد
کامیت
89cffa18b3
33فایلهای تغییر یافته به همراه676 افزوده شده و 504 حذف شده
  1. 39 2
      .gitignore
  2. 23 0
      .idea/compiler.xml
  3. 15 5
      .idea/jarRepositories.xml
  4. 15 5
      hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysRole.java
  5. 29 0
      hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysUser.java
  6. 22 8
      hr-api/hr-api-system/src/main/java/com/hr/system/api/model/LoginUser.java
  7. 22 0
      hr-auth/src/main/java/com/hr/auth/HrAuthApplication.java
  8. 0 31
      hr-auth/src/main/java/com/hr/auth/RuoYiAuthApplication.java
  9. 3 3
      hr-auth/src/main/resources/logback.xml
  10. 2 1
      hr-common/hr-common-security/src/main/java/com/hr/common/security/utils/SecurityUtils.java
  11. 19 0
      hr-gateway/src/main/java/com/hr/gateway/HrGatewayApplication.java
  12. 0 29
      hr-gateway/src/main/java/com/hr/gateway/RuoYiGatewayApplication.java
  13. 2 2
      hr-gateway/src/main/resources/bootstrap.yml
  14. 20 0
      hr-modules/hr-file/src/main/java/com/hr/file/HrFileApplication.java
  15. 0 29
      hr-modules/hr-file/src/main/java/com/hr/file/RuoYiFileApplication.java
  16. 2 2
      hr-modules/hr-gen/src/main/java/com/hr/gen/HrGenApplication.java
  17. 2 2
      hr-modules/hr-job/src/main/java/com/hr/job/HrJobApplication.java
  18. 1 0
      hr-modules/hr-system/src/main/java/com/hr/system/HrSystemApplication.java
  19. 8 0
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysMenuController.java
  20. 4 1
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysRoleController.java
  21. 5 0
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysSystemController.java
  22. 271 293
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysUserController.java
  23. 29 0
      hr-modules/hr-system/src/main/java/com/hr/system/controller/TestController.java
  24. 34 0
      hr-modules/hr-system/src/main/java/com/hr/system/domain/SysMenu.java
  25. 4 0
      hr-modules/hr-system/src/main/java/com/hr/system/service/ISysPermissionService.java
  26. 11 0
      hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysPermissionServiceImpl.java
  27. 6 15
      hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysUserServiceImpl.java
  28. 4 3
      hr-modules/hr-system/src/main/resources/logback.xml
  29. 1 4
      hr-modules/hr-system/src/main/resources/mapper/system/SysDeptMapper.xml
  30. 23 5
      hr-modules/hr-system/src/main/resources/mapper/system/SysMenuMapper.xml
  31. 12 14
      hr-modules/hr-system/src/main/resources/mapper/system/SysRoleMapper.xml
  32. 46 48
      hr-modules/hr-system/src/main/resources/mapper/system/SysUserMapper.xml
  33. 2 2
      hr-visual/hr-monitor/src/main/java/com/hr/modules/monitor/HrMonitorApplication.java

+ 39 - 2
.gitignore

@@ -1,4 +1,41 @@
-.idea/
+
+target/
+.DS_Store
+logs/**
+
+
+# maven ignore
 target/
+*.jar
+!.mvn/wrapper/*
+*.war
+*.zip
+*.tar
+*.tar.gz
+
+# eclipse ignore
+.settings/
+.project
+.classpath
+
+# idea ignore
+.idea/
+*.ipr
+*.iml
+*.iws
+*.xml
+
+# temp ignore
+*.log
+*.cache
+*.diff
+*.patch
+*.tmp
+
+# system ignore
 .DS_Store
-logs/**
+Thumbs.db
+*.orig
+*.out
+*.pid
+/.idea/

+ 23 - 0
.idea/compiler.xml

@@ -26,5 +26,28 @@
         <module name="hr-common-redis" />
       </profile>
     </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="ruoyi-api" target="1.8" />
+      <module name="ruoyi-api-system" target="1.8" />
+      <module name="ruoyi-auth" target="1.8" />
+      <module name="ruoyi-common" target="1.8" />
+      <module name="ruoyi-common-core" target="1.8" />
+      <module name="ruoyi-common-datascope" target="1.8" />
+      <module name="ruoyi-common-datasource" target="1.8" />
+      <module name="ruoyi-common-log" target="1.8" />
+      <module name="ruoyi-common-redis" target="1.8" />
+      <module name="ruoyi-common-seata" target="1.8" />
+      <module name="ruoyi-common-security" target="1.8" />
+      <module name="ruoyi-common-sensitive" target="1.8" />
+      <module name="ruoyi-common-swagger" target="1.8" />
+      <module name="ruoyi-gateway" target="1.8" />
+      <module name="ruoyi-modules" target="1.8" />
+      <module name="ruoyi-modules-file" target="1.8" />
+      <module name="ruoyi-modules-gen" target="1.8" />
+      <module name="ruoyi-modules-job" target="1.8" />
+      <module name="ruoyi-modules-system" target="1.8" />
+      <module name="ruoyi-visual" target="1.8" />
+      <module name="ruoyi-visual-monitor" target="1.8" />
+    </bytecodeTargetLevel>
   </component>
 </project>

+ 15 - 5
.idea/jarRepositories.xml

@@ -21,6 +21,11 @@
       <option name="name" value="central" />
       <option name="url" value="https://maven.aliyun.com/repository/central" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="snapshots" />
+      <option name="name" value="snapshots" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
+    </remote-repository>
     <remote-repository>
       <option name="id" value="local-snapshots" />
       <option name="name" value="local-snapshots" />
@@ -41,6 +46,11 @@
       <option name="name" value="aliyun nexus" />
       <option name="url" value="https://maven.aliyun.com/repository/public" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="central" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
+    </remote-repository>
     <remote-repository>
       <option name="id" value="rdc-releases" />
       <option name="name" value="rdc-releases" />
@@ -56,15 +66,15 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
-    <remote-repository>
-      <option name="id" value="snapshots" />
-      <option name="name" value="snapshots" />
-      <option name="url" value="https://maven.aliyun.com/nexus/content/groups/public" />
-    </remote-repository>
     <remote-repository>
       <option name="id" value="rdc-snapshots" />
       <option name="name" value="rdc-snapshots" />
       <option name="url" value="https://repo.rdc.aliyun.com/repository/78804-snapshot-Zvh7kl/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="snapshots" />
+      <option name="name" value="snapshots" />
+      <option name="url" value="https://maven.aliyun.com/nexus/content/groups/public" />
+    </remote-repository>
   </component>
 </project>

+ 15 - 5
hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysRole.java

@@ -31,8 +31,18 @@ public class SysRole extends BaseEntity
     @Excel(name = "角色权限")
     private String roleKey;
 
+
+    @Excel(name = "角色url权限")
+    private String roleUrlmatchKey;
+
+
+
     @Excel(name = "角色业务组织类型")
     private String roleDeptType;
+//    @Excel(name = "角色业务组织类型")
+//    private String roleDeptType;
+    @Excel(name = "所属部门Id")
+    private Integer deptId;
 
     /** 角色排序 */
     @Excel(name = "角色排序")
@@ -72,12 +82,12 @@ public class SysRole extends BaseEntity
 
     }
 
-    public String getRoleDeptType() {
-        return roleDeptType;
+    public Integer getDeptId() {
+        return deptId;
     }
 
-    public void setRoleDeptType(String roleDeptType) {
-        this.roleDeptType = roleDeptType;
+    public void setDeptId(Integer deptId) {
+        this.deptId = deptId;
     }
 
     public SysRole(Long roleId)
@@ -117,7 +127,7 @@ public class SysRole extends BaseEntity
         this.roleName = roleName;
     }
 
-    @NotBlank(message = "权限字符不能为空")
+//    @NotBlank(message = "权限字符不能为空")
     @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
     public String getRoleKey()
     {

+ 29 - 0
hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysUser.java

@@ -3,6 +3,8 @@ package com.hr.system.api.domain;
 import java.util.Date;
 import java.util.List;
 import javax.validation.constraints.*;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.hr.common.core.annotation.Excel;
@@ -38,6 +40,14 @@ public class SysUser extends BaseEntity
     @Excel(name = "用户名称")
     private String nickName;
 
+    /** 岗位名称 */
+    @Excel(name = "岗位名称")
+    private String postName;
+
+    /** 用户类型 */
+    @Excel(name = "用户类型", readConverterExp = "00=普通用户,99=超级管理员")
+    private String userType;
+
     /** 用户邮箱 */
     @Excel(name = "用户邮箱")
     private String email;
@@ -69,6 +79,7 @@ public class SysUser extends BaseEntity
 
     /** 最后登录时间 */
     @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date loginDate;
 
     /** 部门对象 */
@@ -308,6 +319,22 @@ public class SysUser extends BaseEntity
         this.roleId = roleId;
     }
 
+    public String getPostName() {
+        return postName;
+    }
+
+    public void setPostName(String postName) {
+        this.postName = postName;
+    }
+
+    public String getUserType() {
+        return userType;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -315,6 +342,8 @@ public class SysUser extends BaseEntity
             .append("deptId", getDeptId())
             .append("userName", getUserName())
             .append("nickName", getNickName())
+            .append("postName", getPostName())
+            .append("userType", getUserType())
             .append("email", getEmail())
             .append("phonenumber", getPhonenumber())
             .append("sex", getSex())

+ 22 - 8
hr-api/hr-api-system/src/main/java/com/hr/system/api/model/LoginUser.java

@@ -64,9 +64,11 @@ public class LoginUser implements Serializable
 //    private List<Long> depidlist;
 //
 //    private List<String> datascopelist;
-
+/***
     private String depCode;
     private Long depId;
+
+
     private String orgCode;
 
     public String getOrgCode() {
@@ -93,6 +95,7 @@ public class LoginUser implements Serializable
         this.depId = depId;
     }
 
+
     private List<SysDeptDto> userDeptList;
 
     public List<SysDeptDto> getUserDeptList() {
@@ -112,9 +115,17 @@ public class LoginUser implements Serializable
     public void setAuthInfo(JSONObject authInfo) {
         this.authInfo = authInfo;
     }
+ ***/
 
     private JSONObject sysMenuUrls;
+    public JSONObject getSysMenuUrls() {
+        return sysMenuUrls;
+    }
 
+    public void setSysMenuUrls(JSONObject sysMenuUrls) {
+        this.sysMenuUrls = sysMenuUrls;
+    }
+    /***
     private List<String> sysPostsList;
 
     public List<String> getSysPostsList() {
@@ -124,14 +135,17 @@ public class LoginUser implements Serializable
     public void setSysPostsList(List<String> sysPostsList) {
         this.sysPostsList = sysPostsList;
     }
+    ***/
 
-    public JSONObject getSysMenuUrls() {
-        return sysMenuUrls;
-    }
-
-    public void setSysMenuUrls(JSONObject sysMenuUrls) {
-        this.sysMenuUrls = sysMenuUrls;
-    }
+//    public List<String> menuUrls;
+//
+//    public List<String> getMenuUrls() {
+//        return menuUrls;
+//    }
+//
+//    public void setMenuUrls(List<String> menuUrls) {
+//        this.menuUrls = menuUrls;
+//    }
 
     public String getToken()
     {

+ 22 - 0
hr-auth/src/main/java/com/hr/auth/HrAuthApplication.java

@@ -0,0 +1,22 @@
+package com.hr.auth;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import com.hr.common.security.annotation.EnableRyFeignClients;
+
+/**
+ * 认证授权中心
+ * 
+ * @author ruoyi
+ */
+@EnableRyFeignClients
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
+public class HrAuthApplication
+{
+    public static void main(String[] args)
+    {
+        SpringApplication.run(HrAuthApplication.class, args);
+        System.out.println("(♥◠‿◠)ノ゙  认证授权中心启动成功   ლ(´ڡ`ლ)゙  \n" );
+    }
+}

+ 0 - 31
hr-auth/src/main/java/com/hr/auth/RuoYiAuthApplication.java

@@ -1,31 +0,0 @@
-package com.hr.auth;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import com.hr.common.security.annotation.EnableRyFeignClients;
-
-/**
- * 认证授权中心
- * 
- * @author ruoyi
- */
-@EnableRyFeignClients
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class RuoYiAuthApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(RuoYiAuthApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  认证授权中心启动成功   ლ(´ڡ`ლ)゙  \n" +
-                " .-------.       ____     __        \n" +
-                " |  _ _   \\      \\   \\   /  /    \n" +
-                " | ( ' )  |       \\  _. /  '       \n" +
-                " |(_ o _) /        _( )_ .'         \n" +
-                " | (_,_).' __  ___(_ o _)'          \n" +
-                " |  |\\ \\  |  ||   |(_,_)'         \n" +
-                " |  | \\ `'   /|   `-'  /           \n" +
-                " |  |  \\    /  \\      /           \n" +
-                " ''-'   `'-'    `-..-'              ");
-    }
-}

+ 3 - 3
hr-auth/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
     <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/ruoyi-auth" />
+	<property name="log.path" value="logs/hr-auth" />
    <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 
@@ -14,7 +14,7 @@
 
     <!-- 系统日志输出 -->
 	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
+<!--	    <file>${log.path}/info.log</file>-->
         <!-- 循环政策:基于时间创建日志文件 -->
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->
@@ -36,7 +36,7 @@
 	</appender>
 
     <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
+<!--	    <file>${log.path}/error.log</file>-->
         <!-- 循环政策:基于时间创建日志文件 -->
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->

+ 2 - 1
hr-common/hr-common-security/src/main/java/com/hr/common/security/utils/SecurityUtils.java

@@ -29,7 +29,8 @@ public class SecurityUtils
      */
     public static String getUsername()
     {
-        return SecurityContextHolder.getUserName();
+        String username = SecurityContextHolder.getUserName();
+        return StringUtils.isNotEmpty(username) ? username : getLoginUser().getUsername();
     }
 
     /**

+ 19 - 0
hr-gateway/src/main/java/com/hr/gateway/HrGatewayApplication.java

@@ -0,0 +1,19 @@
+package com.hr.gateway;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+
+/**
+ * 网关启动程序
+ * 
+ * @author ruoyi
+ */
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
+public class HrGatewayApplication
+{
+    public static void main(String[] args)
+    {
+        SpringApplication.run(HrGatewayApplication.class, args);
+    }
+}

+ 0 - 29
hr-gateway/src/main/java/com/hr/gateway/RuoYiGatewayApplication.java

@@ -1,29 +0,0 @@
-package com.hr.gateway;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-
-/**
- * 网关启动程序
- * 
- * @author ruoyi
- */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class RuoYiGatewayApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(RuoYiGatewayApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  若依网关启动成功   ლ(´ڡ`ლ)゙  \n" +
-                " .-------.       ____     __        \n" +
-                " |  _ _   \\      \\   \\   /  /    \n" +
-                " | ( ' )  |       \\  _. /  '       \n" +
-                " |(_ o _) /        _( )_ .'         \n" +
-                " | (_,_).' __  ___(_ o _)'          \n" +
-                " |  |\\ \\  |  ||   |(_,_)'         \n" +
-                " |  | \\ `'   /|   `-'  /           \n" +
-                " |  |  \\    /  \\      /           \n" +
-                " ''-'   `'-'    `-..-'              ");
-    }
-}

+ 2 - 2
hr-gateway/src/main/resources/bootstrap.yml

@@ -32,12 +32,12 @@ spring:
       eager: true
       transport:
         # 控制台地址
-        dashboard: 127.0.0.1:8718
+        dashboard: 192.168.1.168:8718
       # nacos配置持久化
       datasource:
         ds1:
           nacos:
-            server-addr: 127.0.0.1:8848
+            server-addr: 192.168.1.168:8848
             dataId: sentinel-ruoyi-gateway
             groupId: DEFAULT_GROUP
             data-type: json

+ 20 - 0
hr-modules/hr-file/src/main/java/com/hr/file/HrFileApplication.java

@@ -0,0 +1,20 @@
+package com.hr.file;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+
+/**
+ * 文件服务
+ * 
+ * @author ruoyi
+ */
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
+public class HrFileApplication
+{
+    public static void main(String[] args)
+    {
+        SpringApplication.run(HrFileApplication.class, args);
+
+    }
+}

+ 0 - 29
hr-modules/hr-file/src/main/java/com/hr/file/RuoYiFileApplication.java

@@ -1,29 +0,0 @@
-package com.hr.file;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-
-/**
- * 文件服务
- * 
- * @author ruoyi
- */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class RuoYiFileApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(RuoYiFileApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  文件服务模块启动成功   ლ(´ڡ`ლ)゙  \n" +
-                " .-------.       ____     __        \n" +
-                " |  _ _   \\      \\   \\   /  /    \n" +
-                " | ( ' )  |       \\  _. /  '       \n" +
-                " |(_ o _) /        _( )_ .'         \n" +
-                " | (_,_).' __  ___(_ o _)'          \n" +
-                " |  |\\ \\  |  ||   |(_,_)'         \n" +
-                " |  | \\ `'   /|   `-'  /           \n" +
-                " |  |  \\    /  \\      /           \n" +
-                " ''-'   `'-'    `-..-'              ");
-    }
-}

+ 2 - 2
hr-modules/hr-gen/src/main/java/com/hr/gen/RuoYiGenApplication.java → hr-modules/hr-gen/src/main/java/com/hr/gen/HrGenApplication.java

@@ -17,11 +17,11 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @SpringBootApplication
 @MapperScan("com.hr.**.mapper")
 @EnableFeignClients(basePackages = "com.hr.system.api")
-public class RuoYiGenApplication
+public class HrGenApplication
 {
     public static void main(String[] args)
     {
-        SpringApplication.run(RuoYiGenApplication.class, args);
+        SpringApplication.run(HrGenApplication.class, args);
         System.out.println("(♥◠‿◠)ノ゙  代码生成模块启动成功   ლ(´ڡ`ლ)゙  \n" +
                 " .-------.       ____     __        \n" +
                 " |  _ _   \\      \\   \\   /  /    \n" +

+ 2 - 2
hr-modules/hr-job/src/main/java/com/hr/job/RuoYiJobApplication.java → hr-modules/hr-job/src/main/java/com/hr/job/HrJobApplication.java

@@ -13,11 +13,11 @@ import com.hr.common.security.annotation.EnableRyFeignClients;
 @EnableCustomConfig
 @EnableRyFeignClients   
 @SpringBootApplication
-public class RuoYiJobApplication
+public class HrJobApplication
 {
     public static void main(String[] args)
     {
-        SpringApplication.run(RuoYiJobApplication.class, args);
+        SpringApplication.run(HrJobApplication.class, args);
         System.out.println("(♥◠‿◠)ノ゙  定时任务模块启动成功   ლ(´ڡ`ლ)゙  \n" +
                 " .-------.       ____     __        \n" +
                 " |  _ _   \\      \\   \\   /  /    \n" +

+ 1 - 0
hr-modules/hr-system/src/main/java/com/hr/system/HrSystemApplication.java

@@ -24,6 +24,7 @@ public class HrSystemApplication
     {
         SpringApplication.run(HrSystemApplication.class, args);
 
+
         System.out.println("(♥◠‿◠)ノ゙  系统模块启动成功   ლ(´ڡ`ლ)゙  \n" );
     }
 }

+ 8 - 0
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysMenuController.java

@@ -89,6 +89,9 @@ public class SysMenuController extends BaseController
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysMenu menu)
     {
+        if(menu.getMenuType().equals("M") && (menu.getUrl()==null || menu.getUrl().equals(""))){
+            return error("新增菜单'" + menu.getMenuName() + "'失败,菜单url不能为空");
+        }
         if (!menuService.checkMenuNameUnique(menu))
         {
             return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
@@ -109,6 +112,11 @@ public class SysMenuController extends BaseController
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody SysMenu menu)
     {
+        //有些操作权限可以不设置全路径,但是这样就只能实现界面进行权限控制
+        //不能实现url网关拦截
+        if(menu.getMenuType().equals("M") && ( menu.getUrl()==null || menu.getUrl().equals(""))){
+            return error("修改菜单'" + menu.getMenuName() + "'失败,菜单url不能为空");
+        }
         if (!menuService.checkMenuNameUnique(menu))
         {
             return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");

+ 4 - 1
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysRoleController.java

@@ -47,7 +47,7 @@ public class SysRoleController extends BaseController
     private ISysDeptService deptService;
 
     @RequiresPermissions("system:role:list")
-    @GetMapping("/list")
+    @PostMapping("/list")
     public TableDataInfo list(SysRole role)
     {
         startPage();
@@ -55,6 +55,9 @@ public class SysRoleController extends BaseController
         return getDataTable(list);
     }
 
+
+
+
     @Log(title = "角色管理", businessType = BusinessType.EXPORT)
     @RequiresPermissions("system:role:export")
     @PostMapping("/export")

+ 5 - 0
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysSystemController.java

@@ -7,6 +7,11 @@ import com.hr.common.log.enums.BusinessType;
 import com.hr.system.api.domain.SysDept;
 import com.hr.system.domain.SysBusinessSystem;
 import com.hr.system.service.ISysSystemService;
+import com.hr.common.log.annotation.Log;
+import com.hr.common.log.enums.BusinessType;
+import com.hr.common.security.annotation.RequiresPermissions;
+import com.hr.common.security.utils.SecurityUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;

+ 271 - 293
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysUserController.java

@@ -1,10 +1,7 @@
 package com.hr.system.controller;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
@@ -78,20 +75,203 @@ public class SysUserController extends BaseController
     @Autowired
     private ISysMenuService menuService;
 
-
-
     /**
      * 获取用户列表
      */
     @RequiresPermissions("system:user:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysUser user)
+    @PostMapping("/list")
+    public TableDataInfo queryUserList(@RequestBody SysUser user)
     {
         startPage();
-        List<SysUser> list = userService.selectUserListBaseOrg(user);
+        List<SysUser> list = userService.selectUserList(user);
         return getDataTable(list);
     }
 
+//    /**
+//     * 注册用户信息
+//     */
+//    @InnerAuth
+//    @PostMapping("/register")
+//    public R<Boolean> register(@RequestBody SysUser sysUser)
+//    {
+//        String username = sysUser.getUserName();
+//        if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
+//        {
+//            return R.fail("当前系统没有开启注册功能!");
+//        }
+//        if (!userService.checkUserNameUnique(sysUser))
+//        {
+//            return R.fail("保存用户'" + username + "'失败,注册账号已存在");
+//        }
+//        return R.ok(userService.registerUser(sysUser));
+//    }
+
+
+    /**
+     * 新增用户
+     */
+    @RequiresPermissions("system:user:add")
+    @Log(title = "用户管理", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@Validated @RequestBody SysUser user)
+    {
+        //判断选择的部门和角色是否存在
+        SysDept dept = deptService.selectDeptById(user.getDeptId());
+        if (dept == null || "2".equals(dept.getDelFlag())){
+            return error("新增用户'" + user.getUserName() + "'失败,选择的部门不存在");
+        }
+        SysRole role = roleService.selectRoleById(user.getRoleId());
+        if (role == null || "2".equals(role.getDelFlag())){
+            return error("新增用户'" + user.getUserName() + "'失败,选择的角色不存在");
+        }
+        //检查用户名是否唯一
+        if (!userService.checkUserNameUnique(user))
+        {
+            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
+        }
+        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
+        {
+            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
+        }
+        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
+        {
+            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setCreateBy(SecurityUtils.getUsername());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        return toAjax(userService.insertUser(user));
+    }
+
+    /**
+     * 修改用户
+     */
+    @RequiresPermissions("system:user:edit")
+    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@Validated @RequestBody SysUser user)
+    {
+        //判断选择的部门和角色是否存在
+        SysDept dept = deptService.selectDeptById(user.getDeptId());
+        if (dept == null || "2".equals(dept.getDelFlag())){
+            return error("新增用户'" + user.getUserName() + "'失败,选择的部门不存在");
+        }
+        SysRole role = roleService.selectRoleById(user.getRoleId());
+        if (role == null || "2".equals(role.getDelFlag())){
+            return error("新增用户'" + user.getUserName() + "'失败,选择的角色不存在");
+        }
+        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
+        {
+            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        }
+        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
+        {
+            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setUpdateBy(SecurityUtils.getUsername());
+        return toAjax(userService.updateUser(user));
+    }
+
+    /**
+     * 删除用户
+     */
+    @RequiresPermissions("system:user:remove")
+    @Log(title = "用户管理", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    public AjaxResult delete(@Validated @RequestBody Long[] userIds)
+    {
+        if (ArrayUtils.contains(userIds, SecurityUtils.getUserId()))
+        {
+            return error("当前登录用户“"+SecurityUtils.getUsername()+"”不能删除");
+        }
+        return toAjax(userService.deleteUserByIds(userIds));
+    }
+
+    /**
+     * 获取当前登录的用户信息
+     *
+     * @return 用户信息
+     */
+    @GetMapping("getInfo")
+    public AjaxResult getInfo()
+    {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUser user = loginUser.getSysUser();
+        // 角色集合
+        Set<String> roles = permissionService.getRolePermission(user);
+        // 权限集合
+        Set<String> permissions = permissionService.getMenuPermission(user);
+        if (!loginUser.getPermissions().equals(permissions))
+        {
+            loginUser.setPermissions(permissions);
+            tokenService.refreshToken(loginUser);
+        }
+        AjaxResult ajax = AjaxResult.success();
+        ajax.put("user", user);
+        ajax.put("roles", roles);
+        ajax.put("permissions", permissions);
+        return ajax;
+    }
+
+    /**
+     *记录用户登录IP地址和登录时间
+     */
+    @InnerAuth
+    @PostMapping("/recordlogin")
+    public R<Boolean> recordlogin(@RequestBody SysUser sysUser)
+    {
+        SysUser updateSysUser = userService.selectUserById(sysUser.getUserId());
+        updateSysUser.setLoginIp(sysUser.getLoginIp());
+        updateSysUser.setLoginDate(sysUser.getLoginDate());
+        return R.ok(userService.updateUserProfile(updateSysUser));
+    }
+
+    /**
+     * 根据用户ID获取用户信息
+     */
+    @PostMapping("/getUserInfoById")
+    public AjaxResult getUserInfoById(@RequestBody SysUser sysUser)
+    {
+        SysUser user = userService.selectUserById(sysUser.getUserId());
+        AjaxResult ajax = AjaxResult.success();
+        ajax.put("user", user);
+        return ajax;
+    }
+
+
+
+
+
+
+
+
+
+    /****************下面接口无用********************/
+
+    /**
+     * 用户授权角色
+     */
+    @RequiresPermissions("system:user:edit")
+    @Log(title = "用户管理", businessType = BusinessType.GRANT)
+    @PutMapping("/authRole")
+    public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
+    {
+        userService.checkUserDataScope(userId);
+        roleService.checkRoleDataScope(roleIds);
+        userService.insertUserAuth(userId, roleIds);
+        return success();
+    }
+
+    /**
+     * 获取部门树列表
+     */
+    @RequiresPermissions("system:user:list")
+    @GetMapping("/deptTree")
+    public AjaxResult deptTree(SysDept dept)
+    {
+        return success(deptService.selectDeptTreeList(dept));
+    }
+
+
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
     @RequiresPermissions("system:user:export")
     @PostMapping("/export")
@@ -134,7 +314,20 @@ public class SysUserController extends BaseController
             return R.fail("用户名或密码错误");
         }
         // 角色集合
-        Set<String> roles = permissionService.getRolePermission(sysUser);
+//        Set<String> roles = permissionService.getRolePermission(sysUser);
+         List<SysRole> roleslist=permissionService.getRoleList(sysUser);
+
+        Set<String> roles = new HashSet<>();
+        for (SysRole perm : roleslist)
+        {
+            if (StringUtils.isNotNull(perm))
+            {
+                roles.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
+            }
+        }
+
+        LoginUser sysUserVo = new LoginUser();
+
         // 权限集合
         Set<String> permissions = permissionService.getMenuPermission(sysUser);
 
@@ -142,7 +335,9 @@ public class SysUserController extends BaseController
          * 新增代码查询出当前用户的所有菜单(包括按钮),以便获取菜单权限
          */
         List<SysMenu> menus = menuService.selectMenuTreeByUserId2(sysUser.getUserId());
-        JSONObject menump=dealMenuMap(menus);
+//        JSONObject menump=dealMenuMap(menus);
+        JSONObject menump=calcUserMenuList( menus,roleslist);
+        sysUserVo.setSysMenuUrls(menump);
 
         /**
          * 新增代码获取当前用户的岗位
@@ -153,13 +348,13 @@ public class SysUserController extends BaseController
             userpstlststr.add(_s.getPostCode());
         }
 
-        LoginUser sysUserVo = new LoginUser();
+
 
         /***
          * 设置当前用户的菜单路径集合
          */
-        sysUserVo.setSysMenuUrls(menump);
-        sysUserVo.setSysPostsList(userpstlststr);
+//        sysUserVo.setSysMenuUrls(menump);
+//        sysUserVo.setSysPostsList(userpstlststr);
 
 
         /*****
@@ -192,135 +387,74 @@ public class SysUserController extends BaseController
 //            if(_d.getDepType().equals("base")){
 //                userorgdept=_d;
 //            }
-            sysUserVo.setUserDeptList(deptlist);
-        }
-
-        //用户只能关联一个基础组织机构id
-        if(userorgdept!=null) {
-            sysUserVo.setDepCode(userorgdept.getAncestors());
-            sysUserVo.setDepId(userorgdept.getDeptId());
-//            sysUserVo.setOrgCode(userorgdept.getOrgCode());
+//            sysUserVo.setUserDeptList(deptlist);
         }
 
-        Map<String, List<SysDeptDto>> groupedByDepTypemap = deptlist.stream()
-                .collect(Collectors.groupingBy(SysDeptDto::getDepType));
-
-
-        JSONObject depinfo=new JSONObject();
-        //filename --> = like in
-        //userid 本人
-        //dept_id 组织id List Long
-        //dept_code 组织编码  List String
-        //auth_cs_dept_id 业务组织id List Long
-        //auth_cs_dept_code 业务组织编码  List String
-//        depinfo.put("userid",sysUser.getUserId());
-        depinfo.put("=",new JSONObject());
-        depinfo.put("in",new JSONObject());
-        depinfo.put("like",new JSONObject());
-
-        for(SysRole _r:roleList){
-
-            //开始循环不同业务类型下面的数据
-            for(String _k:groupedByDepTypemap.keySet()) {
-                //1全部数据 2自定义 3本部门权限 4本部门以及以下 5本人
-                //如果是2,自定义,需要将当前角色关联的部门Ids加入进来
-                if (_r.getDataScope().equals("2") && _k.equals(_r.getRoleDeptType())) {
-                    String _filename="dep_id";
-                    if(!_k.equals("base")){
-                        _filename="auth_"+_k+"_depid";
-                    }
 
-                    JSONObject depinfo1=depinfo.getJSONObject("in");
-                    if(!depinfo1.containsKey(_filename)){
-                        depinfo1.put(_filename,new ArrayList<Long>());
-                    }
-                    List<Long> _depidlist=depinfo1.getObject( _filename, List.class);
-//                    deptService.selectDeptListByRoleId(roleId)
-                    _depidlist.addAll( deptService.selectDeptListByRoleId(_r.getRoleId(),_k));
-                    depinfo1.put(_filename,_depidlist);
-                }
-                //3本部门权限
-                if (_r.getDataScope().equals("3") && _k.equals(_r.getRoleDeptType())) {
 
-                    String _filename="dep_id";
-                    if(!_k.equals("base")){
-                        _filename="auth_"+_k+"_depid";
-                    }
+//        Map<String, List<SysDeptDto>> groupedByDepTypemap = deptlist.stream()
+//                .collect(Collectors.groupingBy(SysDeptDto::getDepType));
 
-                    JSONObject depinfo1=depinfo.getJSONObject("in");
-                    if(!depinfo1.containsKey(_filename)){
-                        depinfo1.put(_filename,new ArrayList<Long>());
-                    }
-                    List<Long> _depidlist=depinfo1.getObject( _filename, List.class);
-                    //根据用户id和业务组织类型查询组织id
-                    _depidlist.addAll( deptService.selectDeptListByuserId(sysUser.getUserId(),_k));
-                    depinfo1.put(_filename,_depidlist);
 
-                }
-//                4本部门以及以下
-                if(_r.getDataScope().equals("4") && _k.equals(_r.getRoleDeptType())){
+        sysUserVo.setSysUser(sysUser);
+        sysUserVo.setRoles(roles);
+        sysUserVo.setPermissions(permissions);
+        return R.ok(sysUserVo);
+    }
 
-                    String _filename="dep_code";
-                    if(!_k.equals("base")){
-                        _filename="auth_"+_k+"_depcode";
-                    }
+    private JSONObject calcUserMenuList(List<SysMenu> menus,List<SysRole> roleList){
+        JSONObject menumap=new JSONObject();
+        Map<String,Object> roleKeyMap=new HashMap<>();
+        for(SysRole r:roleList){
+            String[] _spl=r.getRoleKey().split(",");
+            for(String _k:_spl){
+                roleKeyMap.put(_k,null);
+            }
 
-                    JSONObject depinfo1=depinfo.getJSONObject("like");
-                    if(!depinfo1.containsKey(_filename)){
-                        depinfo1.put(_filename,new ArrayList<Long>());
-                    }
-                    List<String> _depidlist=depinfo1.getObject( _filename, List.class);
-                    //根据用户id和业务组织类型查询组织id
-                    _depidlist.addAll( deptService.selectDeptListByuserIdChild(sysUser.getUserId(),_k));
-                    depinfo1.put(_filename,_depidlist);
-                }
-                //5本人
-                if ( _r.getDataScope().equals("5") && _k.equals(_r.getRoleDeptType())) {
-                    String _filename="creater_id";
-                    JSONObject depinfo1=depinfo.getJSONObject("=");
-                    depinfo1.put( _filename, sysUser.getUserId());
+        }
+        for(SysMenu _m:menus){
+            depthCalcMenuMapDealMenu(_m,menumap,menumap,roleKeyMap);
+        }
+        return menumap;
+    }
+    private  void depthCalcMenuMapDealMenu(SysMenu _m,JSONObject menumap,JSONObject dynamicmap,Map<String,Object> roleKeyMap){
+        JSONObject _curmap=dynamicmap;
+        if(_m.getUrl()!=null) {
+            _curmap=getLastJson(_m,menumap);
 
+            if(StringUtils.isNotEmpty(_m.getUrlmatch())) {
+                delPermsSet(_curmap, _m.getUrlmatch());
+            }
+        }
+        JSONArray permsarr=new JSONArray();
+        if (menumap.containsKey(permsKey)) {
+            permsarr = menumap.getJSONArray(permsKey);
+        }
+        boolean flag= false;
+        if(roleKeyMap.size()>0 && permsarr.size()>0){
+            int count=0;
+            for (Object obj : permsarr) {
+                String item = (String) obj;
+                if(roleKeyMap.containsKey(item)){
+                    count++;
                 }
             }
-
+            if( count>0){
+                flag=true;
+            }
+        }else{
+            flag=true;
         }
-        sysUserVo.setAuthInfo(depinfo);
-
-
-        /***
-        sysUserVo.setDepidlist(depidlist);
-
-        sysUserVo.setDatascopelist(new ArrayList<>());
-
-
-        for(SysRole _r:roleList){
-            //排除超级管理员
-            // ##################和自定义数据权限,合并在一起了,权限,只排除超级管理员
-            if(_r.getDataScope()!=null &&
-                    !(_r.getDataScope().equals("1")
-//                            || _r.getDataScope().equals("2")
-                    )) {
-//                sysUserVo.getDatascopelist().add(_r.getDataScope() + ":" + sysUser.getDept().getAncestors());
-                //设置权限2#base:deptid@201,202,203;deptcode@0,100,201#
-
-                for(SysDept _d:userdeps){
-
+        if(flag) {
+            if (_m.getChildren() != null && _m.getChildren().size() > 0) {
+                for (SysMenu _m2 : _m.getChildren()) {
+                    depthCalcMenuMapDealMenu(_m2, menumap,_curmap, roleKeyMap);
                 }
             }
         }
-***/
-
-
-//        sysUserVo.setDepId(dep.getDeptId());
-//        sysUserVo.setDepCode(dep.getAncestors());
-
-
-        sysUserVo.setSysUser(sysUser);
-        sysUserVo.setRoles(roles);
-        sysUserVo.setPermissions(permissions);
-        return R.ok(sysUserVo);
     }
 
+
     private JSONObject dealMenuMap(List<SysMenu> menus){
         JSONObject menumap=new JSONObject();
         for(SysMenu _m:menus){
@@ -331,17 +465,16 @@ public class SysUserController extends BaseController
 
     private  void depthDealMenuMapDealMenu(SysMenu _m,JSONObject menumap,JSONObject dynamicmap){
         JSONObject _curmap=dynamicmap;
-        //如果当前没有设置地址的,则看当前的SysMenu是否有权限字段,如果有则设置当前的权限字段permsKey
-        if(_m.getComponent()!=null) {
-            String _perms=_m.getPerms();
+
+        if(_m.getUrl()!=null) {
+
             _curmap=getLastJson(_m,menumap);
-        }
-        else{
-            //如果当前没有设置地址的,则看当前的SysMenu是否有权限字段,如果有则设置当前的权限字段permsKey
-            if(StringUtils.isNotEmpty(_m.getPerms())) {
-                delPermsSet(_curmap, _m.getPerms());
+
+            if(StringUtils.isNotEmpty(_m.getUrlmatch())) {
+                delPermsSet(_curmap, _m.getUrlmatch());
             }
         }
+
         if(_m.getChildren()!=null && _m.getChildren().size()>0) {
             for(SysMenu _m2:_m.getChildren()) {
                 depthDealMenuMapDealMenu(_m2,menumap, _curmap);
@@ -351,7 +484,7 @@ public class SysUserController extends BaseController
     }
 
     private void delPermsSet(JSONObject menumap,String perms){
-        //如果当前已经有权限字段,则需要去重
+
         if(StringUtils.isNotEmpty(perms)) {
             JSONArray arr=null;
             if (menumap.containsKey(permsKey)) {
@@ -373,12 +506,12 @@ public class SysUserController extends BaseController
 
     private JSONObject getLastJson(SysMenu _m,JSONObject menumap){
         JSONObject _curmap=menumap;
-        String _path=_m.getComponent();
+        String _path=_m.getUrl();
         if(StringUtils.isNotEmpty(_path)) {
             if (_path.startsWith("/")) {
                 _path = _path.substring(1);
             }
-            //如果当前url带?的,则需要去掉?后面的数据
+
             int hasparmidx = _path.indexOf("?");
             if (hasparmidx > 1) {
                 _path = _path.substring(0, hasparmidx);
@@ -407,60 +540,8 @@ public class SysUserController extends BaseController
     }
 
 
-    /**
-     * 注册用户信息
-     */
-    @InnerAuth
-    @PostMapping("/register")
-    public R<Boolean> register(@RequestBody SysUser sysUser)
-    {
-        String username = sysUser.getUserName();
-        if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
-        {
-            return R.fail("当前系统没有开启注册功能!");
-        }
-        if (!userService.checkUserNameUnique(sysUser))
-        {
-            return R.fail("保存用户'" + username + "'失败,注册账号已存在");
-        }
-        return R.ok(userService.registerUser(sysUser));
-    }
 
-    /**
-     *记录用户登录IP地址和登录时间
-     */
-    @InnerAuth
-    @PutMapping("/recordlogin")
-    public R<Boolean> recordlogin(@RequestBody SysUser sysUser)
-    {
-        return R.ok(userService.updateUserProfile(sysUser));
-    }
 
-    /**
-     * 获取用户信息
-     * 
-     * @return 用户信息
-     */
-    @GetMapping("getInfo")
-    public AjaxResult getInfo()
-    {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser user = loginUser.getSysUser();
-        // 角色集合
-        Set<String> roles = permissionService.getRolePermission(user);
-        // 权限集合
-        Set<String> permissions = permissionService.getMenuPermission(user);
-        if (!loginUser.getPermissions().equals(permissions))
-        {
-            loginUser.setPermissions(permissions);
-            tokenService.refreshToken(loginUser);
-        }
-        AjaxResult ajax = AjaxResult.success();
-        ajax.put("user", user);
-        ajax.put("roles", roles);
-        ajax.put("permissions", permissions);
-        return ajax;
-    }
 
     /**
      * 根据用户编号获取详细信息
@@ -484,75 +565,9 @@ public class SysUserController extends BaseController
         return ajax;
     }
 
-    /**
-     * 新增用户
-     */
-    @RequiresPermissions("system:user:add")
-    @Log(title = "用户管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
-        deptService.checkDeptDataScope(user.getDeptId());
-        roleService.checkRoleDataScope(user.getRoleIds());
-        if (!userService.checkUserNameUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setCreateBy(SecurityUtils.getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        return toAjax(userService.insertUser(user));
-    }
 
-    /**
-     * 修改用户
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysUser user)
-    {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
-        deptService.checkDeptDataScope(user.getDeptId());
-        roleService.checkRoleDataScope(user.getRoleIds());
-        if (!userService.checkUserNameUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(userService.updateUser(user));
-    }
 
-    /**
-     * 删除用户
-     */
-    @RequiresPermissions("system:user:remove")
-    @Log(title = "用户管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{userIds}")
-    public AjaxResult remove(@PathVariable Long[] userIds)
-    {
-        if (ArrayUtils.contains(userIds, SecurityUtils.getUserId()))
-        {
-            return error("当前用户不能删除");
-        }
-        return toAjax(userService.deleteUserByIds(userIds));
-    }
+
 
     /**
      * 重置密码
@@ -583,42 +598,5 @@ public class SysUserController extends BaseController
         return toAjax(userService.updateUserStatus(user));
     }
 
-    /**
-     * 根据用户编号获取授权角色
-     */
-    @RequiresPermissions("system:user:query")
-    @GetMapping("/authRole/{userId}")
-    public AjaxResult authRole(@PathVariable("userId") Long userId)
-    {
-        AjaxResult ajax = AjaxResult.success();
-        SysUser user = userService.selectUserById(userId);
-        List<SysRole> roles = roleService.selectRolesByUserId(userId);
-        ajax.put("user", user);
-        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
-        return ajax;
-    }
 
-    /**
-     * 用户授权角色
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authRole")
-    public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
-    {
-        userService.checkUserDataScope(userId);
-        roleService.checkRoleDataScope(roleIds);
-        userService.insertUserAuth(userId, roleIds);
-        return success();
-    }
-
-    /**
-     * 获取部门树列表
-     */
-    @RequiresPermissions("system:user:list")
-    @GetMapping("/deptTree")
-    public AjaxResult deptTree(SysDept dept)
-    {
-        return success(deptService.selectDeptTreeList(dept));
-    }
 }

+ 29 - 0
hr-modules/hr-system/src/main/java/com/hr/system/controller/TestController.java

@@ -0,0 +1,29 @@
+package com.hr.system.controller;
+
+import com.hr.common.core.web.domain.AjaxResult;
+import com.hr.common.core.web.page.TableDataInfo;
+import com.hr.system.api.domain.SysUser;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author yaoy
+ * @createTime 2025/9/30 17:35
+ **/
+@RestController
+@RequestMapping("/test")
+public class TestController {
+
+    @GetMapping("/query")
+    public AjaxResult queryUserList(@RequestBody SysUser user)
+    {
+       return AjaxResult.success("query");
+    }
+
+    @GetMapping("/list")
+    public AjaxResult listList(@RequestBody SysUser user)
+    {
+        return AjaxResult.success("list");
+    }
+}

+ 34 - 0
hr-modules/hr-system/src/main/java/com/hr/system/domain/SysMenu.java

@@ -60,6 +60,12 @@ public class SysMenu extends BaseEntity
     /** 菜单状态(0正常 1停用) */
     private String status;
 
+    private String url;
+
+    private String urlmatch;
+
+    private String systemCode;
+
     /** 权限字符串 */
     private String perms;
 
@@ -246,6 +252,30 @@ public class SysMenu extends BaseEntity
         this.children = children;
     }
 
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getUrlmatch() {
+        return urlmatch;
+    }
+
+    public void setUrlmatch(String urlmatch) {
+        this.urlmatch = urlmatch;
+    }
+
+    public String getSystemCode() {
+        return systemCode;
+    }
+
+    public void setSystemCode(String systemCode) {
+        this.systemCode = systemCode;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -269,6 +299,10 @@ public class SysMenu extends BaseEntity
             .append("updateBy", getUpdateBy())
             .append("updateTime", getUpdateTime())
             .append("remark", getRemark())
+            .append("url", getUrl())
+            .append("urlmatch", getUrlmatch())
+            .append("systemCode", getSystemCode())
+
             .toString();
     }
 }

+ 4 - 0
hr-modules/hr-system/src/main/java/com/hr/system/service/ISysPermissionService.java

@@ -1,7 +1,9 @@
 package com.hr.system.service;
 
+import java.util.List;
 import java.util.Set;
 
+import com.hr.system.api.domain.SysRole;
 import com.hr.system.api.domain.SysUser;
 
 /**
@@ -28,4 +30,6 @@ public interface ISysPermissionService
     public Set<String> getMenuPermission(SysUser user);
 
 
+    public List<SysRole> getRoleList(SysUser user);
+
 }

+ 11 - 0
hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysPermissionServiceImpl.java

@@ -1,8 +1,11 @@
 package com.hr.system.service.impl;
 
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import com.hr.system.mapper.SysRoleMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -27,6 +30,14 @@ public class SysPermissionServiceImpl implements ISysPermissionService
 
     @Autowired
     private ISysMenuService menuService;
+    @Autowired
+    private SysRoleMapper roleMapper;
+
+    @Override
+    public List<SysRole> getRoleList(SysUser user) {
+        List<SysRole> roles = roleMapper.selectRolePermissionByUserId(user.getUserId());
+        return roles;
+    }
 
     /**
      * 获取角色数据权限

+ 6 - 15
hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysUserServiceImpl.java

@@ -177,7 +177,7 @@ public class SysUserServiceImpl implements ISysUserService
     }
 
     /**
-     * 校验用户名称是否唯一
+     * 校验登录账号是否唯一
      * 
      * @param user 用户信息
      * @return 结果
@@ -276,12 +276,8 @@ public class SysUserServiceImpl implements ISysUserService
     {
         // 新增用户信息
         int rows = userMapper.insertUser(user);
-        // 新增用户岗位关联
-        insertUserPost(user);
         // 新增用户与角色管理
         insertUserRole(user);
-
-        insertUserDep(user);
         return rows;
     }
 
@@ -310,15 +306,8 @@ public class SysUserServiceImpl implements ISysUserService
         Long userId = user.getUserId();
         // 删除用户与角色关联
         userRoleMapper.deleteUserRoleByUserId(userId);
-
-        userDepMapper.deleteUserDepByUserId(userId);
-        insertUserDep(user);
         // 新增用户与角色管理
         insertUserRole(user);
-        // 删除用户与岗位关联
-        userPostMapper.deleteUserPostByUserId(userId);
-        // 新增用户与岗位管理
-        insertUserPost(user);
         return userMapper.updateUser(user);
     }
 
@@ -405,7 +394,11 @@ public class SysUserServiceImpl implements ISysUserService
      */
     public void insertUserRole(SysUser user)
     {
-        this.insertUserRole(user.getUserId(), user.getRoleIds());
+        //将用户中的角色id放入角色数组
+        Long[] roles = new Long[] {
+            user.getRoleId()
+        };
+        this.insertUserRole(user.getUserId(), roles);
     }
 
 
@@ -525,8 +518,6 @@ public class SysUserServiceImpl implements ISysUserService
         }
         // 删除用户与角色关联
         userRoleMapper.deleteUserRole(userIds);
-        // 删除用户与岗位关联
-        userPostMapper.deleteUserPost(userIds);
         return userMapper.deleteUserByIds(userIds);
     }
 

+ 4 - 3
hr-modules/hr-system/src/main/resources/logback.xml

@@ -14,7 +14,7 @@
 
     <!-- 系统日志输出 -->
 	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
+<!--	    <file>${log.path}/info.log</file>-->
         <!-- 循环政策:基于时间创建日志文件 -->
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->
@@ -36,7 +36,7 @@
 	</appender>
 
     <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
+<!--	    <file>${log.path}/error.log</file>-->
         <!-- 循环政策:基于时间创建日志文件 -->
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->
@@ -58,7 +58,8 @@
     </appender>
 
     <!-- 系统模块日志级别控制  -->
-	<logger name="com.hr" level="info" />
+<!--	<logger name="com.hr" level="info" />-->
+    <logger name="com.hr" level="debug" />
 	<!-- Spring日志级别控制  -->
 	<logger name="org.springframework" level="warn" />
 

+ 1 - 4
hr-modules/hr-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -12,9 +12,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="orderNum"   column="order_num"   />
 		<result property="leader"     column="leader"      />
 		<result property="phone"      column="phone"       />
-		<result property="depType"      column="dep_type"       />
-		<result property="orgCode"      column="org_code"       />
-
 		<result property="email"      column="email"       />
 		<result property="status"     column="status"      />
 		<result property="delFlag"    column="del_flag"    />
@@ -26,7 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<sql id="selectDeptVo">
-        select d.dept_id ,d.org_code, d.dep_type,d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time
+        select d.dept_id ,d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time
         from sys_dept d
     </sql>
     

+ 23 - 5
hr-modules/hr-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -26,16 +26,23 @@
 		<result property="updateTime"     column="update_time"    />
 		<result property="updateBy"       column="update_by"      />
 		<result property="remark"         column="remark"         />
+		<result property="url"         column="url"         />
+		<result property="urlmatch"         column="urlmatch"         />
+		<result property="systemCode"         column="system_code"         />
+
 	</resultMap>
 
 	<sql id="selectMenuVo">
-        select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time 
+        select menu_id, menu_name, parent_id, url ,urlmatch,system_code ,order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time
 		from sys_menu
     </sql>
     
     <select id="selectMenuList" parameterType="SysMenu" resultMap="SysMenuResult">
 		<include refid="selectMenuVo"/>
 		<where>
+			<if test="systemCode != null and systemCode != ''">
+				AND m.system_code = #{systemCode}
+			</if>
 			<if test="menuName != null and menuName != ''">
 				AND menu_name like concat('%', #{menuName}, '%')
 			</if>
@@ -50,18 +57,21 @@
 	</select>
 	
 	<select id="selectMenuTreeAll" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id,m.url,m.urlmatch,m.system_code, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(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 where m.menu_type in ('M', 'C') and m.status = 0
 		order by m.parent_id, m.order_num
 	</select>
 	
 	<select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id,m.url,m.urlmatch,m.system_code, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(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
 		left join sys_role_menu rm on m.menu_id = rm.menu_id
 		left join sys_user_role ur on rm.role_id = ur.role_id
 		left join sys_role ro on ur.role_id = ro.role_id
 		where ur.user_id = #{params.userId}
+		<if test="systemCode != null and systemCode != ''">
+			AND m.system_code = #{systemCode}
+		</if>
 		<if test="menuName != null and menuName != ''">
             AND m.menu_name like concat('%', #{menuName}, '%')
 		</if>
@@ -75,7 +85,7 @@
 	</select>
     
     <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id,m.url,m.urlmatch,m.system_code, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(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
 			 left join sys_role_menu rm on m.menu_id = rm.menu_id
 			 left join sys_user_role ur on rm.role_id = ur.role_id
@@ -86,7 +96,7 @@
 	</select>
 
 	<select id="selectMenuTreeByUserId2" parameterType="Long" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id,m.url,m.urlmatch,m.system_code, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(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
 				 left join sys_role_menu rm on m.menu_id = rm.menu_id
 				 left join sys_user_role ur on rm.role_id = ur.role_id
@@ -162,6 +172,8 @@
 			<if test="perms !=null">perms = #{perms},</if>
 			<if test="icon !=null and icon != ''">icon = #{icon},</if>
 			<if test="remark != null and remark != ''">remark = #{remark},</if>
+			<if test="url != null and url != ''">url = #{url},</if>
+			<if test="urlmatch != null and urlmatch != ''">urlmatch = #{urlmatch},</if>
 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
 			update_time = sysdate()
 		</set>
@@ -186,6 +198,9 @@
 		<if test="perms !=null and perms != ''">perms,</if>
 		<if test="icon != null and icon != ''">icon,</if>
 		<if test="remark != null and remark != ''">remark,</if>
+		<if test="url != null and url != ''">url,</if>
+		<if test="urlmatch != null and urlmatch != ''">urlmatch,</if>
+
 		<if test="createBy != null and createBy != ''">create_by,</if>
 		create_time
 		)values(
@@ -205,6 +220,9 @@
 		<if test="perms !=null and perms != ''">#{perms},</if>
 		<if test="icon != null and icon != ''">#{icon},</if>
 		<if test="remark != null and remark != ''">#{remark},</if>
+		<if test="url != null and url != ''">#{url},</if>
+		<if test="urlmatch != null and urlmatch != ''">#{urlmatch},</if>
+
 		<if test="createBy != null and createBy != ''">#{createBy},</if>
 		sysdate()
 		)

+ 12 - 14
hr-modules/hr-system/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -10,7 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="roleKey"            column="role_key"              />
 		<result property="roleSort"           column="role_sort"             />
 		<result property="dataScope"          column="data_scope"            />
-		<result property="roleDeptType"          column="role_dept_type"            />
+		<result property="deptId"         	  column="dept_id"            />
 
 		<result property="menuCheckStrictly"  column="menu_check_strictly"   />
 		<result property="deptCheckStrictly"  column="dept_check_strictly"   />
@@ -21,10 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="updateBy"           column="update_by"             />
 		<result property="updateTime"         column="update_time"           />
 		<result property="remark"             column="remark"                />
+		<result property="roleUrlmatchKey"             column="role_urlmatch_key"                />
+
 	</resultMap>
 	
 	<sql id="selectRoleVo">
-	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope , r.role_dept_type, r.menu_check_strictly, r.dept_check_strictly,
+	    select distinct r.role_id, r.role_name, r.role_key,r.role_urlmatch_key, r.role_sort, r.data_scope , r.menu_check_strictly, r.dept_check_strictly,
             r.status, r.del_flag, r.create_time, r.remark 
         from sys_role r
 	        left join sys_user_role ur on ur.role_id = r.role_id
@@ -44,11 +46,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="status != null and status != ''">
 			AND r.status = #{status}
 		</if>
-		<if test="roleDeptType != null and roleDeptType != ''">
-			AND r.role_dept_type =  #{roleDeptType}
-		</if>
-
-
 		<if test="roleKey != null and roleKey != ''">
 			AND r.role_key like concat('%', #{roleKey}, '%')
 		</if>
@@ -58,8 +55,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
 			and date_format(r.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
 		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
 		order by r.role_sort
 	</select>
     
@@ -105,9 +100,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="roleId != null and roleId != 0">role_id,</if>
  			<if test="roleName != null and roleName != ''">role_name,</if>
  			<if test="roleKey != null and roleKey != ''">role_key,</if>
+			<if test="roleUrlmatchKey != null and roleUrlmatchKey != ''">role_urlmatch_key,</if>
+
  			<if test="roleSort != null">role_sort,</if>
  			<if test="dataScope != null and dataScope != ''">data_scope,</if>
-		<if test="roleDeptType != null and roleDeptType != ''">role_dept_type,</if>
+			<if test="deptId != null and deptId != ''">dept_id,</if>
 
  			<if test="menuCheckStrictly != null">menu_check_strictly,</if>
  			<if test="deptCheckStrictly != null">dept_check_strictly,</if>
@@ -119,9 +116,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="roleId != null and roleId != 0">#{roleId},</if>
  			<if test="roleName != null and roleName != ''">#{roleName},</if>
  			<if test="roleKey != null and roleKey != ''">#{roleKey},</if>
+		<if test="roleUrlmatchKey != null and roleUrlmatchKey != ''">#{roleUrlmatchKey},</if>
  			<if test="roleSort != null">#{roleSort},</if>
  			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
-		<if test="roleDeptType != null and roleDeptType != ''">#{roleDeptType},</if>
+			<if test="deptId != null and deptId != ''">#{dept_id},</if>
 
  			<if test="menuCheckStrictly != null">#{menuCheckStrictly},</if>
  			<if test="deptCheckStrictly != null">#{deptCheckStrictly},</if>
@@ -136,14 +134,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		update sys_role
  		<set>
  			<if test="roleName != null and roleName != ''">role_name = #{roleName},</if>
- 			<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if>
+ 			<if test="roleKey != null ">role_key = #{roleKey},</if>
+			<if test="roleUrlmatchKey != null and roleUrlmatchKey != ''">role_urlmatch_key = #{roleUrlmatchKey},</if>
  			<if test="roleSort != null">role_sort = #{roleSort},</if>
  			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
  			<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if>
  			<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
-			<if test="roleDeptType != null and roleDeptType != ''">role_dept_type = #{roleDeptType},</if>
-
+			<if test="deptId != null and deptId != ''">dept_id = #{deptId},</if>
  			<if test="remark != null">remark = #{remark},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  			update_time = sysdate()

+ 46 - 48
hr-modules/hr-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -9,6 +9,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="deptId"       column="dept_id"      />
         <result property="userName"     column="user_name"    />
         <result property="nickName"     column="nick_name"    />
+		<result property="postName"     column="post_name"    />
+		<result property="userType"     column="user_type"    />
         <result property="email"        column="email"        />
         <result property="phonenumber"  column="phonenumber"  />
         <result property="sex"          column="sex"          />
@@ -23,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy"     column="update_by"    />
         <result property="updateTime"   column="update_time"  />
         <result property="remark"       column="remark"       />
-        <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
+<!--        <association property="dept"    javaType="SysDept"         resultMap="deptResult" />-->
         <collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
     </resultMap>
 	
@@ -45,46 +47,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="dataScope"    column="data_scope"     />
         <result property="status"       column="role_status"    />
     </resultMap>
-	
-	<sql id="selectUserVo">
-        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, 
-        d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
-        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
-        from sys_user u
-		    left join sys_dept d on u.dept_id = d.dept_id
-		    left join sys_user_role ur on u.user_id = ur.user_id
-		    left join sys_role r on r.role_id = ur.role_id
-    </sql>
-
 
-	<select id="selectUserListBaseOrg" parameterType="SysUser" resultMap="SysUserResult">
-		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
-		inner join sys_user_dep ud on  u.user_id=ud.user_id
-		inner join sys_user_dep ud2 on  u.user_id=ud2.user_id
-		inner join sys_dept d on ud2.dep_id = d.dept_id and d.dep_type='base'
-		where u.del_flag = '0'
+	<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.nick_name,u.post_name,u.user_type, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader,
+		r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+		from sys_user u
+		left join sys_dept d on u.dept_id = d.dept_id
+		left join sys_user_role ur on u.user_id = ur.user_id
+		left join sys_role r on ur.role_id = r.role_id
+		where 1=1
+		and u.del_flag = '0' /*查询未删除的数据*/
+		and d.del_flag = '0' /*查询未删除的数据*/
+		and r.del_flag = '0' /*查询未删除的数据*/
 		<if test="userId != null and userId != 0">
 			AND u.user_id = #{userId}
-		</if>
-		<if test="userName==null and userId==null and status==null and phonenumber==null and params.beginTime==null and params.endTime==null and deptId==null and deptIds != null and deptIds.length>0">
-			and (
-
-			ud.dep_id in
-			<foreach collection="deptIds" item="depId" open="(" separator="," close=")">
-				#{depId}
-			</foreach>
-
-			or ud.dep_id in (select d4.dept_id from sys_dept d3 left join sys_dept d4 on d4.ancestors like CONCAT(d3.ancestors,'%') where d3.parent_id in
-			<foreach collection="deptIds" item="depId" open="(" separator="," close=")">
-				#{depId}
-			</foreach>
-			)  )
-
-
 		</if>
 		<if test="userName != null and userName != ''">
 			AND u.user_name like concat('%', #{userName}, '%')
 		</if>
+		<if test="nickName != null and nickName != ''">
+			AND u.nick_name like concat('%', #{nickName}, '%')
+		</if>
 		<if test="status != null and status != ''">
 			AND u.status = #{status}
 		</if>
@@ -98,22 +81,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			AND date_format(u.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
 		</if>
 		<if test="deptId != null ">
-			and ud.dep_id = #{deptId}
-			-- 			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
-		</if>
+			and u.dep_id = #{deptId}
+			-- 		</if>
 		<!-- 数据范围过滤 -->
 		${params.dataScope}
-
-		group by  u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
 	</select>
 
+	
+	<sql id="selectUserVo">
+        select u.user_id, u.dept_id, u.user_name, u.nick_name,u.post_name,u.user_type, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+        d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
+        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+        from sys_user u
+		    left join sys_dept d on u.dept_id = d.dept_id
+		    left join sys_user_role ur on u.user_id = ur.user_id
+		    left join sys_role r on r.role_id = ur.role_id
+    </sql>
 
 
-    <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
-		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
+	<select id="selectUserListBaseOrg" parameterType="SysUser" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.nick_name,u.post_name,u.user_type, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
 		inner join sys_user_dep ud on  u.user_id=ud.user_id
-		left join sys_dept d on u.dept_id = d.dept_id
-
+		inner join sys_user_dep ud2 on  u.user_id=ud2.user_id
+		inner join sys_dept d on ud2.dep_id = d.dept_id and d.dep_type='base'
 		where u.del_flag = '0'
 		<if test="userId != null and userId != 0">
 			AND u.user_id = #{userId}
@@ -121,12 +111,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="userName==null and userId==null and status==null and phonenumber==null and params.beginTime==null and params.endTime==null and deptId==null and deptIds != null and deptIds.length>0">
 			and (
 
-			    ud.dep_id in
+			ud.dep_id in
 			<foreach collection="deptIds" item="depId" open="(" separator="," close=")">
 				#{depId}
 			</foreach>
 
-			          or ud.dep_id in (select d4.dept_id from sys_dept d3 left join sys_dept d4 on d4.ancestors like CONCAT(d3.ancestors,'%') where d3.parent_id in
+			or ud.dep_id in (select d4.dept_id from sys_dept d3 left join sys_dept d4 on d4.ancestors like CONCAT(d3.ancestors,'%') where d3.parent_id in
 			<foreach collection="deptIds" item="depId" open="(" separator="," close=")">
 				#{depId}
 			</foreach>
@@ -151,16 +141,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		</if>
 		<if test="deptId != null ">
 			and ud.dep_id = #{deptId}
--- 			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
+			-- 			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
 		</if>
 		<!-- 数据范围过滤 -->
 		${params.dataScope}
 
 		group by  u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
 	</select>
+
+
 	
 	<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
-	    select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+	    select distinct u.user_id, u.dept_id, u.user_name,u.post_name,u.user_type, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
 	    from sys_user u
 			 left join sys_dept d on u.dept_id = d.dept_id
 			 left join sys_user_role ur on u.user_id = ur.user_id
@@ -177,7 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
-	    select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+	    select distinct u.user_id, u.dept_id, u.user_name, u.nick_name,u.post_name,u.user_type, u.email, u.phonenumber, u.status, u.create_time
 	    from sys_user u
 			 left join sys_dept d on u.dept_id = d.dept_id
 			 left join sys_user_role ur on u.user_id = ur.user_id
@@ -222,6 +214,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="deptId != null and deptId != 0">dept_id,</if>
  			<if test="userName != null and userName != ''">user_name,</if>
  			<if test="nickName != null and nickName != ''">nick_name,</if>
+			<if test="postName != null and postName != ''">post_name,</if>
+			<if test="userType != null and userType != ''">user_type,</if>
  			<if test="email != null and email != ''">email,</if>
  			<if test="avatar != null and avatar != ''">avatar,</if>
  			<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
@@ -236,6 +230,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="deptId != null and deptId != ''">#{deptId},</if>
  			<if test="userName != null and userName != ''">#{userName},</if>
  			<if test="nickName != null and nickName != ''">#{nickName},</if>
+			<if test="postName != null and postName != ''">#{postName},</if>
+			<if test="userType != null and userType != ''">#{userType},</if>
  			<if test="email != null and email != ''">#{email},</if>
  			<if test="avatar != null and avatar != ''">#{avatar},</if>
  			<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
@@ -253,6 +249,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		<set>
  			<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
  			<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
+			<if test="postName != null and postName != ''">post_name = #{postName},</if>
+			<if test="userType != null and userType != ''">user_type = #{userType},</if>
  			<if test="email != null ">email = #{email},</if>
  			<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  			<if test="sex != null and sex != ''">sex = #{sex},</if>

+ 2 - 2
hr-visual/hr-monitor/src/main/java/com/hr/modules/monitor/RuoYiMonitorApplication.java → hr-visual/hr-monitor/src/main/java/com/hr/modules/monitor/HrMonitorApplication.java

@@ -11,11 +11,11 @@ import de.codecentric.boot.admin.server.config.EnableAdminServer;
  */
 @EnableAdminServer
 @SpringBootApplication
-public class RuoYiMonitorApplication
+public class HrMonitorApplication
 {
     public static void main(String[] args)
     {
-        SpringApplication.run(RuoYiMonitorApplication.class, args);
+        SpringApplication.run(HrMonitorApplication.class, args);
         System.out.println("(♥◠‿◠)ノ゙  监控中心启动成功   ლ(´ڡ`ლ)゙  \n" +
                 " .-------.       ____     __        \n" +
                 " |  _ _   \\      \\   \\   /  /    \n" +