¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.framework.handler; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.http.HttpStatus; |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * MP注å
¥å¤çå¨ |
| | | * |
| | | * @author Lion Li |
| | | * @date 2021/4/25 |
| | | */ |
| | | @Slf4j |
| | | public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | try { |
| | | if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) { |
| | | BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject(); |
| | | Date current = new Date(); |
| | | // å建æ¶é´ä¸ºç©º åå¡«å
|
| | | if (ObjectUtil.isNull(baseEntity.getCreateTime())) { |
| | | baseEntity.setCreateTime(current); |
| | | } |
| | | // æ´æ°æ¶é´ä¸ºç©º åå¡«å
|
| | | if (ObjectUtil.isNull(baseEntity.getUpdateTime())) { |
| | | baseEntity.setUpdateTime(current); |
| | | } |
| | | String username = getLoginUsername(); |
| | | // å½åå·²ç»å½ ä¸ å建人为空 åå¡«å
|
| | | if (StringUtils.isNotBlank(username) |
| | | && StringUtils.isBlank(baseEntity.getCreateBy())) { |
| | | baseEntity.setCreateBy(username); |
| | | } |
| | | // å½åå·²ç»å½ ä¸ æ´æ°äººä¸ºç©º åå¡«å
|
| | | if (StringUtils.isNotBlank(username) |
| | | && StringUtils.isBlank(baseEntity.getUpdateBy())) { |
| | | baseEntity.setUpdateBy(username); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | throw new ServiceException("èªå¨æ³¨å
¥å¼å¸¸ => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | try { |
| | | if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) { |
| | | BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject(); |
| | | Date current = new Date(); |
| | | // æ´æ°æ¶é´å¡«å
(ä¸ç®¡ä¸ºä¸ä¸ºç©º) |
| | | baseEntity.setUpdateTime(current); |
| | | String username = getLoginUsername(); |
| | | // å½åå·²ç»å½ æ´æ°äººå¡«å
(ä¸ç®¡ä¸ºä¸ä¸ºç©º) |
| | | if (StringUtils.isNotBlank(username)) { |
| | | baseEntity.setUpdateBy(username); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | throw new ServiceException("èªå¨æ³¨å
¥å¼å¸¸ => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åç»å½ç¨æ·å |
| | | */ |
| | | private String getLoginUsername() { |
| | | LoginUser loginUser; |
| | | try { |
| | | loginUser = SecurityUtils.getLoginUser(); |
| | | } catch (Exception e) { |
| | | log.warn("èªå¨æ³¨å
¥è¦å => ç¨æ·æªç»å½"); |
| | | return null; |
| | | } |
| | | return loginUser.getUsername(); |
| | | } |
| | | |
| | | } |