Эх сурвалжийг харах

新增可见才可新增,编辑可见才可编辑

shiqian 4 жил өмнө
parent
commit
d454ddb823

+ 13 - 9
boman-web-core/src/main/java/com/boman/web/core/domain/TableContext.java

@@ -14,8 +14,7 @@ import java.util.Map;
 
 import static com.boman.common.core.utils.obj.ObjectUtils.ltZero;
 import static com.boman.common.core.utils.obj.ObjectUtils.requireNonNull;
-import static com.boman.web.core.constant.MaskConstant.INSERT_CAN_EDIT;
-import static com.boman.web.core.constant.MaskConstant.UPDATE_CAN_EDIT;
+import static com.boman.web.core.constant.MaskConstant.*;
 
 /**
  * @author shiqian
@@ -40,18 +39,21 @@ public class TableContext {
 
         RedisService redisService = SpringUtils.getBean(RedisService.class);
         GenTable table = redisService.getCacheObject(RedisKey.TABLE_INFO + tableName);
-        requireNonNull(table, "redis中没有此表,表名: " + tableName);
-        context.setTable(table);
+        context.setTable(requireNonNull(table, "redis中没有此表,表名: " + tableName));
+
         List<GenTableColumn> columns = table.getColumns();
         context.setColumns(columns);
+
         String pkName = IdUtils.getPkName(columns);
         context.setPkName(pkName);
 
         JSONObject fixedData = requireNonNull(dto.getFixedData(), "fixedData is empty");
         context.setFixedData(fixedData);
+
         JSONObject commitData = new JSONObject();
         packCommitData(dto, context, columns, fixedData, commitData);
         context.setCommitData(commitData);
+
         return context;
 
     }
@@ -63,21 +65,23 @@ public class TableContext {
         for (GenTableColumn column : columns) {
             String[] maskArray = requireNonNull(column.getMask(), "mask is empty").split("");
             assert maskArray.length == 6;
+            // 新增可见 修改可见
+            String insertVisible = maskArray[0], updateVisible = maskArray[2];
             // 新增可修改 修改可修改
-            String insertVisible = maskArray[1], updateVisible = maskArray[3];
+            String insertCanEdit = maskArray[1], updateCanEdit = maskArray[3];
             for (Map.Entry<String, Object> entry : fixedData.entrySet()) {
                 if (column.getColumnName().equalsIgnoreCase(entry.getKey())) {
                     // 新增
                     if (isInsert) {
-                        // 新增可修改, 把新增的字段单独拿出来
-                        if (INSERT_CAN_EDIT.equals(insertVisible)) {
+                        // 新增可修改, 并且新增可见,把新增的字段单独拿出来
+                        if (INSERT_CAN_EDIT.equals(insertCanEdit) && INSERT_VISIBLE.equals(insertVisible)) {
                             commitData.put(entry.getKey(), entry.getValue());
                         } else {
                             // ignore
                         }
                     } else {
-                        // 编辑可修改
-                        if (UPDATE_CAN_EDIT.equals(updateVisible)) {
+                        // 编辑可修改, 并且编辑可见
+                        if (UPDATE_CAN_EDIT.equals(updateCanEdit) && UPDATE_VISIBLE.equals(updateVisible)) {
                             commitData.put(entry.getKey(), entry.getValue());
                         } else {
                             // ignore