package com.unis.crk.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @program: crk
 * @Date: 2021-07-27 13:27
 * @Author: TangSong
 * @Description: 自动填充处理类
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override    //在执行mybatisPlus的insert()时，为我们自动给某些字段填充值，这样的话，我们就不需要手动给insert()里的实体类赋值了
    public void insertFill(MetaObject metaObject) {
        //其中方法参数中第一个是前面自动填充所对应的字段，第二个是要自动填充的值。第三个是指定实体类的对象
        this.setFieldValByName("BuildDate", new Date(), metaObject);
        this.setFieldValByName("ModifyDate", new Date(), metaObject);
        this.setFieldValByName("createtime", new Date(), metaObject);
        this.setFieldValByName("cjsj", new Date(), metaObject);
        this.setFieldValByName("modifyDate", new Date(), metaObject);
        this.setFieldValByName("builderDate", new Date(), metaObject);



    }

    @Override//在执行mybatisPlus的update()时，为我们自动给某些字段填充值，这样的话，我们就不需要手动给update()里的实体类赋值了
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("ModifyDate", new Date(), metaObject);
        this.setFieldValByName("modifyDate", new Date(), metaObject);
        this.setFieldValByName("updateTime", null, metaObject);
        this.setFieldValByName("UPDATE_TIME", null, metaObject);
        System.out.println(metaObject+"---"+"updateTime");
    }

}
