diff --git a/pom.xml b/pom.xml
index 42bfb06..df55001 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.3.5
+ 3.4.0
com.zsc.edu
@@ -28,7 +28,7 @@
17
- 3.5.8
+ 3.5.9
1.6.2
@@ -91,6 +91,11 @@
mybatis-plus-spring-boot3-starter
${mybatis-plus.version}
+
+ com.baomidou
+ mybatis-plus-jsqlparser
+ ${mybatis-plus.version}
+
org.springframework.boot
spring-boot-configuration-processor
diff --git a/src/main/java/com/zsc/edu/gateway/FirstTimeInitializer.java b/src/main/java/com/zsc/edu/gateway/FirstTimeInitializer.java
index 3d5644d..f3cd196 100644
--- a/src/main/java/com/zsc/edu/gateway/FirstTimeInitializer.java
+++ b/src/main/java/com/zsc/edu/gateway/FirstTimeInitializer.java
@@ -38,7 +38,6 @@ public class FirstTimeInitializer implements CommandLineRunner {
private final PasswordEncoder passwordEncoder;
@Override
-
public void run(String... args) {
if (authorityService.count() == 0L) {
Authority userPerm = new Authority(null, "用户模块", "用户管理", "SYSTEM:USER", true, null);
diff --git a/src/main/java/com/zsc/edu/gateway/framework/json/JsonConfig.java b/src/main/java/com/zsc/edu/gateway/framework/json/JsonConfig.java
new file mode 100644
index 0000000..805b799
--- /dev/null
+++ b/src/main/java/com/zsc/edu/gateway/framework/json/JsonConfig.java
@@ -0,0 +1,16 @@
+package com.zsc.edu.gateway.framework.json;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class JsonConfig {
+
+ @Bean
+ public Jackson2ObjectMapperBuilderCustomizer customizer() {
+ return builder -> builder.serializationInclusion(JsonInclude.Include.NON_NULL)
+ .serializationInclusion(JsonInclude.Include.NON_EMPTY);
+ }
+}
diff --git a/src/main/java/com/zsc/edu/gateway/framework/security/SpringSecurityConfig.java b/src/main/java/com/zsc/edu/gateway/framework/security/SpringSecurityConfig.java
index 58995b4..588b9e2 100644
--- a/src/main/java/com/zsc/edu/gateway/framework/security/SpringSecurityConfig.java
+++ b/src/main/java/com/zsc/edu/gateway/framework/security/SpringSecurityConfig.java
@@ -84,7 +84,7 @@ public class SpringSecurityConfig {
return http
.authorizeHttpRequests(auth -> auth
- .requestMatchers(HttpMethod.GET, "/api/rest/user/me","/api/rest/user/register","/api/rest/user/send-email").permitAll()
+ .requestMatchers(HttpMethod.GET, "/api/rest/user/me","/api/rest/user/menu","/api/rest/user/register","/api/rest/user/send-email").permitAll()
.requestMatchers(HttpMethod.POST, "/api/rest/user/login","/api/rest/user/register").permitAll()
.requestMatchers("/api/**").authenticated()
)
diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java
index 8f77250..e899870 100644
--- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java
+++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/UserController.java
@@ -2,14 +2,12 @@ package com.zsc.edu.gateway.modules.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.zsc.edu.gateway.framework.security.UserDetailsImpl;
import com.zsc.edu.gateway.modules.system.dto.UserCreateDto;
import com.zsc.edu.gateway.modules.system.dto.UserSelfUpdateDto;
import com.zsc.edu.gateway.modules.system.dto.UserSelfUpdatePasswordDto;
import com.zsc.edu.gateway.modules.system.dto.UserUpdateDto;
import com.zsc.edu.gateway.modules.system.entity.Authority;
-import com.zsc.edu.gateway.modules.system.entity.Menu;
import com.zsc.edu.gateway.modules.system.entity.Role;
import com.zsc.edu.gateway.modules.system.entity.User;
import com.zsc.edu.gateway.modules.system.query.UserQuery;
@@ -17,7 +15,6 @@ import com.zsc.edu.gateway.modules.system.service.*;
import com.zsc.edu.gateway.modules.system.utils.TreeUtil;
import com.zsc.edu.gateway.modules.system.vo.MenuVo;
import com.zsc.edu.gateway.modules.system.vo.UserDetail;
-import com.zsc.edu.gateway.modules.system.vo.UserVo;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java
index 8fa5392..af34de1 100644
--- a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java
+++ b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Dept.java
@@ -12,13 +12,11 @@ import java.util.Set;
* 部门
*
* @author Yao
- * @since 2023-04-06
*/
@Getter
@Setter
@TableName("sys_dept")
public class Dept extends BaseEntity {
-
/**
* 上级部门
*/
diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Menu.java b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Menu.java
index d6e956d..3519c81 100644
--- a/src/main/java/com/zsc/edu/gateway/modules/system/entity/Menu.java
+++ b/src/main/java/com/zsc/edu/gateway/modules/system/entity/Menu.java
@@ -1,100 +1,45 @@
package com.zsc.edu.gateway.modules.system.entity;
import com.baomidou.mybatisplus.annotation.EnumValue;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.databind.JavaType;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.ibatis.type.JdbcType;
+import lombok.*;
/**
- * 菜单
+ * 操作权限
*
* @author harry yao
*/
@Getter
@Setter
+@NoArgsConstructor
+@AllArgsConstructor()
@EqualsAndHashCode(callSuper = false)
@TableName("sys_menu")
public class Menu extends BaseEntity {
- /**
- * 父菜单id
- */
- private Long pid;
- /**
- * 菜单类型
- */
- private Type type;
- /**
- * 路由名称
- */
- private String name;
- /**
- * 菜单路径
- */
- private String path;
- /**
- * 菜单名称(语言包键名)
- */
- private String locale;
- /**
- * 菜单icon
- */
- private String icon;
- /**
- * 是否需要登录鉴权
- */
- private Boolean requiresAuth=true;
- /**
- * 是否隐藏菜单
- */
- private Boolean hideInMenu=false;
- /**
- * 排序
- */
- private Integer menuOrder;
- /**
- * 访问权限,使用","隔开的权限字符串
- */
- private String permissions;
- /**
- * 权限字符串
- */
+ private Long pid;
+
+ private Type type;
+ private String name;
+ private String path;
+ private String locale;
+ private String icon;
+ private Boolean requiresAuth;
+ private Boolean hideInMenu;
+ private Integer menuOrder;
+ private String permissions;
private String authority;
- public Menu(Long pid, Type type, String name, String path, String locale, String icon, Boolean requiresAuth, Boolean hideInMenu, Integer order, String authority) {
- this.pid = pid;
- this.type = type;
- this.name = name;
- this.path = path;
- this.locale = locale;
- this.icon = icon;
- this.requiresAuth = requiresAuth;
- this.hideInMenu = hideInMenu;
- this.menuOrder = order;
- this.authority = authority;
- }
-
- /**
- * 菜单类型
- */
@Getter
@AllArgsConstructor
public enum Type {
- /**
- * 页面
- */
- PAGE(0),
- /**
- * 按钮
- */
- BUTTON(1);
+ PAGE(1, "页面"),
+ BUTTON(2, "按钮");
@EnumValue
- private final int value;
+ private final Integer code;
+ private final String desc;
+
}
-}
\ No newline at end of file
+
+}
diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/repo/MenuRepository.java b/src/main/java/com/zsc/edu/gateway/modules/system/repo/MenuRepository.java
index 658df91..9dc94f1 100644
--- a/src/main/java/com/zsc/edu/gateway/modules/system/repo/MenuRepository.java
+++ b/src/main/java/com/zsc/edu/gateway/modules/system/repo/MenuRepository.java
@@ -3,11 +3,10 @@ package com.zsc.edu.gateway.modules.system.repo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zsc.edu.gateway.modules.system.entity.Menu;
-import java.util.Set;
-
/**
* @author yao
*/
public interface MenuRepository extends BaseMapper