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

  • Post author:
  • Post category:其他




视频讲解


我的 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



版权声明:本文为qq_40286307原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。