Commit 6ccfd249 authored by liuyang's avatar liuyang

完成课程管理后台接口

parent c3c43641
...@@ -54,31 +54,38 @@ public class CourseController { ...@@ -54,31 +54,38 @@ public class CourseController {
return Result.succeed("ok"); return Result.succeed("ok");
} }
@ApiOperation("课程保存")
@ApiOperation("添加课程(第一步保存)") @PostMapping("/save")
@PostMapping("/saveStep1")
@RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
@SysLog(value = "添加课程",includeParam = false)
public Result<Long> saveStep1(@RequestBody CourseStep1SaveModel model){
Long id = courseService.saveStep1(model);
return Result.succeed(id);
}
@ApiOperation("添加课程(第二步保存)")
@PostMapping("/saveStep2")
@RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR) @RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
public Result<String> saveStep2(@RequestBody CourseStep2SaveModel chaperModel){ public Result<String> saveCourse(@RequestBody SaveCourseModel model){
courseService.saveStep2(chaperModel); courseService.saveCourse(model);
return Result.succeed("ok"); return Result.succeed("ok");
} }
// @ApiOperation("添加课程(第一步保存)")
@ApiOperation("添加课程(第二步中获取章节列表") // @PostMapping("/saveStep1")
@GetMapping("/chaperList/{courseId}") // @RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
@RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR) // @SysLog(value = "添加课程",includeParam = false)
public Result<List<CourseChaperModel>> chaperList(@PathVariable Long courseId){ // public Result<Long> saveStep1(@RequestBody CourseStep1SaveModel model){
List<CourseChaperModel> modelList = courseService.chaperList(courseId); // Long id = courseService.saveStep1(model);
return Result.succeed(modelList); // return Result.succeed(id);
} // }
// @ApiOperation("添加课程(第二步保存)")
// @PostMapping("/saveStep2")
// @RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
// public Result<String> saveStep2(@RequestBody CourseStep2SaveModel chaperModel){
// courseService.saveStep2(chaperModel);
// return Result.succeed("ok");
// }
// @ApiOperation("添加课程(第二步中获取章节列表")
// @GetMapping("/chaperList/{courseId}")
// @RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
// public Result<List<CourseChaperModel>> chaperList(@PathVariable Long courseId){
// List<CourseChaperModel> modelList = courseService.chaperList(courseId);
// return Result.succeed(modelList);
// }
@ApiOperation("修改章节名称") @ApiOperation("修改章节名称")
@PostMapping("/modifyChaperName") @PostMapping("/modifyChaperName")
@SysLog("修改章节名称") @SysLog("修改章节名称")
......
...@@ -15,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -15,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface AllowOrgCourseMapper extends BaseMapper<AllowOrgCoursePO> { public interface AllowOrgCourseMapper extends BaseMapper<AllowOrgCoursePO> {
void deleteByCourseId(Long courseId);
} }
...@@ -15,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -15,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface CourseAttachmentMapper extends BaseMapper<CourseAttachmentPO> { public interface CourseAttachmentMapper extends BaseMapper<CourseAttachmentPO> {
void deleteByCourseId(Long courseId);
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qkdata.biz.enums.CourseStatusEnum; import com.qkdata.biz.enums.CourseStatusEnum;
import com.qkdata.biz.management.entity.CoursePO; import com.qkdata.biz.management.entity.CoursePO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qkdata.biz.management.vo.CourseAllowEnterpriseModel;
import com.qkdata.biz.management.vo.CourseAttachmentModel;
import com.qkdata.biz.management.vo.CourseListItemModel; import com.qkdata.biz.management.vo.CourseListItemModel;
import com.qkdata.biz.management.vo.QueryCourseModel; import com.qkdata.biz.management.vo.QueryCourseModel;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -25,4 +27,8 @@ public interface CourseMapper extends BaseMapper<CoursePO> { ...@@ -25,4 +27,8 @@ public interface CourseMapper extends BaseMapper<CoursePO> {
List<CourseListItemModel> queryPageList(Page page, @Param("p") QueryCourseModel param); List<CourseListItemModel> queryPageList(Page page, @Param("p") QueryCourseModel param);
void updateStatusById(@Param("id") Long id, @Param("status") CourseStatusEnum status); void updateStatusById(@Param("id") Long id, @Param("status") CourseStatusEnum status);
List<CourseAttachmentModel> selectAttachmentListByCourseId(Long id);
List<CourseAllowEnterpriseModel> selectOrgListByCourseId(Long id);
} }
...@@ -19,4 +19,6 @@ import java.util.List; ...@@ -19,4 +19,6 @@ import java.util.List;
public interface CourseTagRelMapper extends BaseMapper<CourseTagRelPO> { public interface CourseTagRelMapper extends BaseMapper<CourseTagRelPO> {
List<CourseTagsModel> selectModelList(Long courseId); List<CourseTagsModel> selectModelList(Long courseId);
void deleteByCourseId(Long courseId);
} }
package com.qkdata.biz.management.vo;
import lombok.Data;
@Data
public class SaveCourseChaperModel {
private Long chaperId;
private String chaperName;
private Integer sortNo = 0;
private String videoId;
}
package com.qkdata.biz.management.vo;
import com.qkdata.biz.enums.CourseAllowEnum;
import com.qkdata.biz.enums.CourseChargeModelEnum;
import com.qkdata.biz.enums.CourseTypeEnum;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class SaveCourseModel {
private Long id;
/**
* 课程名称
*/
private String name;
/**
* 课程类型(单集、系列)
*/
private CourseTypeEnum type;
/**
* 课程简介
*/
private String introduce;
/**
* 课程介绍
*/
private String detail;
/**
* 课程封面url
*/
private String logoUrl;
/**
* 讲师ID
*/
private Long teacherId;
/**
* 讲师名称
*/
private String teacherName;
/**
* 收费模式(免费、会员免费、付费点播)
*/
private CourseChargeModelEnum chargeModel;
/**
* 付费点播普通用户价
*/
private BigDecimal price;
/**
* 付费点播会员价
*/
private BigDecimal vipPrice;
/**
* 有效时间(小时)
*/
private Integer validPeriod;
/**
* 系列ID
*/
private Long seriesId;
/**
* 系列名称
*/
private String seriesName;
/**
* 可见范围(全部、指定企业)
*/
private CourseAllowEnum allow;
/**
* 指定企业的列表
*/
private List<Long> allowOrgIds;
/**
* 标签列表
*/
private List<Long> tagIds;
/**
* 课程章节列表
*/
private List<SaveCourseChaperModel> chaperList;
/**
* 课程附件列表
*/
private List<Long> attachmenIds;
}
...@@ -2,4 +2,7 @@ ...@@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qkdata.biz.management.mapper.AllowOrgCourseMapper"> <mapper namespace="com.qkdata.biz.management.mapper.AllowOrgCourseMapper">
<delete id="deleteByCourseId">
delete from allow_org_course where course_id = #{courseId}
</delete>
</mapper> </mapper>
...@@ -31,4 +31,22 @@ ...@@ -31,4 +31,22 @@
ORDER BY c.create_time DESC ORDER BY c.create_time DESC
</select> </select>
<select id="selectAttachmentListByCourseId"
resultType="com.qkdata.biz.management.vo.CourseAttachmentModel">
SELECT a.course_id,
r.id resource_id,
r.`name` resource_name,
r.url resource_url
from course_attachment a
INNER JOIN resource r on a.resource_id = r.id
WHERE a.course_id = #{id}
</select>
<select id="selectOrgListByCourseId" resultType="com.qkdata.biz.management.vo.CourseAllowEnterpriseModel">
SELECT r.course_id,
o.`name` orgName,
o.id orgId
from allow_org_course r
INNER JOIN organization o on r.org_id = o.id
WHERE r.course_id = #{id}
</select>
</mapper> </mapper>
...@@ -2,4 +2,7 @@ ...@@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qkdata.biz.management.mapper.CourseAttachmentMapper"> <mapper namespace="com.qkdata.biz.management.mapper.CourseAttachmentMapper">
<delete id="deleteByCourseId">
delete from course_attachment where course_id = #{courseId}
</delete>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qkdata.biz.management.mapper.CourseTagRelMapper"> <mapper namespace="com.qkdata.biz.management.mapper.CourseTagRelMapper">
<delete id="deleteByCourseId">
delete from course_tag_rel where course_id = #{courseId}
</delete>
<select id="selectModelList" resultType="com.qkdata.biz.management.vo.CourseTagsModel"> <select id="selectModelList" resultType="com.qkdata.biz.management.vo.CourseTagsModel">
SELECT r.course_id,r.tag_id,t.`name` tag_name SELECT r.course_id,r.tag_id,t.`name` tag_name
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment