SSM 单体框架 - 教育平台后台管理系统:视频讲解

视频讲解

我的 BiliBili 链接

1_演示接口

2_演示接口

3_演示接口

4_讲解演示接口

演示的接口 - 37 个

course
  • POST findCourseByCondition
  • POST courseUpload
  • POST saveOrUpdateCourse
  • GET findCourseById
  • GET updateCourseStatus
courseContent
  • GET findSectionAndLesson
  • GET findCourseByCourseId
  • POST saveOrUpdateSection
  • GET updateSectionStatus
  • POST saveOrUpdateLesson
PromotionSpace
  • GET findAllPromotionSpace
  • POST saveOrUpdatePromotionSpace
  • GET findPromotionSpaceById
PromotionAd
  • GET findAllPromotionAdByPage
  • POST PromotionAdUpload
  • POST saveOrUpdatePromotionAd
  • GET findPromotionAdById
  • GET updatePromotionAdStatus
user
  • POST findAllUserByPage
  • GET updateUserStatus
  • GET login
  • GET findUserRoleById
  • POST userContextRole
  • GET getUserPermissions
role
  • POST findAllRole
  • POST saveOrUpdateRole
  • GET findAllMenu
  • GET findMenuByRoleId
  • POST RoleContextMenu
  • GET deleteRole
menu
  • GET findAllMenu
  • GET findMenuInfoById
  • POST saveOrUpdateMenu
ResourceCategory
  • GET findAllResourceCategory
resource
  • POST findAllResource
  • POST saveOrUpdateResource
  • GET deleteResource

讲解并演示接口

完成资源分类管理功能

需求分析
  1. 权限管理模块展示资源列表页面,有一个资源分类按钮

在这里插入图片描述

  1. 点击资源分类,跳转到资源分类页面,对资源分类数据进行维护(增删改查)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuMO0Wjt-1600856107925)(图片/02.jpg)]

  1. 后台对应的数据库表为:资源分类表
    在这里插入图片描述
接口文档

完成资源分类模块的数据维护

资源分类信息查询
  • 名称: findAllResourceCategory

  • 描述: 查询资源分类信息

  • URL: http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory

  • 请求方式: GET

  • 请求示例

http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory
  • 响应参数示例
{
    
    
	"success": true,
	"state": 200,
	"message": "响应成功",
	"content": [
        {
    
    
		"id": 1,
		"name": "角色管理",
		"sort": 1,
		"createdTime": 1595230906000,
		"updatedTime": 1595230906000,
		"createdBy": "system",
		"updatedBy": "system"
        },
        ...
    ]
}
添加 & 修改资源分类
  • 名称: saveOrUpdateResourceCategory

  • 描述: 添加 & 修改资源分类接口

  • URL: http://localhost:8080/ssm_web/ResourceCategory/saveOrUpdateResourceCategory

  • 请求方式: POST

  • 请求示例

// 新增
{
    
    
	"name": "作业管理",
	"sort": 1
}

// 修改
{
    
    
    "id": 10,
	"name": "家庭作业管理",
	"sort": 2
}
  • 响应参数
参数名称 类型
success boolean
state integer(int32)
message string
content object
删除资源分类
  • 名称: deleteResourceCategory

  • 描述: 删除资源分类接口

  • URL: http://localhost:8080/ssm_web/ResourceCategory/deleteResourceCategory

  • 请求方式: GET

  • 请求示例

http://localhost:8080/ssm_web/ResourceCategory/deleteResourceCategory?id=1
  • 响应数据
参数名称 类型
success boolean
state integer(int32)
message string
content object

完成为角色分配资源功能

需求分析
  1. 权限管理模块的角色列表页面,可以为角色分配资源

在这里插入图片描述

  1. 当选中某个角色,点击分配资源时,就会显示该角色当前拥有的资源权限信息

例如:点击课程管理员的分配资源按钮,会显示课程管理员拥有哪些的资源权限的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MDjyTVvX-1600856107932)(图片/05.jpg)]

课程管理员所拥有的是课程管理资源分类下的资源权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ds4IOPpt-1600856107934)(图片/06.png)]

前端需要这两组数据进行资源列表的展示:

  • 查询资源分类信息 - GET ResourceCategory/findAllResourceCategory
  • 资源信息分页 - GET resource/findAllResource

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9jRL0Wg-1600856107934)(图片/06.jpg)]

资源列表展示后,需要回显当前角色拥有的资源信息

获取当前角色拥有的资源信息步骤提示

实体类

  • 在 ResourceCategory 类中,有一个集合,泛型为 Resource,来表示一对多关系
// 资源集合 一对多
private List<Resource> resourceList = new ArrayList<>();

dao

  • 在 RoleMapper 中需要编写两个方法
  • 方法 1:查询当前角色拥有的资源分类信息
  • 方法 2:查询当前角色拥有的资源信息

service

  • 调用 dao 中的两个方法分别获取资源分类数据和资源数据
  • 将资源数据封装到对应的分类下

web

  • 编写一个接口,参数为角色 id
  • 根据角色 id 查询当前角色拥有的资源信息并返回

为角色分配资源步骤提示

实体类

  • 创建 RoleResourceRelation 类
public class RoleResourceRelation{
    
    
    private Integer id;
    private Integer resourceId;
    private Integer roleId;
    private Date createdTime;
    private Date updatedTime;
    private String createdBy;
    private String updatedBy;
    // getter setter ...
}
  • RoleResourceRelation 对应的是 role_resource_relation 表,该表是一张中间表,记录了角色与资源的对应关系

dao

  • 方法 1:根据角色 ID 删除角色与资源的关联关系(操作中中间表 role_resource_relation)
  • 方法 2:为角色分配资源,删除完成后,插入最新的关联关系

service

  • 编写一个为角色分配资源的方法
    • 先清空之前的关联关系
    • 然后补全信息,插入新的关联关系

web

  • 创建一个 VO 类:RoleResourceVo,用来接收角色 ID 与资源 ID 集合
public class RoleResourceVo {
    
    
    private Integer roleId;
    private List<Integer> resourceIdList;
    // getter setter ...
}
  • 将接收的数据,交给 service 处理
接口文档
获取当前角色拥有的资源分类和资源信息
  • 名称: findResourceListByRoleId

  • 描述: 获取当前角色拥有的资源分类和资源信息的接口

  • URL: http://localhost:8080/ssm_web/role/findResourceListByRoleId

  • 请求方式: GET

  • 请求示例

http://localhost:8080/ssm_web/role/findResourceListByRoleId?roleId=3
  • 响应数据示例
{
    
    
    "success": true,
    "state": 200,
    "message": "成功获取角色的资源信息",
    "content": [
        {
    
    
            "id": 4,
            "name": "课程管理",
            "sort": 4,
            "createdTime": 1595230906000,
            "updatedTime": 1595230906000,
            "createdBy": "system",
            "updatedBy": "system",
            "resourceList": [
                {
    
    
                    "id": 33,
                    "name": "课程上下架",
                    "url": "/boss/course/changeState",
                    "categoryId": 4,
                    "description": "课程上下架",
                    "createdTime": 1595230917000,
                    "updatedTime": 1595230917000,
                    "createdBy": "system",
                    "updatedBy": "system"
                },
                ...
            ]
        },
        ...
    ]
}
为角色分配资源
  • 名称: roleContextResource
  • 描述: 为角色分配资源接口
  • URL: http://localhost:8080/ssm_web/role/roleContextResource
  • 请求方式: POST
  • 请求示例
roleId - 角色 id
resourceIdList - 要分配的资源 id
{
    
    
    "roleId": 5,  
    "resourceIdList": [1, 2, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]	
}
  • 响应结果示例
参数名称 类型
success boolean
state integer(int32)
message string
content object

想了解更多,欢迎关注我的微信公众号:Renda_Zhang

猜你喜欢

转载自blog.csdn.net/qq_40286307/article/details/108758567
今日推荐