一、后端实现
1、业务层
接口:CourseService.java
void updateCourseInfoById(CourseInfoForm courseInfoForm);
实现:CourseServiceImpl.java
@Overridepublic void updateCourseInfoById(CourseInfoForm courseInfoForm) {//保存课程基本信息Course course = new Course();BeanUtils.copyProperties(courseInfoForm, course);boolean resultCourseInfo = this.updateById(course);if(!resultCourseInfo){throw new GuliException(20001, "课程信息保存失败");}//保存课程详情信息CourseDescription courseDescription = new CourseDescription();courseDescription.setDescription(courseInfoForm.getDescription());courseDescription.setId(course.getId());boolean resultDescription = courseDescriptionService.updateById(courseDescription);if(!resultDescription){throw new GuliException(20001, "课程详情信息保存失败");}}
2、web层
@ApiOperation(value = "更新课程")@PutMapping("update-course-info/{id}")public R updateCourseInfoById(@ApiParam(name = "CourseInfoForm", value = "课程基本信息", required = true)@RequestBody CourseInfoForm courseInfoForm,@ApiParam(name = "id", value = "课程ID", required = true)@PathVariable String id){courseService.updateCourseInfoById(courseInfoForm);return R.ok();}
二、前端实现
1、定义api
course.js
updateCourseInfoById(courseInfo) {return request({url: `${api_name}/update-course-info/${courseInfo.id}`,method: 'put',data: courseInfo})}
2、组件js
info.vue
updateData() {this.saveBtnDisabled = truecourse.updateCourseInfoById(this.courseInfo).then(response => {this.$message({type: 'success',message: '修改成功!'})return response// 将响应结果传递给then}).then(response => {this.$router.push({ path: '/edu/course/chapter/' + response.data.courseId })}).catch((response) => {// console.log(response)this.$message({type: 'error',message: '保存失败'})})},
