feat(新增): ✨ 路由生成
This commit is contained in:
parent
b4ab274cd4
commit
ddb98b922b
|
@ -0,0 +1,74 @@
|
||||||
|
package cn.bunny.dao.entity.system;
|
||||||
|
|
||||||
|
import cn.bunny.dao.entity.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 系统菜单表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Bunny
|
||||||
|
* @since 2024-09-29
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@TableName("sys_router")
|
||||||
|
@ApiModel(value = "Router对象", description = "系统菜单表")
|
||||||
|
public class Router extends BaseEntity {
|
||||||
|
|
||||||
|
@ApiModelProperty("父级id")
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
@ApiModelProperty("在项目中路径")
|
||||||
|
private String path;
|
||||||
|
|
||||||
|
@ApiModelProperty("组件位置")
|
||||||
|
private String component;
|
||||||
|
|
||||||
|
@ApiModelProperty("frame路径")
|
||||||
|
private String frameSrc;
|
||||||
|
|
||||||
|
@ApiModelProperty("重定向")
|
||||||
|
private String redirect;
|
||||||
|
|
||||||
|
@ApiModelProperty("路由名称")
|
||||||
|
private String routeName;
|
||||||
|
|
||||||
|
@ApiModelProperty("路由title")
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
@ApiModelProperty("菜单类型")
|
||||||
|
private Integer menuType;
|
||||||
|
|
||||||
|
@ApiModelProperty("图标")
|
||||||
|
private String icon;
|
||||||
|
|
||||||
|
@ApiModelProperty("进入动画")
|
||||||
|
private String enterTransition;
|
||||||
|
|
||||||
|
@ApiModelProperty("退出动画")
|
||||||
|
private String leaveTransition;
|
||||||
|
|
||||||
|
@ApiModelProperty("等级")
|
||||||
|
private Integer routerRank;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否隐藏标签")
|
||||||
|
private Boolean hiddenTag;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否固定标签")
|
||||||
|
private Boolean fixedTag;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否显示父级")
|
||||||
|
private Boolean showParent;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否显示 返给前端为 showLink")
|
||||||
|
private Boolean visible;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,84 @@
|
||||||
|
<?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="cn.bunny.services.mapper.RouterMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="cn.bunny.dao.entity.system.Router">
|
||||||
|
<id column="id" property="id"/>
|
||||||
|
<result column="parent_id" property="parentId"/>
|
||||||
|
<result column="path" property="path"/>
|
||||||
|
<result column="component" property="component"/>
|
||||||
|
<result column="frame_src" property="frameSrc"/>
|
||||||
|
<result column="redirect" property="redirect"/>
|
||||||
|
<result column="route_name" property="routeName"/>
|
||||||
|
<result column="title" property="title"/>
|
||||||
|
<result column="menu_type" property="menuType"/>
|
||||||
|
<result column="icon" property="icon"/>
|
||||||
|
<result column="enter_transition" property="enterTransition"/>
|
||||||
|
<result column="leave_transition" property="leaveTransition"/>
|
||||||
|
<result column="router_rank" property="routerRank"/>
|
||||||
|
<result column="hidden_tag" property="hiddenTag"/>
|
||||||
|
<result column="fixed_tag" property="fixedTag"/>
|
||||||
|
<result column="show_parent" property="showParent"/>
|
||||||
|
<result column="visible" property="visible"/>
|
||||||
|
<result column="create_user" property="createUser"/>
|
||||||
|
<result column="update_user" property="updateUser"/>
|
||||||
|
<result column="update_time" property="updateTime"/>
|
||||||
|
<result column="create_time" property="createTime"/>
|
||||||
|
<result column="is_deleted" property="isDeleted"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id, parent_id, path, component, frame_src, redirect, route_name, title, menuType, icon, enter_transition, leave_transition, router_rank, hidden_tag, fixed_tag, show_parent, visible, create_user, update_user, update_time, create_time, is_deleted
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 物理删除路由菜单 -->
|
||||||
|
<delete id="deletedMenuByIds">
|
||||||
|
delete
|
||||||
|
from sys_router
|
||||||
|
where id in
|
||||||
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 根据用户ID查找路由列表 -->
|
||||||
|
<select id="selectListByUserId" resultType="java.lang.Long">
|
||||||
|
SELECT router.id
|
||||||
|
FROM sys_user_role user_role
|
||||||
|
LEFT JOIN sys_user user ON user_role.user_id = user.id
|
||||||
|
LEFT JOIN sys_router_role router_role ON user_role.role_id = router_role.role_id
|
||||||
|
LEFT JOIN sys_router router ON router_role.router_id = router.id
|
||||||
|
WHERE user.id = #{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 递归查询所有父级Id,直到查询到父级Id为0 -->
|
||||||
|
<select id="selectParentListByRouterId" resultType="cn.bunny.dao.entity.system.Router">
|
||||||
|
WITH RECURSIVE ParentChain AS (
|
||||||
|
SELECT * FROM sys_router
|
||||||
|
WHERE id IN
|
||||||
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
UNION ALL
|
||||||
|
SELECT r.* FROM sys_router r
|
||||||
|
INNER JOIN ParentChain pc ON r.id = pc.parent_id
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
FROM ParentChain;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 管理菜单列表 -->
|
||||||
|
<select id="selectListByPage" resultType="cn.bunny.dao.entity.system.Router">
|
||||||
|
select *
|
||||||
|
from sys_router
|
||||||
|
<if test="dto.title != null and dto.title != ''">
|
||||||
|
title like CONCAT('%',#{dto.title},'%')
|
||||||
|
</if>
|
||||||
|
<if test="dto.visible != null">
|
||||||
|
visible = #{dto.visible}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue