You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
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());
|
|
}
|
|
}
|
|
}
|
|
|