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