Explorar el Código

feat 用户角色权限基础接口

classic_blue hace 1 mes
padre
commit
25c1262224
Se han modificado 39 ficheros con 829 adiciones y 22 borrados
  1. 2 0
      edu-travel-common/edu-travel-common-cache/src/main/java/edu/travel/cache/config/EduTravelCacheConfig.java
  2. 5 0
      edu-travel-common/edu-travel-common-core/src/main/java/edu/travel/web/BaseController.java
  3. 6 0
      edu-travel-oauth/pom.xml
  4. 1 1
      edu-travel-oauth/src/main/java/edu/travel/filter/TokenAuthenticationFilter.java
  5. 38 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/SysRoleDto.java
  6. 50 14
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/EduTenant.java
  7. 72 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysMenu.java
  8. 54 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysMenuExtraData.java
  9. 42 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysRole.java
  10. 43 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysRoleMenu.java
  11. 43 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysUserRole.java
  12. 2 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/filter/TokenAuthenticationFilter.java
  13. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysMenuExtraDataMapper.java
  14. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysMenuMapper.java
  15. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysRoleMapper.java
  16. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysRoleMenuMapper.java
  17. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysUserRoleMapper.java
  18. 8 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysMenuExtraDataService.java
  19. 8 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysMenuService.java
  20. 8 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysRoleMenuService.java
  21. 12 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysRoleService.java
  22. 8 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysUserRoleService.java
  23. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysMenuExtraDataServiceImpl.java
  24. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysMenuServiceImpl.java
  25. 23 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysRoleMenuServiceImpl.java
  26. 53 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysRoleServiceImpl.java
  27. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysUserRoleServiceImpl.java
  28. 24 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysMenuController.java
  29. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysMenuExtraDataController.java
  30. 54 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysRoleController.java
  31. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysRoleMenuController.java
  32. 21 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysUserRoleController.java
  33. 4 5
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/TenantController.java
  34. 3 1
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/EduTenantMapper.xml
  35. 24 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysMenuExtraDataMapper.xml
  36. 27 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysMenuMapper.xml
  37. 22 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysRoleMapper.xml
  38. 16 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysRoleMenuMapper.xml
  39. 16 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysUserRoleMapper.xml

+ 2 - 0
edu-travel-common/edu-travel-common-cache/src/main/java/edu/travel/cache/config/EduTravelCacheConfig.java

@@ -1,3 +1,5 @@
+
+
 package edu.travel.cache.config;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;

+ 5 - 0
edu-travel-common/edu-travel-common-core/src/main/java/edu/travel/web/BaseController.java

@@ -6,6 +6,7 @@ import edu.travel.interfaces.UpdateGroups;
 import edu.travel.resp.BaseResponse;
 import edu.travel.resp.PageResponse;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.Errors;
 import org.springframework.validation.ObjectError;
@@ -18,8 +19,10 @@ import java.util.List;
 
 public class BaseController<T> {
     @Autowired
+    @Lazy
     private IService<T> service;
 
+
     /**
      * 通用根据updateById 更新
      * @param entity
@@ -77,4 +80,6 @@ public class BaseController<T> {
         return PageResponse.out(404,"error,not found delete data",list);
     }
 
+
+
 }

+ 6 - 0
edu-travel-oauth/pom.xml

@@ -128,6 +128,12 @@
             <artifactId>edu-travel-common-resp</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-cache</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
     <profiles>
         <profile>

+ 1 - 1
edu-travel-oauth/src/main/java/edu/travel/filter/TokenAuthenticationFilter.java

@@ -24,7 +24,7 @@ import java.io.IOException;
 @Component
 public class TokenAuthenticationFilter extends OncePerRequestFilter {
     @Autowired
-    private RedisTemplate<String, Object> redisTemplate;
+    private RedisTemplate redisTemplate;
     @Override
     protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
         String token = httpServletRequest.getHeader("token");

+ 38 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/SysRoleDto.java

@@ -0,0 +1,38 @@
+package edu.travel.tenant.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import edu.travel.entity.BaseEntity;
+import lombok.Data;
+
+/**
+ * SysRoleDto 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Data
+public class SysRoleDto extends BaseEntity {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 角色名称
+     */
+    @TableField(value = "`name`")
+    private String name;
+
+    /**
+     * 角色描述
+     */
+    @TableField(value = "remark")
+    private String remark;
+
+}

+ 50 - 14
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/EduTenant.java

@@ -4,25 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import edu.travel.annotation.LinkConst;
-import edu.travel.entity.BaseEntity;
-import edu.travel.tenant.entity.dict.SexDict;
-import edu.travel.web.MapToJsonStringSerializer;
+import java.util.Date;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Map;
-
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 @TableName(value = "edu_tenant")
-public class EduTenant extends BaseEntity implements Serializable {
-    private static final long serialVersionUID = 1L;
+public class EduTenant {
     /**
      * 主键
      */
@@ -82,7 +73,52 @@ public class EduTenant extends BaseEntity implements Serializable {
      */
     @TableField(value = "tenant_unionid")
     private String tenantUnionid;
-    @TableField(exist = false)
-    @LinkConst(clazz = SexDict.class,fieldName = "tenantSex")
-    private Map obj;
+
+    /**
+     * 项目名称
+     */
+    @TableField(value = "project")
+    private String project;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 创建用户id
+     */
+    @TableField(value = "create_user_id")
+    private Long createUserId;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+    /**
+     * 更新用户id
+     */
+    @TableField(value = "update_user_id")
+    private Long updateUserId;
+
+    /**
+     * 逻辑删除标记
+     */
+    @TableField(value = "delete_flag")
+    private Integer deleteFlag;
+
+    /**
+     * 现实名
+     */
+    @TableField(value = "show_name")
+    private String showName;
+
+    /**
+     * 用户状态
+     */
+    @TableField(value = "user_status")
+    private Integer userStatus;
 }

+ 72 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysMenu.java

@@ -0,0 +1,72 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import edu.travel.entity.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 菜单表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_menu")
+public class SysMenu extends BaseEntity implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 父菜单id,目录菜单的父菜单为null
+     */
+    @TableField(value = "parent_id")
+    private Long parentId;
+
+    /**
+     * 前端表单路由名称,仅用于menu_type为1的菜单类型
+     */
+    @TableField(value = "title")
+    private String title;
+
+    /**
+     * (0: 目录 1: 菜单 2: 按钮 )
+     */
+    @TableField(value = "`type`")
+    private Integer type;
+
+    /**
+     * 组件路径
+     */
+    @TableField(value = "component")
+    private String component;
+
+    /**
+     * 页面路由
+     */
+    @TableField(value = "`path`")
+    private String path;
+
+    /**
+     * 组件名称
+     */
+    @TableField(value = "`name`")
+    private String name;
+
+    /**
+     * 菜单状态 0禁用1启用
+     */
+    @TableField(value = "`status`")
+    private Byte status;
+
+}

+ 54 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysMenuExtraData.java

@@ -0,0 +1,54 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import edu.travel.entity.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 菜单附加信息表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_menu_extra_data")
+public class SysMenuExtraData extends BaseEntity implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 菜单id
+     */
+    @TableField(value = "menu_id")
+    private Long menuId;
+
+    /**
+     * 菜单图标名称
+     */
+    @TableField(value = "icon")
+    private String icon;
+
+    /**
+     * 菜单显示名称
+     */
+    @TableField(value = "title")
+    private String title;
+
+    /**
+     * 是否缓存 0不缓存 1缓存
+     */
+    @TableField(value = "no_cache")
+    private Boolean noCache;
+
+}

+ 42 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysRole.java

@@ -0,0 +1,42 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import edu.travel.entity.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 角色表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_role")
+public class SysRole extends BaseEntity implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 角色名称
+     */
+    @TableField(value = "`name`")
+    private String name;
+
+    /**
+     * 角色描述
+     */
+    @TableField(value = "remark")
+    private String remark;
+
+}

+ 43 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysRoleMenu.java

@@ -0,0 +1,43 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 角色与菜单关联表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_role_menu")
+public class SysRoleMenu implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    /**
+     * 角色id
+     */
+    @TableField(value = "role_id")
+    private Long roleId;
+
+    /**
+     * 菜单id
+     */
+    @TableField(value = "menu_id")
+    private Long menuId;
+
+    /**
+     * 项目code
+     */
+    @TableField(value = "project")
+    private String project;
+}

+ 43 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysUserRole.java

@@ -0,0 +1,43 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 用户与角色关联表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_user_role")
+public class SysUserRole implements Serializable {
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+    /**
+     * 用户id
+     */
+    @TableField(value = "user_id")
+    private Long userId;
+
+    /**
+     * 用户角色
+     */
+    @TableField(value = "role_id")
+    private Long roleId;
+
+    /**
+     * 项目code
+     */
+    @TableField(value = "project")
+    private String project;
+}

+ 2 - 1
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/filter/TokenAuthenticationFilter.java

@@ -28,6 +28,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
     @Override
     protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
         String token = httpServletRequest.getHeader("token");
+//token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRtaW4iXSwiZXhwIjoxNzQwMjAyNTcyLCJ1c2VyX25hbWUiOiIxNTk5ODk1NzA3NCIsImp0aSI6IjM0M2JjNGUzLTk5ZjMtNGE4Zi1iMmIxLTI1ZjRkMzBmNmJmYyIsImNsaWVudF9pZCI6ImFkbWluIiwic2NvcGUiOlsic2VydmVyIl19.MYoFq8gg832DQMX-wVMLN0JlIaWeuQZvl1z1NUNFspQ";
         if (StringUtils.isNotBlank(token)){
             String json = EncryptUtil.decodeUTF8StringBase64(token);
             //将token转成json对象
@@ -57,4 +58,4 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
         }
         filterChain.doFilter(httpServletRequest,httpServletResponse);
     }
-}
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysMenuExtraDataMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysMenuExtraData;
+
+public interface SysMenuExtraDataMapper extends BaseMapper<SysMenuExtraData> {
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysMenuMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysMenu;
+
+public interface SysMenuMapper extends BaseMapper<SysMenu> {
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysRoleMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysRole;
+
+public interface SysRoleMapper extends BaseMapper<SysRole> {
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysRoleMenuMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysRoleMenu;
+
+public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysUserRoleMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysUserRole;
+
+public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
+}

+ 8 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysMenuExtraDataService.java

@@ -0,0 +1,8 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.tenant.entity.SysMenuExtraData;
+
+public interface ISysMenuExtraDataService extends IService<SysMenuExtraData> {
+
+}

+ 8 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysMenuService.java

@@ -0,0 +1,8 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.tenant.entity.SysMenu;
+
+public interface ISysMenuService extends IService<SysMenu> {
+
+}

+ 8 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysRoleMenuService.java

@@ -0,0 +1,8 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.tenant.entity.SysRoleMenu;
+
+public interface ISysRoleMenuService extends IService<SysRoleMenu> {
+
+}

+ 12 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysRoleService.java

@@ -0,0 +1,12 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.resp.BaseResponse;
+import edu.travel.tenant.entity.EduTenant;
+import edu.travel.tenant.entity.SysRole;
+
+
+public interface ISysRoleService extends IService<SysRole> {
+
+    Boolean add(SysRole sysRole, EduTenant principal);
+}

+ 8 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ISysUserRoleService.java

@@ -0,0 +1,8 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.tenant.entity.SysUserRole;
+
+public interface ISysUserRoleService extends IService<SysUserRole> {
+
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysMenuExtraDataServiceImpl.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.service.impl;
+
+import edu.travel.service.SysServiceImpl;
+import edu.travel.tenant.entity.SysMenuExtraData;
+import edu.travel.tenant.mapper.SysMenuExtraDataMapper;
+import edu.travel.tenant.service.ISysMenuExtraDataService;
+import org.springframework.stereotype.Service;
+
+/**
+ * ISysRoleServiceImpl 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Service
+public class ISysMenuExtraDataServiceImpl extends SysServiceImpl<SysMenuExtraDataMapper, SysMenuExtraData> implements ISysMenuExtraDataService {
+
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysMenuServiceImpl.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.service.impl;
+
+import edu.travel.service.SysServiceImpl;
+import edu.travel.tenant.entity.SysMenu;
+import edu.travel.tenant.mapper.SysMenuMapper;
+import edu.travel.tenant.service.ISysMenuService;
+import org.springframework.stereotype.Service;
+
+/**
+ * ISysRoleServiceImpl 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Service
+public class ISysMenuServiceImpl extends SysServiceImpl<SysMenuMapper, SysMenu> implements ISysMenuService {
+
+}

+ 23 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysRoleMenuServiceImpl.java

@@ -0,0 +1,23 @@
+package edu.travel.tenant.service.impl;
+
+import edu.travel.service.SysServiceImpl;
+import edu.travel.tenant.entity.SysMenuExtraData;
+import edu.travel.tenant.entity.SysRoleMenu;
+import edu.travel.tenant.mapper.SysMenuExtraDataMapper;
+import edu.travel.tenant.mapper.SysRoleMenuMapper;
+import edu.travel.tenant.service.ISysRoleMenuService;
+import org.springframework.stereotype.Service;
+
+/**
+ * ISysRoleServiceImpl 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Service
+public class ISysRoleMenuServiceImpl extends SysServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
+
+}

+ 53 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysRoleServiceImpl.java

@@ -0,0 +1,53 @@
+package edu.travel.tenant.service.impl;
+
+import cn.hutool.core.lang.Snowflake;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import edu.travel.tenant.service.ITenantService;
+import org.apache.commons.lang3.StringUtils;
+import edu.travel.resp.BaseResponse;
+import edu.travel.tenant.entity.EduTenant;
+import edu.travel.tenant.entity.SysRole;
+import edu.travel.tenant.service.ISysRoleService;
+import edu.travel.service.SysServiceImpl;
+import edu.travel.tenant.mapper.SysRoleMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * ISysRoleServiceImpl 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Service
+public class ISysRoleServiceImpl extends SysServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
+
+    @Autowired
+    private ISysRoleService sysRoleService;
+    @Autowired
+    private ITenantService tenantService;
+
+    @Override
+    public Boolean add(SysRole sysRole, EduTenant principal) {
+        if (principal == null) {
+            throw new RuntimeException("身份验证失败");
+        }
+        if (sysRole != null && StringUtils.isNotEmpty(sysRole.getName())) {
+            int count = sysRoleService.count(new LambdaQueryWrapper<SysRole>()
+                    .eq(SysRole::getName, sysRole.getName()));
+            if (count != 0) {
+                throw new RuntimeException("该角色已存在");
+            }
+            sysRole.setId(new Snowflake(1, 1).nextId());
+            sysRole.setProject(principal.getProject());
+            sysRole.setCreateUserId(principal.getId().toString());
+            sysRole.setUpdateUserId(principal.getId().toString());
+            boolean save = sysRoleService.save(sysRole);
+            return save;
+        }
+        return false;
+    }
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ISysUserRoleServiceImpl.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.service.impl;
+
+import edu.travel.service.SysServiceImpl;
+import edu.travel.tenant.entity.SysUserRole;
+import edu.travel.tenant.mapper.SysUserRoleMapper;
+import edu.travel.tenant.service.ISysUserRoleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * ISysRoleServiceImpl 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@Service
+public class ISysUserRoleServiceImpl extends SysServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
+
+}

+ 24 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysMenuController.java

@@ -0,0 +1,24 @@
+package edu.travel.tenant.web;
+
+import edu.travel.resp.BaseResponse;
+import edu.travel.tenant.entity.SysMenu;
+import edu.travel.web.BaseController;
+import org.springframework.validation.Errors;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SysMenuController 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@RestController
+@RequestMapping("/sysMenu")
+public class SysMenuController extends BaseController<SysMenu> {
+
+
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysMenuExtraDataController.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.web;
+
+import edu.travel.tenant.entity.SysMenuExtraData;
+import edu.travel.web.BaseController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SysMenuController 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@RestController
+@RequestMapping("/sysMenuExtraData")
+public class SysMenuExtraDataController extends BaseController<SysMenuExtraData> {
+
+}

+ 54 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysRoleController.java

@@ -0,0 +1,54 @@
+package edu.travel.tenant.web;
+import edu.travel.interfaces.InsertGroups;
+import edu.travel.resp.BaseResponse;
+import edu.travel.tenant.entity.EduTenant;
+import edu.travel.tenant.entity.SysRole;
+import edu.travel.tenant.service.ISysRoleService;
+import edu.travel.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SysRoleController 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@RestController
+@RequestMapping("/sysRole")
+public class SysRoleController extends BaseController<SysRole> {
+
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+    /**
+     * 新增管理角色
+     */
+    @PostMapping("/add")
+    @Transactional
+//    @PreAuthorize("hasAuthority = '超级管理员'")
+    public BaseResponse<Boolean> add(@Validated(InsertGroups.class) @RequestBody SysRole sysRole) {
+        EduTenant principal = (EduTenant) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        sysRoleService.add(sysRole,principal);
+        return new BaseResponse<>(200,"success",true) ;
+    }
+
+    /**
+     * 删除角色
+     */
+    @PostMapping("/delete")
+    public BaseResponse<Boolean> delete(@RequestBody String ids) {
+//        sysRoleService.deleteByIds(ids);
+        return new BaseResponse<>(200,"success",true) ;
+    }
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysRoleMenuController.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.web;
+
+import edu.travel.tenant.entity.SysRoleMenu;
+import edu.travel.web.BaseController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SysMenuController 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@RestController
+@RequestMapping("/sysRoleMenu")
+public class SysRoleMenuController extends BaseController<SysRoleMenu> {
+
+}

+ 21 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysUserRoleController.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant.web;
+
+import edu.travel.tenant.entity.SysUserRole;
+import edu.travel.web.BaseController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SysMenuController 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/6
+ */
+
+@RestController
+@RequestMapping("/sysUserRole")
+public class SysUserRoleController extends BaseController<SysUserRole> {
+
+}

+ 4 - 5
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/TenantController.java

@@ -1,9 +1,10 @@
 package edu.travel.tenant.web;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import edu.travel.resp.BaseResponse;
 import edu.travel.resp.PageResponse;
 import edu.travel.tenant.entity.EduTenant;
+import edu.travel.tenant.entity.SysRole;
 import edu.travel.tenant.service.ITenantService;
 import edu.travel.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,19 +13,17 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 @RestController
 @RequestMapping("/tenant")
-public class TenantController  extends BaseController {
+public class TenantController  extends BaseController<EduTenant> {
     @Autowired
     private ITenantService tenantService;
 
     @GetMapping("/getTenant")
     public BaseResponse getTenant() {
         EduTenant principal = (EduTenant)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-
         EduTenant list = tenantService.getTenantByID(principal.getTenantPhone());
         return PageResponse.out(200,"success",list);
     }
+
 }

+ 3 - 1
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/EduTenantMapper.xml

@@ -20,11 +20,13 @@
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="update_user_id" jdbcType="BIGINT" property="updateUserId" />
     <result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
+    <result column="show_name" jdbcType="VARCHAR" property="showName" />
+    <result column="user_status" jdbcType="INTEGER" property="userStatus" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, tenant_surname, tenant_name, tenant_sex, tenant_avatar, tenant_phone, tenant_area, 
     tenant_birthday, tenant_open_id, tenant_unionid, project, create_time, create_user_id, 
-    update_time, update_user_id, delete_flag
+    update_time, update_user_id, delete_flag, show_name, user_status
   </sql>
 </mapper>

+ 24 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysMenuExtraDataMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="edu.travel.tenant.mapper.SysMenuExtraDataMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysMenuExtraData">
+    <!--@mbg.generated-->
+    <!--@Table sys_menu_extra_data-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="menu_id" jdbcType="BIGINT" property="menuId" />
+    <result column="icon" jdbcType="VARCHAR" property="icon" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="no_cache" jdbcType="BOOLEAN" property="noCache" />
+    <result column="deleted_flag" jdbcType="TINYINT" property="deleteFlag" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+    <result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_user_id" jdbcType="BIGINT" property="updateUserId" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, menu_id, icon, title, no_cache, deleted_flag, project, create_user_id, create_time, 
+    update_user_id, update_time
+  </sql>
+</mapper>

+ 27 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysMenuMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="edu.travel.tenant.mapper.SysMenuMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysMenu">
+    <!--@mbg.generated-->
+    <!--@Table sys_menu-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="parent_id" jdbcType="BIGINT" property="parentId" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="type" jdbcType="INTEGER" property="type" />
+    <result column="component" jdbcType="VARCHAR" property="component" />
+    <result column="path" jdbcType="VARCHAR" property="path" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="status" jdbcType="TINYINT" property="status" />
+    <result column="deleted_flag" jdbcType="TINYINT" property="deleteFlag" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+    <result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_user_id" jdbcType="BIGINT" property="updateUserId" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, parent_id, title, `type`, component, `path`, `name`, `status`, deleted_flag, 
+    project, create_user_id, create_time, update_user_id, update_time
+  </sql>
+</mapper>

+ 22 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysRoleMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="edu.travel.tenant.mapper.SysRoleMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysRole">
+    <!--@mbg.generated-->
+    <!--@Table sys_role-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="deleted_flag" jdbcType="TINYINT" property="deleteFlag" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+    <result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_user_id" jdbcType="BIGINT" property="updateUserId" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, `name`, remark, deleted_flag, project, create_user_id, create_time, update_user_id, 
+    update_time
+  </sql>
+</mapper>

+ 16 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysRoleMenuMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="edu.travel.tenant.mapper.SysRoleMenuMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysRoleMenu">
+    <!--@mbg.generated-->
+    <!--@Table sys_role_menu-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <id column="role_id" jdbcType="BIGINT" property="roleId" />
+    <id column="menu_id" jdbcType="BIGINT" property="menuId" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id,role_id, menu_id, project
+  </sql>
+</mapper>

+ 16 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysUserRoleMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="edu.travel.tenant.mapper.SysUserRoleMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysUserRole">
+    <!--@mbg.generated-->
+    <!--@Table sys_user_role-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="user_id" jdbcType="BIGINT" property="userId" />
+    <result column="role_id" jdbcType="BIGINT" property="roleId" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id,user_id, role_id, project
+  </sql>
+</mapper>