zoukankan      html  css  js  c++  java
  • 在线教育项目-day08【大纲返回进行修改课程信息并进行修改】

    1.controller

        //根据课程id查询课程基本信息
        @GetMapping("getCourseInfo/{courseId}")
        public R getCourseInfo(@PathVariable String courseId) {
            CourseInfoVo courseInfoVo = courseService.getCourseInfo(courseId);
            return R.OK().data("courseInfoVo",courseInfoVo);
        }
    
    


        //修改课程信息
        @PostMapping("updateCourseInfo")
        public R updateCourseInfo(@RequestBody CourseInfoVo courseInfoVo) {
            courseService.updateCourseInfo(courseInfoVo);
            return R.OK();
        }

    2.service

        //根据课程id查询课程基本信息
        CourseInfoVo getCourseInfo(String courseId);
        //修改课程信息
        void updateCourseInfo(CourseInfoVo courseInfoVo);

    3.serviceImpl

        //根据课程id查询课程基本信息
        @Override
        public CourseInfoVo getCourseInfo(String courseId) {
            //1 查询课程表
            EduCourse eduCourse = baseMapper.selectById(courseId);
            CourseInfoVo courseInfoVo = new CourseInfoVo();
            BeanUtils.copyProperties(eduCourse,courseInfoVo);
    
            //2 查询描述表
            EduCourseDescription courseDescription = courseDescriptionService.getById(courseId);
            courseInfoVo.setDescription(courseDescription.getDescription());
    
            return courseInfoVo;
        }
        //修改课程信息
        @Override
        public void updateCourseInfo(CourseInfoVo courseInfoVo) {
            //1 修改课程表
            EduCourse eduCourse = new EduCourse();
            BeanUtils.copyProperties(courseInfoVo,eduCourse);
            int update = baseMapper.updateById(eduCourse);
            if(update == 0) {
                throw new onlineEduException(20001,"修改课程信息失败");
            }
    
            //2 修改描述表
            EduCourseDescription description = new EduCourseDescription();
            description.setId(courseInfoVo.getId());
            description.setDescription(courseInfoVo.getDescription());
            courseDescriptionService.updateById(description);
        }

    前端部分

    书写api

        //根据课程id查询基本信息
        getInfoBycourseId(couserId){
            return request({
                url: '/eduservice/edu-course/getCourseInfo/'+couserId,
                method: 'get'
              })
        },
        //修改课程信息
        updateCourseInfo(couserInfo){
            return request({
                url: '/eduservice/edu-course/updateCourseInfo/',
                method: 'post',
                data: couserInfo
              })
        }

    书写vue

    返回一个id

        
        previous() {
          this.$router.push({ path: "/course/info/"+this.courseId });
        },

    在info页面数据回显

    import subject from '@/api/subject/subject'
    export default {
        data() {
            return {
                saveBtnDisabled:false,
                courseInfo:{
                    title: '',
                    subjectId: '',//二级分类id
                    subjectParentId:'',//一级分类id
                    teacherId: '',
                    lessonNum: 0,
                    description: '',
                    cover: '/static/02.jpg',
                    price: 0
                },
                BASE_API: process.env.BASE_API, // 接口API地址
                teacherList:[],//封装所有的讲师
                subjectOneList:[],//一级分类
                subjectTwoList:[],//二级分类
                courseId:''
            }   
        },
        created() {
            //获取路由id值
            if(this.$route.params && this.$route.params.id){
                this.courseId=this.$route.params.id
                this.getInfo()
    
            }
            //初始化所有讲师
            this.getListTeacher()
            //初始化一级分类
            this.getOneSubject()
        },
        methods:{
            //根据课程id查询信息
            getInfo(){
                course.getInfoBycourseId(this.courseId)
                    .then(response=>{
                        this.courseInfo=response.data.courseInfoVo
                    })
    
            },

     

     

     可以看到我们的一些数据有问题

    首先解决我们的一级分类不显示问题

     可以看到数据库没有插入一级分类的id,返回的json数据也是没有的

     我发现我的实体类中没有定义这个值定义一下重新进行测试

     然后解决我们的二级分类的问题

    更改getInfo函数

     getInfo(){
                course.getInfoBycourseId(this.courseId)
                    .then(response=>{
                        this.courseInfo=response.data.courseInfoVo
                        //查询出所有的分类
                        subject.getSubjectList()
                            .then(response=>{
                                //获取所有的一级分类
                                this.subjectOneList=response.data.items
                                //遍历一级分类id是否一样
                                for(var i=0;i<this.subjectOneList.length;i++){
                                    //获取每个一级分类
                                    var oneSubject=this.subjectOneList[i]
                                    if(this.courseInfo.subjectParentId == oneSubject.id) {
                                        this.subjectTwoList=oneSubject.children
                                    }
                                }
                            })
                        this.getListTeacher()    
                    })
    
            },

     可以看到数据都回显了

    然后进行修改功能

    修改前端函数

     addCourse(){
                course.addCourseInfo(this.courseInfo)
                    .then(response => {
                        //提示
                        this.$message({
                            type: 'success',
                            message: '添加课程信息成功!'
                        });
                        //跳转到第二步
                        this.$router.push({path:'/course/chapter/'+response.data.courseid})
                    })
            },
            updateCourse(){
                    course.updateCourseInfo(this.courseInfo)
                    .then(response => {
                        //提示
                        this.$message({
                            type: 'success',
                            message: '修改课程信息成功!'
                        });
                        //跳转到第二步
                        this.$router.push({path:'/course/chapter/'+this.courseId})
                    })
    
            },
            
            saveOrUpdate() {
                if(!this.courseInfo.id){
                    this.addCourse()
                }else{
                    this.updateCourse()
                }
                
            }
  • 相关阅读:
    文件上传中的错误文件上传及其命名
    播放音乐
    文件的读取与写入ASP.NET中常用代码之四(转载)
    Spring中文在线文档
    Css 图形
    离职进行时
    又面试了
    在Spring应用中创建全局获取ApplicationContext对象
    开始研究WEKA,一个开源java的数据挖掘工具
    收到SZ科技的录取通知,纠结是不是要去
  • 原文地址:https://www.cnblogs.com/dmzna/p/12821734.html
Copyright © 2011-2022 走看看