CourseController.java 11.1 KB
package com.server.web.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.server.shiro.persistent.bean.SysUser;
import com.server.utils.DateUtils;
import com.server.web.common.mapper.TBaseSecondClassMapper;
import com.server.web.common.mapper.TKzyCourseMapper;
import com.server.web.common.model.PageModel;
import com.server.web.common.model.TBaseSecondClass;
import com.server.web.common.model.TKzyCourse;
import com.server.web.common.service.CourseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 课程管理
 */
@RestController
@RequestMapping(BaseController.OSS_NAMESPACE + "/course")
public class CourseController extends BaseController {

    @Autowired
    private TKzyCourseMapper courseMapper;

    @Autowired
    private CourseService courseService;

    @Autowired
    private TBaseSecondClassMapper secondClassMapper;

    /**
     * 直播列表
     * @param courseName
     * @param pageNo
     * @param pageSize
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/zbList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map zbList(@RequestParam(defaultValue = "") String courseName
            ,@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        try {
            Map paramMap = new HashMap<>();
            if(!("").equals(courseName)){
                paramMap.put("courseName","%"+courseName+"%");
            }
            PageHelper.startPage(pageNo,pageSize,true,false);
            List list = openSqlRingsService.selectList_Rings("com.mapping.queryModel.queryCourseZb",paramMap);
            PageInfo pageInfo = new PageInfo(list);
            PageModel model = new PageModel();
            model.setTotal(pageInfo.getTotal());
            model.setList(list);
            return success(model);
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }



    /**
     * 录播列表
     * @param courseName
     * @param pageNo
     * @param pageSize
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/lbList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map lbList(@RequestParam(defaultValue = "") String courseName
            ,@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        try {
            Map paramMap = new HashMap<>();
            if(!("").equals(courseName)){
                paramMap.put("courseName","%"+courseName+"%");
            }
            PageHelper.startPage(pageNo,pageSize,true,false);
            List list = openSqlRingsService.selectList_Rings("com.mapping.queryModel.queryCourseLb",paramMap);
            PageInfo pageInfo = new PageInfo(list);
            PageModel model = new PageModel();
            model.setTotal(pageInfo.getTotal());
            model.setList(list);
            return success(model);
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }



    /**
     * 上下架课程
     * @param id
     * @param status 上下架状态  1 上架  2 下架
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/courseStatus", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map courseStatus(@RequestParam long id,@RequestParam int status) {
        try {
            SysUser user =getSysUser();
            TKzyCourse course = new TKzyCourse();
            course.setId(id);
            course.setIsUp(status);
            course.setUpdateDt(new Date());
            course.setEditorId(user.getId());
            course.setEditorName(user.getRealname());
            courseMapper.updateByPrimaryKeySelective(course);
            return success("操作成功");
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }


    /**
     * 删除课程
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/deleteCourse", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map deleteCourse(@RequestParam long id) {
        try {
            SysUser user =getSysUser();
            TKzyCourse course = new TKzyCourse();
            course.setId(id);
            course.setIsDelete(1);
            course.setUpdateDt(new Date());
            course.setEditorId(user.getId());
            course.setEditorName(user.getRealname());
            courseMapper.updateByPrimaryKeySelective(course);
            return success("操作成功");
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }




    /**
     * 添加修改直播课
     * @param id
     * @param courseName
     * @param picUrl
     * @param courseIntroduce
     * @param liveUrl
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/saveZbCourse", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map saveZbCourse(@RequestParam(defaultValue = "-1") long id,@RequestParam String courseName,
                            @RequestParam String picUrl,@RequestParam String courseIntroduce,@RequestParam String liveUrl,@RequestParam(defaultValue = "") String classIds,
                            @RequestParam String startDt,@RequestParam String endDt) {
        try {
            String [] ids = classIds.split(",");
            boolean flag = true;
            for (int i=0;i<ids.length;i++){
                TBaseSecondClass secondClass = secondClassMapper.selectByPrimaryKey(Long.valueOf(ids[i]));
                if(secondClass.getType()!=3){
                    flag = false;
                    break;
                }
            }
            if(!flag){
                return  error("0","分类类型不匹配","分类类型不匹配");
            }
            SysUser user =getSysUser();
            TKzyCourse course = new TKzyCourse();
            course.setCourseName(courseName);
            course.setPicUrl(picUrl);
            course.setCourseIntroduce(courseIntroduce);
            course.setLiveUrl(liveUrl);
            course.setEditorId(user.getId());
            course.setEditorName(user.getRealname());
            Date start = DateUtils.parse("yyyy-MM-dd HH:mm:ss",startDt);
            Date end = DateUtils.parse("yyyy-MM-dd HH:mm:ss", endDt);
            course.setStartDt(start);
            course.setEndDt(end);
            if(id != -1){  //修改
                course.setId(id);
                course.setUpdateDt(new Date());
                courseService.updateCourse(course,classIds);
            }else{ //添加
                course.setCreateDt(new Date());
                course.setIsDelete(0);
                course.setIsUp(1);
                course.setCourseType(1);
                courseService.insertCourse(course,classIds);
            }
            return success("操作成功");
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }


    /**
     * 添加修改录播课
     * @param id
     * @param courseName
     * @param picUrl
     * @param courseIntroduce
     * @param liveUrl
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/saveLbCourse", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map saveLbCourse(@RequestParam(defaultValue = "-1") long id,@RequestParam String courseName,
                            @RequestParam String picUrl,@RequestParam String courseIntroduce,@RequestParam(defaultValue = "") String liveUrl,@RequestParam(defaultValue = "") String classIds) {
        try {
            String [] ids = classIds.split(",");
            boolean flag = true;
            for (int i=0;i<ids.length;i++){
                TBaseSecondClass secondClass = secondClassMapper.selectByPrimaryKey(Long.valueOf(ids[i]));
                if(secondClass.getType()!=2){
                    flag = false;
                    break;
                }
            }
            if(!flag){
                return  error("0","分类类型不匹配","分类类型不匹配");
            }
            SysUser user =getSysUser();
            TKzyCourse course = new TKzyCourse();
            course.setCourseName(courseName);
            course.setPicUrl(picUrl);
            course.setCourseIntroduce(courseIntroduce);
            if(!("").equals(liveUrl)) {
                course.setLiveUrl(liveUrl);
            }
            course.setEditorId(user.getId());
            course.setEditorName(user.getRealname());
            if(id != -1){  //修改
                course.setId(id);
                course.setUpdateDt(new Date());
                courseService.updateCourse(course,classIds);
            }else{ //添加
                course.setCreateDt(new Date());
                course.setIsDelete(0);
                course.setIsUp(2);
                course.setCourseType(2);
                courseService.insertCourse(course,classIds);
            }
            return success("操作成功");
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }




    /**
     * 直播详情
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/zbCourseInfo", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map zbCourseInfo(@RequestParam long id) {
        try {
            Map paramMap = new HashMap<>();
            paramMap.put("id",id);
            paramMap.put("type",1);
            Map map = (Map)openSqlRingsService.selectOne_Rings("com.mapping.queryModel.queryCourseZbInfo",paramMap);
            List classList = openSqlRingsService.selectList_Rings("com.mapping.queryModel.queryCourseClass",paramMap);
            map.put("classList",classList);
            return success(map);
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }


    /**
     * 录播详情
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(path = "/lbCourseInfo", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map lbCourseInfo(@RequestParam long id) {
        try {
            Map paramMap = new HashMap<>();
            paramMap.put("id",id);
            paramMap.put("type",1);
            Map map = (Map)openSqlRingsService.selectOne_Rings("com.mapping.queryModel.queryCourseLbInfo",paramMap);
            List classList = openSqlRingsService.selectList_Rings("com.mapping.queryModel.queryCourseClass",paramMap);
            map.put("classList",classList);
            return success(map);
        } catch (Exception e) {
            e.printStackTrace();
            return  error("0","系统异常",null);
        }
    }

}