【开发】谷粒学院-讲师管理接口开发-05-新增和修改讲师接口开发


一、自动填充封装

1、在service-base模块中添加

创建包handler,创建自动填充类 MyMetaObjectHandler

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("gmtCreate", new Date(), metaObject);
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
}

2、在实体类添加自动填充注解

二、controller方法定义

1、新增

    @ApiOperation(value = "新增讲师")
    @PostMapping
    public R save(
            @ApiParam(name = "teacher", value = "讲师对象", required = true)
            @RequestBody Teacher teacher){
        teacherService.save(teacher);
        return R.ok();
    }
	
-------------实际代码


//    添加讲师接口且配置自动填充
    @ApiOperation(value = "添加讲师接口")
    @PostMapping("addTeacher")
    public R addTeacher(
            @ApiParam(name = "teacherQuery",
                    value = "查询条件json",
                    required = false)
            @RequestBody EduTeacher eduTeacher){

//        1、使用eduTeacherService提交需添加的讲师数据,根据布尔返回值响应统一接口数据
        if(eduTeacherService.save(eduTeacher)){
            return R.ok();
        }else {
            return R.error();
        }
    }


2、根据id查询

@ApiOperation(value = "根据ID查询讲师")
    @GetMapping("{id}")
    public R getById(
            @ApiParam(name = "id", value = "讲师ID", required = true)
            @PathVariable String id){
        Teacher teacher = teacherService.getById(id);
        return R.ok().data("item", teacher);
    }

3、根据id修改

@ApiOperation(value = "根据ID修改讲师")
@PutMapping("{id}")
public R updateById(
    @ApiParam(name = "id", value = "讲师ID", required = true)
    @PathVariable String id,
    @ApiParam(name = "teacher", value = "讲师对象", required = true)
    @RequestBody Teacher teacher){
    teacher.setId(id);
    teacherService.updateById(teacher);
    return R.ok();
}