package com.kms.yxgh.base; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.kms.common.utils.BaseEntityUtils; import com.shuili.common.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Service; import java.util.Date; /** * MP注入处理器 * * @author Lion Li * @date 2021/4/25 */ @Slf4j @Service public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { try { if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof SyBaseEntity) { SyBaseEntity baseEntity = (SyBaseEntity) metaObject.getOriginalObject(); Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime()) ? baseEntity.getCreateTime() : new Date(); baseEntity.setCreateTime(current); baseEntity.setUpdateTime(current); BaseEntityUtils.preInsert(baseEntity); } } catch (Exception e) { throw new BaseException(e.getMessage()); } } @Override public void updateFill(MetaObject metaObject) { try { if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof SyBaseEntity) { SyBaseEntity baseEntity = (SyBaseEntity) metaObject.getOriginalObject(); Date current = new Date(); // 更新时间填充(不管为不为空) baseEntity.setUpdateTime(current); BaseEntityUtils.preUpdate(baseEntity); } } catch (Exception e) { throw new BaseException(e.getMessage()); } } }