package vip.fuck.sm.common.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import vip.fuck.sm.common.utils.Constant; import org.apache.ibatis.reflection.MetaObject; import org.noear.solon.annotation.Component; import java.util.Arrays; import java.util.Date; import java.util.HashSet; /** * mybatis plus 默认值配置 * * @author xian.zi.ming@qq.com fuck.vip * @version V1.0 * @date 2020年3月18日 */ @Component public class MetaObjectHandlerConfig implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { Date currentDate = new Date(); String[] setterNames = metaObject.getSetterNames(); HashSet setterNameSet = new HashSet<>(Arrays.asList(setterNames)); if (setterNameSet.contains("deleted")) { //默认未删除 setFieldValByName("deleted", Constant.DATA_NOT_DELETED, metaObject); } if (setterNameSet.contains("createTime")) { //创建时间默认当前时间 setFieldValByName("createTime", currentDate, metaObject); } if (setterNameSet.contains("createDate")) { //创建时间默认当前时间 setFieldValByName("createDate", currentDate, metaObject); } // if (setterNameSet.contains("createId")) { // //创建时间默认当前时间 // setFieldValByName("createId", StpUtil.getLoginIdAsString(), metaObject); // } // if (setterNameSet.contains("updateId")) { // //创建时间默认当前时间 // setFieldValByName("updateId", StpUtil.getLoginIdAsString(), metaObject); // } if (setterNameSet.contains("updateTime")) { //创建时间默认当前时间 setFieldValByName("updateTime", currentDate, metaObject); } if (setterNameSet.contains("updateDate")) { //创建时间默认当前时间 setFieldValByName("updateDate", currentDate, metaObject); } } @Override public void updateFill(MetaObject metaObject) { Date currentDate = new Date(); String[] setterNames = metaObject.getSetterNames(); HashSet setterNameSet = new HashSet<>(Arrays.asList(setterNames)); if (setterNameSet.contains("updateTime")) { //创建时间默认当前时间 setFieldValByName("updateTime", currentDate, metaObject); } if (setterNameSet.contains("updateDate")) { //创建时间默认当前时间 setFieldValByName("updateDate", currentDate, metaObject); } // if (setterNameSet.contains("updateId")) { // //创建时间默认当前时间 // setFieldValByName("updateId", StpUtil.getLoginIdAsString(), metaObject); // } } }