Bladeren bron

创建时间根据类型写入Date还是LocalDateTime

陈长荣 1 maand geleden
bovenliggende
commit
167a688e87

+ 17 - 2
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/handler/BaseEntityMetaObjectHandler.java

@@ -38,8 +38,12 @@ public class BaseEntityMetaObjectHandler implements MetaObjectHandler {
     public void insertFill(MetaObject metaObject) {
         log.debug("mybatis plus start insert fill ....");
         Map<String, Object> fieldsToFill = new HashMap<>();
-        fieldsToFill.put("createTime", LocalDateTime.now());
-        fieldsToFill.put("create_time", LocalDateTime.now());
+        //判断创建时间类型
+        setTime("createTime", metaObject, fieldsToFill);
+        setTime("create_time", metaObject, fieldsToFill);
+        setTime("updateTime", metaObject, fieldsToFill);
+        setTime("update_time", metaObject, fieldsToFill);
+
         fieldsToFill.put("createBy", UserUtil.getUserName());
         fieldsToFill.put("delFlag", "0");
         fieldsToFill.put("deleted", "0");
@@ -50,6 +54,17 @@ public class BaseEntityMetaObjectHandler implements MetaObjectHandler {
         this.fillFieldsIfExist(metaObject, fieldsToFill, false);
     }
 
+    private void setTime(String propertyName, MetaObject metaObject, Map<String, Object> fillMap) {
+        if (metaObject.hasGetter(propertyName)) {
+            Class<?> createTimeType = metaObject.getGetterType(propertyName);
+            if (createTimeType.equals(Date.class)) {
+                fillMap.put(propertyName, new Date());
+            } else if (createTimeType.equals(LocalDateTime.class)) {
+                fillMap.put(propertyName, LocalDateTime.now());
+            }
+        }
+    }
+
     private void fillFieldsIfExist(MetaObject metaObject, Map<String, Object> fieldsToFill, boolean isCover) {
         for(Map.Entry<String, Object> entry : fieldsToFill.entrySet()) {
             String fieldName = entry.getKey();