修改课程信息数据回显
1.入口改造
export default {
data() {
return {
courseId:'',
saveBtnDisabled: false
}
},
created() {
console.log('chapter created');
if (this.$route.params && this.$route.params.id) {
this.courseId = this.$route.params.id;
}
},
methods: {
previous() {
console.log('previous');
this.$router.push({path: `/course/add/${this.courseId}`});
},
next() {
console.log('next')
this.$router.push({path: `/course/publish/${this.courseId}`});
}
}
}
2.开发数据回显接口
@ApiOperation(value = "根据id查询课程信息")
@GetMapping("getCourseInfoById/{id}")
public R getCourseInfoById(@PathVariable String id ){
CourseInfoForm courseInfoForm = courseService.getCourseInfoById(id);
return R.ok().data("courseInfo",courseInfoForm);
}
@Override
public CourseInfoForm getCourseInfoById(String id) {
EduCourse eduCourse = baseMapper.selectById(id);
CourseInfoForm courseInfoForm = new CourseInfoForm();
BeanUtils.copyProperties(eduCourse,courseInfoForm);
EduCourseDescription courseDescription = courseDescriptionService.getById(id);
courseInfoForm.setDescription(courseDescription.getDescription());
return courseInfoForm;
}
- 测试:
http://localhost:8001/swagger-ui.html
3.前端api接口方法
getCourseInfoById(id){
return request({
url: `/eduservice/course/getCourseInfoById/${id}`,
method: 'get'
})
}
4.页面调用,数据渲染
export default {
components: {Tinymce},
data() {
return {
courseId:'',
saveBtnDisabled: false,
courseInfo: {
subjectId:"",
cover:"/static/vue.png"
},
teacherList:[],
oneSubjectList:[],
twoSubjectList:[],
BASE_API: process.env.BASE_API
};
},
created() {
console.log("info created");
if (this.$route.params && this.$route.params.id) {
this.courseId = this.$route.params.id;
this.getInfoByCourseId();
} else{
this.getOneSubjectList();
}
this.getTeacherList();
},
methods: {
getInfoByCourseId() {
course.getCourseInfoById(this.courseId).then(response => {
this.courseInfo = response.data.courseInfo;
subject.getAllSubject().then(response => {
this.oneSubjectList = response.data.allSubject;
for (let i = 0; i < this.oneSubjectList.length; i++) {
let oneSubject = this.oneSubjectList[i];
if (this.courseInfo.subjectParentId === oneSubject.id) {
this.twoSubjectList = oneSubject.children;
}
}
});
});
},
修改课程信息实现
1.接口实现
@ApiOperation(value = "修改课程信息")
@PostMapping("updateCourseInfo")
public R updateCourseInfo(@RequestBody CourseInfoForm courseInfoForm){
courseService.updateCourseInfo(courseInfoForm);
return R.ok();
}
@Override
public void updateCourseInfo(CourseInfoForm courseInfoForm) {
EduCourse eduCourse = new EduCourse();
BeanUtils.copyProperties(courseInfoForm,eduCourse);
int update = baseMapper.updateById(eduCourse);
if(update==0){
throw new GuliException(20001,"修改课程失败");
}
String courseId = eduCourse.getId();
EduCourseDescription courseDescription = new EduCourseDescription();
courseDescription.setId(courseId);
courseDescription.setDescription(courseInfoForm.getDescription());
courseDescriptionService.updateById(courseDescription);
}
2.前端对接