1.選對需要設置的公共字段進行分類時需要插入更新,還是修改更新,還是插入和修改都更新
2.創建攔截器
@Component
@Slf4j
public class StaffCenterMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
try {
// 根據自己的業務獲取參數信息
UserInfo userInfo = LoginUtils.getLoginUser().getUserInfo();
log.info("======插入攔截添加公共字段,對象信息為{}====", userInfo);
if (Objects.nonNull(userInfo)) {
this.setFieldValByName("createrId", userInfo.getId(), metaObject);
this.setFieldValByName("createrName", userInfo.getFullName(), metaObject);
this.setFieldValByName("updaterId", userInfo.getId(), metaObject);
this.setFieldValByName("updaterName", userInfo.getFullName(), metaObject);
}
} catch (Exception e) {
log.error("插入攔截發生異常====信息為{}", e.getMessage());
}
}
@Override
public void updateFill(MetaObject metaObject) {
try {
// 根據自己的業務獲取參數信息
UserInfo userInfo = LoginUtils.getLoginUser().getUserInfo();
log.info("======執行修改攔截添加公共字段,對象信息為{}====", userInfo);
if (Objects.nonNull(userInfo)) {
this.setFieldValByName("updaterId", userInfo.getId(), metaObject);
this.setFieldValByName("updaterName", userInfo.getFullName(), metaObject);
}
} catch (Exception e) {
log.error("修改攔截發生異常====信息為{}", e.getMessage());
}
}
}