Skip to content

Commit 511df89

Browse files
committed
集成字段插件 apijson-column,通过 ENABLE_VERIFY_COLUMN 启用初始化及校验,通过 ENABLE_COLUMN_CONFIG 启用配置
1 parent d05958a commit 511df89

6 files changed

Lines changed: 183 additions & 77 deletions

File tree

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@
3636
<artifactId>APIJSON</artifactId>
3737
<version>6.1.0</version>
3838
</dependency>
39+
<!-- <dependency>-->
40+
<!-- <groupId>com.github.APIJSON</groupId>-->
41+
<!-- <artifactId>apijson-column</artifactId>-->
42+
<!-- <version>1.6.0</version>-->
43+
<!-- </dependency>-->
3944

4045
<!-- 数据库 JDBC 驱动 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -->
4146
<dependency>

src/main/java/apijson/framework/APIJSONApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public static <T extends Object> void init(boolean shutdownWhenServerError, @Not
8282
} catch (Throwable e) {
8383
e.printStackTrace();
8484
if (shutdownWhenServerError) {
85-
onServerError("权Access 限校验配置 初始化失败!", shutdownWhenServerError);
85+
onServerError("Access 权限校验配置 初始化失败!", shutdownWhenServerError);
8686
}
8787
}
8888
System.out.println("\n完成初始化: Access 权限校验配置 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");

src/main/java/apijson/framework/APIJSONController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public String parseByTag(RequestMethod method, String tag, Map<String, String> p
108108

109109
//通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
110110

111-
/**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率
111+
/**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一点路由解析性能来提升一些开发效率
112112
* @param method
113113
* @param tag
114114
* @param params

src/main/java/apijson/framework/APIJSONSQLConfig.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323
import java.util.Map;
2424

25+
import apijson.column.ColumnUtil;
2526
import com.alibaba.fastjson.JSONObject;
2627
import com.alibaba.fastjson.annotation.JSONField;
2728

@@ -38,6 +39,8 @@
3839
public class APIJSONSQLConfig extends AbstractSQLConfig {
3940
public static final String TAG = "APIJSONSQLConfig";
4041

42+
public static boolean ENABLE_COLUMN_CONFIG = false;
43+
4144
public static Callback<? extends Object> SIMPLE_CALLBACK;
4245
public static APIJSONCreator<? extends Object> APIJSON_CREATOR;
4346

@@ -261,6 +264,22 @@ public boolean isFakeDelete() {
261264

262265
@Override
263266
public void onFakeDelete(Map<String, Object> map) {
264-
265267
}
268+
269+
// 支持 !key 反选字段 和 字段名映射,依赖插件 https://github.com/APIJSON/apijson-column
270+
@Override
271+
public AbstractSQLConfig setColumn(List<String> column) {
272+
if (ENABLE_COLUMN_CONFIG) {
273+
column = ColumnUtil.compatInputColumn(column, getTable(), getMethod(), getVersion());
274+
}
275+
return super.setColumn(column);
276+
}
277+
@Override
278+
public String getKey(String key) {
279+
if (ENABLE_COLUMN_CONFIG) {
280+
key = ColumnUtil.compatInputKey(key, getTable(), getMethod(), getVersion(), ! isConfigTable());
281+
}
282+
return super.getKey(key);
283+
}
284+
266285
}

src/main/java/apijson/framework/APIJSONSQLExecutor.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.sql.SQLException;
2121
import java.util.Map;
2222

23+
import apijson.column.ColumnUtil;
2324
import org.postgresql.util.PGobject;
2425

2526
import com.alibaba.fastjson.JSONObject;
@@ -94,5 +95,17 @@ protected Object getValue(SQLConfig config, ResultSet rs, ResultSetMetaData rsmd
9495
return value instanceof PGobject ? JSON.parse(((PGobject) value).getValue()) : value;
9596
}
9697

98+
// 支持 !key 反选字段 和 字段名映射,依赖插件 https://github.com/APIJSON/apijson-column
99+
@Override
100+
protected String getKey(SQLConfig config, ResultSet rs, ResultSetMetaData rsmd, int tablePosition, JSONObject table,
101+
int columnIndex, Map<String, JSONObject> childMap) throws Exception {
102+
103+
String key = super.getKey(config, rs, rsmd, tablePosition, table, columnIndex, childMap);
104+
if (APIJSONSQLConfig.ENABLE_COLUMN_CONFIG) {
105+
return ColumnUtil.compatOutputKey(key, config.getTable(), config.getMethod());
106+
}
107+
108+
return key;
109+
}
97110

98111
}

0 commit comments

Comments
 (0)