package com.yonge.cooleshow.student.controller;

import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
import com.yonge.cooleshow.biz.dal.vo.CourseGroupVo;
import com.yonge.cooleshow.biz.dal.vo.LiveCourseInfoVo;
import com.yonge.cooleshow.common.controller.BaseController;
import com.yonge.cooleshow.common.entity.HttpResponseResult;
import com.yonge.toolset.mybatis.page.PageInfo;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.Map;

/**
 * 课程组表(CourseGroup)表控制层
 *
 * @author hgw
 * @since 2022-03-18 15:29:10
 */
@Api(tags = "课程组表")
@RestController
@RequestMapping("/courseGroup")
public class StudentCourseGroupController extends BaseController {
    /**
     * 服务对象
     */
    @Resource
    private CourseGroupService courseGroupService;

    @ApiOperation("直播课详情")
    @GetMapping("/queryLiveCourseInfo")
    public HttpResponseResult<LiveCourseInfoVo> queryLiveCourseInfo(@ApiParam(value = "课程组id", required = true) @RequestParam(value = "groupId") Long groupId) {
        return succeed(courseGroupService.queryLiveCourseInfo(groupId));
    }

    @ApiImplicitParams({
            @ApiImplicitParam(name = "teacherId", dataType = "Long", value = "老师id"),
            @ApiImplicitParam(name = "search", dataType = "String", value = "关键字"),
            @ApiImplicitParam(name = "groupStatus", dataType = "String", value = "课程组状态  ING(进行中)  NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)"),
            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
    })
    @ApiOperation("分页查询直播课课程组列表")
    @PostMapping("/queryPageCourseGroup")
    public HttpResponseResult<PageInfo<CourseGroupVo>> queryPageLiveCourseGroup(@RequestBody Map<String, Object> param) {
        return succeed(courseGroupService.queryPageLiveCourseGroup(param));
    }

}

