黑马程序员技术交流社区

标题: 【郑州校区】学成在线 第7天 讲义-课程管理实战 三 [打印本页]

作者: 我是楠楠    时间: 2019-12-18 11:29
标题: 【郑州校区】学成在线 第7天 讲义-课程管理实战 三
【郑州校区】学成在线 第7天 讲义-课程管理实战 三

2 新增课程
2.1 需求分析
用户操作流程如下:
1、用户进入我的课程页面,点击新增课程,进入新增课程页面

2、填写课程信息,选择课程分类、课程等级、学习模式等。
3、信息填写完毕,点击提交,课程添加成功或课程添加失败并提示失败原因。
需要解决的是在新增页面上输入的信息:
1、课程分类
多级分类,需要方便用户去选择。

2、课程等级、学习模式等这些选项建议是可以配置的。
页面效果如下:


2.2 课程分类查询
2.2.1介绍
在新增课程界面需要选择课程所属分类, 分类信息是整个项目非常重要的信息,课程即商品,分类信息设置的好坏直接影响用户访问量。
分类信息在哪里应用?
1、首页分类导航


2、课程的归属地
添加课程时要选择课程的所属分类。
2.2.2数据结构
分类表category的结构如下:


2.2.3分类查询
2.2.3.1数据格式
在添加课程时需要选择课程所属的分类,这里需要定义课程分类查询接口。
接口格式要根据前端需要的数据格式来定义,前端展示课程分类使用elemenet-uicascader(级联选择器)组件。


数据格式例子如下:
[AppleScript] 纯文本查看 复制代码
 [
{
value:
'
zhinan
'
,
label:
'
指南
'
,
children: [{
value:
'
shejiyuanze
'
,
label:
'
设计原则
'
,
children: [{
value:
'
yizhi
'
,
label:
'一

'
}, {
value:
'
fankui
'
,
label:
'
反馈
'
}, {
value:
'
xiaolv
'
,
label:
'
效率
'
}, {
value:
'
kekong
'
,
label:
'
可控
'
}]
}]
}
]


2.2.3.2 数据模型
1)定义category的模型
category模型对数据字段对应,如下:
[AppleScript] 纯文本查看 复制代码
 @Data
@ToString
@Entity
@Table(name
=
"
category
"
)
@GenericGenerator(name
=
"
jpa

assigned
"
, strategy
=
"
assigned
"
)
public class Category implements Serializable {
private static final long serialVersionUID =

906357110051689484L;
@Id
@GeneratedValue(generator =
"
jpa

assigned
"
)
@Column(length =
32)
private String id;
private String name;
private String label;
private String parentid;
private String isshow;
private Integer orderby;
private String isleaf;
}


1)定义数据返回格式
[AppleScript] 纯文本查看 复制代码
 @Data
@ToString
public class CategoryNode extends Category {
List<CategoryNode> children;
}


2.2.4 Api接口
[AppleScript] 纯文本查看 复制代码
 package com.xuecheng
.api.web.controller.api.course;
import com.xuecheng
.framework.domain.course.ext.CategoryNode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org
.springframework.web.bind.annotation.GetMapping;
import org
.springframework.web.bind.annotation.RequestMapping;
import org
.springframework.web.bind.annotation.ResponseBody;
@Api(value
=
"
课程分类管理
"
,description =
"
课程分类管理
"
,tags
=
{
"
课程分类管理
"
})
public interface CategoryControllerApi {
@ApiOperation(
"
查询分类
"
)
public CategoryNode findList();
}








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2