前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSM 单体框架 - 教育平台后台管理系统:视频讲解

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

作者头像
RendaZhang
发布2020-09-25 18:12:28
5230
发布2020-09-25 18:12:28
举报
文章被收录于专栏:RendaRenda

演示的接口 - 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) 权限管理模块展示资源列表页面,有一个资源分类按钮

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

3) 后台对应的数据库表为:资源分类表

接口文档

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

资源分类信息查询
  • 名称: findAllResourceCategory
  • 描述: 查询资源分类信息
  • URL: http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory
  • 请求方式: GET
  • 请求示例
代码语言:javascript
复制
http://localhost:8080/ssm_web/ResourceCategory/findAllResourceCategory
  • 响应参数示例
代码语言:javascript
复制
{
    "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
  • 请求示例
代码语言:javascript
复制
// 新增
{
    "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
  • 请求示例
代码语言:javascript
复制
http://localhost:8080/ssm_web/ResourceCategory/deleteResourceCategory?id=1
  • 响应数据

参数名称

类型

success

boolean

state

integer(int32)

message

string

content

object

完成为角色分配资源功能
需求分析

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

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

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

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

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

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

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

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

实体类

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

dao

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

service

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

web

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

为角色分配资源步骤提示

实体类

  • 创建 RoleResourceRelation 类
代码语言:javascript
复制
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 集合
代码语言:javascript
复制
public class RoleResourceVo {
    private Integer roleId;
    private List<Integer> resourceIdList;
    // getter setter ...
}
  • 将接收的数据,交给 service 处理
接口文档
获取当前角色拥有的资源分类和资源信息
  • 名称: findResourceListByRoleId
  • 描述: 获取当前角色拥有的资源分类和资源信息的接口
  • URL: http://localhost:8080/ssm_web/role/findResourceListByRoleId
  • 请求方式: GET
  • 请求示例
代码语言:javascript
复制
http://localhost:8080/ssm_web/role/findResourceListByRoleId?roleId=3
  • 响应数据示例
代码语言:javascript
复制
{
    "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
  • 请求示例
代码语言:javascript
复制
roleId - 角色 id
resourceIdList - 要分配的资源 id
代码语言:javascript
复制
{
    "roleId": 5,  
    "resourceIdList": [1, 2, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]    
}
  • 响应结果示例

参数名称

类型

success

boolean

state

integer(int32)

message

string

content

object

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Renda 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 演示的接口 - 37 个
  • 讲解并演示接口
    • 完成资源分类管理功能
      • 需求分析
      • 接口文档
    • 完成为角色分配资源功能
      • 需求分析
      • 接口文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档