博客
关于我
网站端课程详情页
阅读量:200 次
发布时间:2019-02-28

本文共 4124 字,大约阅读时间需要 13 分钟。

一 后端

1 vo对象的定义

@Datapublic class WebCourseVo implements Serializable {    private static final long serialVersionUID = 1L;    /**     * 课程id     */    private String id;    /**     * 课程标题     */    private String title;    /**     * 课程价格     */    private BigDecimal price;    /**     * 课时数     */    private Integer lessonNum;    /**     * 封面     */    private String cover;    /**     * 购买量     */    private Long buyCount;    /**     * 浏览量     */    private Long viewCount;    /**     * 描述     */    private String description;    /**     * 讲师id     */    private String teacherId;    /**     * 讲师名     */    private String teacherName;    /**     * 讲师介绍     */    private String intro;    /**     * 讲师图像     */    private String avatar;    /**     * 一级分类id     */    private String subjectLevelOneId;    /**     * 一级分类名称     */    private String subjectLevelOne;    /**     * 二级分类id     */    private String subjectLevelTwoId;    /**     * 二级分类名称     */    private String subjectLevelTwo;}

2 查询课程和讲师信息

CourseMapper.java

/*** 获取课程详情** @param courseId 课程id* @return WebCourseVo 课程详情*/WebCourseVo selectWebCourseVoById(String courseId);

CourseMapper.xml

3 获取数据并更新浏览量

接口

/*** 功能描述:根据讲师id获取讲师详情页数据** @author cakin* @date 2020/12/18* @param id* @return* @description:*/Map
selectTeacherInfoById(String id);

实现

/*** 功能描述:根据讲师id获取讲师详情页数据** @param id 讲师id* @return Map
封装讲师信息和课程信息* @author cakin* @date 2020/12/18*/@Overridepublic Map
selectTeacherInfoById(String id) { Teacher teacher = baseMapper.selectById(id); QueryWrapper
courseQueryWrapper = new QueryWrapper<>(); courseQueryWrapper.eq("teacher_id", id); List
courseList = courseMapper.selectList(courseQueryWrapper); Map
map = new HashMap<>(); // 讲师信息 map.put("teacher", teacher); // 课程列表 map.put("courseList", courseList); return map;}

4 控制器

/*** 功能描述:根据id查询课程** @param courseId 课程id* @return R 返回给前端的数据* @author cakin* @date 2020/12/19*/@ApiOperation("根据id查询课程")@GetMapping("get/{courseId}")public R getById(@ApiParam(value = "课程id", required = true) @PathVariable String courseId) {    // 查询课程信息和讲师信息    WebCourseVo webCourseVo = courseService.selectWebCourseVoById(courseId);    // 查询当前课程的嵌套章节和课时信息    List
chapterVoList = chapterService.nestedList(courseId); return R.ok().data("course", webCourseVo).data("chapterVoList", chapterVoList);}

二 前端

1 api

// 根据课程id获得课程详情  getById(id) {    return request({      url: `/api/edu/course/get/${id}`,      method: 'get'    })  },

2 脚本部分

3 模板部分

4 样式部分

三 测试

 

转载地址:http://ceqj.baihongyu.com/

你可能感兴趣的文章
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>