浏览代码

新增或者修改的时候,是否需要给修改人修改时间赋值

shiqian 4 年之前
父节点
当前提交
e86401894e

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -128,7 +128,7 @@ public class TableServiceCmdService {
         String pkName = context.getPkName();
         String pkName = context.getPkName();
         JSONObject commitData = context.getCommitData();
         JSONObject commitData = context.getCommitData();
 
 
-        // 新增 todo 判断是否有修改时间和修改人,需要抽取公告方法
+        // 新增
         if (ActionType.INSERT.equals(context.getActionType())) {
         if (ActionType.INSERT.equals(context.getActionType())) {
             Long maxId = IdUtils.getMaxId(dto.getTable(), pkName);
             Long maxId = IdUtils.getMaxId(dto.getTable(), pkName);
             RowResult rowResult = saveService.insertRow(context.getTableName(), pkName, maxId, commitData, columns);
             RowResult rowResult = saveService.insertRow(context.getTableName(), pkName, maxId, commitData, columns);

+ 4 - 22
boman-web-core/src/main/java/com/boman/web/core/service/save/BaseSaveServiceImpl.java

@@ -5,6 +5,7 @@ import com.boman.gen.domain.GenTableColumn;
 import com.boman.web.core.constant.FormDataConstant;
 import com.boman.web.core.constant.FormDataConstant;
 import com.boman.web.core.domain.RowResult;
 import com.boman.web.core.domain.RowResult;
 import com.boman.web.core.mapper.StandardlyMapper;
 import com.boman.web.core.mapper.StandardlyMapper;
+import com.boman.web.core.utils.ColumnUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,28 +40,9 @@ public class BaseSaveServiceImpl implements IBaseSaveService {
     @Override
     @Override
     public RowResult insertRow(String tableName, String pkName, Long maxId, JSONObject commitData, List<GenTableColumn> columns) {
     public RowResult insertRow(String tableName, String pkName, Long maxId, JSONObject commitData, List<GenTableColumn> columns) {
         Timestamp currentTime = new Timestamp(System.currentTimeMillis());
         Timestamp currentTime = new Timestamp(System.currentTimeMillis());
-        for (GenTableColumn column : columns) {
-            // 判断是否有修改人、修改时间
-            if (FormDataConstant.UPDATE_BY.equalsIgnoreCase(column.getColumnName())) {
-                commitData.put(FormDataConstant.UPDATE_BY, "张三");
-            }
-            if (FormDataConstant.UPDATE_TIME.equalsIgnoreCase(column.getColumnName())) {
-                commitData.put(FormDataConstant.UPDATE_TIME, currentTime);
-            }
-
-            // 如果某一列是datetime类型,需要把类型转成datetime,否则数据库会报错
-            if (FormDataConstant.DATETIME.equalsIgnoreCase(column.getColumnType())) {
-                String columnName = column.getColumnName().toUpperCase();
-                commitData.put(columnName, commitData.getTimestamp(columnName));
-            }
-        }
-
-        // 新增
-//        if (row.getId() > 0) {
-            commitData.put(FormDataConstant.CREATE_TIME.toUpperCase(), currentTime);
-            commitData.put(FormDataConstant.CREATE_BY.toUpperCase(), "张三");
-//        }
-
+        ColumnUtils.packUpdateByAndTime(columns, commitData, currentTime);
+        commitData.put(FormDataConstant.CREATE_TIME.toUpperCase(), currentTime);
+        commitData.put(FormDataConstant.CREATE_BY.toUpperCase(), "张三");
         commitData.put(pkName.toUpperCase(), maxId);
         commitData.put(pkName.toUpperCase(), maxId);
         int ret = mapper.insert(tableName, commitData);
         int ret = mapper.insert(tableName, commitData);
         if (ret > 0) {
         if (ret > 0) {

+ 2 - 16
boman-web-core/src/main/java/com/boman/web/core/service/update/BaseUpdateServiceImpl.java

@@ -3,9 +3,9 @@ package com.boman.web.core.service.update;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.boman.common.core.utils.obj.ObjectUtils;
 import com.boman.common.core.utils.obj.ObjectUtils;
 import com.boman.gen.domain.GenTableColumn;
 import com.boman.gen.domain.GenTableColumn;
-import com.boman.web.core.constant.FormDataConstant;
 import com.boman.web.core.domain.TableContext;
 import com.boman.web.core.domain.TableContext;
 import com.boman.web.core.mapper.StandardlyMapper;
 import com.boman.web.core.mapper.StandardlyMapper;
+import com.boman.web.core.utils.ColumnUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,21 +50,7 @@ public class BaseUpdateServiceImpl implements IBaseUpdateService {
 
 
         Timestamp currentTime = new Timestamp(System.currentTimeMillis());
         Timestamp currentTime = new Timestamp(System.currentTimeMillis());
         commitData = ObjectUtils.ifNullSetEmpty(escapeByQueryType(columns, commitData));
         commitData = ObjectUtils.ifNullSetEmpty(escapeByQueryType(columns, commitData));
-        for (GenTableColumn column : columns) {
-            // 判断是否有修改人、修改时间
-            if (FormDataConstant.UPDATE_BY.equalsIgnoreCase(column.getColumnName())) {
-                commitData.put(FormDataConstant.UPDATE_BY, "张三");
-            }
-            if (FormDataConstant.UPDATE_TIME.equalsIgnoreCase(column.getColumnName())) {
-                commitData.put(FormDataConstant.UPDATE_TIME, currentTime);
-            }
-
-            // 如果某一列是datetime类型,需要把类型转成datetime,否则数据库会报错
-            if (FormDataConstant.DATETIME.equalsIgnoreCase(column.getColumnType())) {
-                String columnName = column.getColumnName().toUpperCase();
-                commitData.put(columnName, commitData.getTimestamp(columnName));
-            }
-        }
+        ColumnUtils.packUpdateByAndTime(columns, commitData, currentTime);
 
 
         return mapper.updateByIdList(context.getTableName(), pkName, idList, commitData);
         return mapper.updateByIdList(context.getTableName(), pkName, idList, commitData);
     }
     }

+ 40 - 0
boman-web-core/src/main/java/com/boman/web/core/utils/ColumnUtils.java

@@ -0,0 +1,40 @@
+package com.boman.web.core.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.boman.gen.domain.GenTableColumn;
+import com.boman.web.core.constant.FormDataConstant;
+
+import java.sql.Timestamp;
+import java.util.List;
+
+/**
+ * @author shiqian
+ * @date 2021年04月13日 15:37
+ **/
+public class ColumnUtils {
+
+    /**
+     * 功能描述: 新增或者修改的时候,是否需要给修改人修改时间赋值
+     *
+     * @param columns     所有的列
+     * @param jsonObject  需要返回的数据
+     * @param currentTime currentTime
+     */
+    public static void packUpdateByAndTime(List<GenTableColumn> columns, JSONObject jsonObject, Timestamp currentTime) {
+        for (GenTableColumn column : columns) {
+            // 判断是否有修改人、修改时间
+            if (FormDataConstant.UPDATE_BY.equalsIgnoreCase(column.getColumnName())) {
+                jsonObject.put(FormDataConstant.UPDATE_BY, "张三");
+            }
+            if (FormDataConstant.UPDATE_TIME.equalsIgnoreCase(column.getColumnName())) {
+                jsonObject.put(FormDataConstant.UPDATE_TIME, currentTime);
+            }
+
+            // 如果某一列是datetime类型,需要把类型转成datetime,否则数据库会报错
+            if (FormDataConstant.DATETIME.equalsIgnoreCase(column.getColumnType())) {
+                String columnName = column.getColumnName().toUpperCase();
+                jsonObject.put(columnName, jsonObject.getTimestamp(columnName));
+            }
+        }
+    }
+}