|
@@ -56,9 +56,8 @@ public class DataBaseManagerController {
|
|
@PathVariable @ApiParam("数据源ID") String datasourceId,
|
|
@PathVariable @ApiParam("数据源ID") String datasourceId,
|
|
@RequestBody @ApiParam("SQL脚本") String sqlLines) throws Exception {
|
|
@RequestBody @ApiParam("SQL脚本") String sqlLines) throws Exception {
|
|
|
|
|
|
- DataSourceHolder.switcher().use(datasourceId);
|
|
|
|
return ResponseMessage.ok(databaseManagerService.execute(SqlExecuteRequest.builder()
|
|
return ResponseMessage.ok(databaseManagerService.execute(SqlExecuteRequest.builder()
|
|
- .sql(parseSql(sqlLines))
|
|
|
|
|
|
+ .sql(parseSql(sqlLines,datasourceId))
|
|
.build()));
|
|
.build()));
|
|
|
|
|
|
}
|
|
}
|
|
@@ -70,7 +69,7 @@ public class DataBaseManagerController {
|
|
@ApiParam("SQL脚本") String sqlLines) throws Exception {
|
|
@ApiParam("SQL脚本") String sqlLines) throws Exception {
|
|
return ResponseMessage.ok(databaseManagerService
|
|
return ResponseMessage.ok(databaseManagerService
|
|
.execute(SqlExecuteRequest.builder()
|
|
.execute(SqlExecuteRequest.builder()
|
|
- .sql(parseSql(sqlLines))
|
|
|
|
|
|
+ .sql(parseSql(sqlLines,null))
|
|
.build()));
|
|
.build()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -80,7 +79,18 @@ public class DataBaseManagerController {
|
|
public ResponseMessage<List<SqlExecuteResult>> executeTransactional(@PathVariable @ApiParam("事务ID") String transactionalId,
|
|
public ResponseMessage<List<SqlExecuteResult>> executeTransactional(@PathVariable @ApiParam("事务ID") String transactionalId,
|
|
@ApiParam("SQL脚本") @RequestBody String sqlLines) throws Exception {
|
|
@ApiParam("SQL脚本") @RequestBody String sqlLines) throws Exception {
|
|
return ResponseMessage.ok(databaseManagerService.execute(transactionalId, SqlExecuteRequest.builder()
|
|
return ResponseMessage.ok(databaseManagerService.execute(transactionalId, SqlExecuteRequest.builder()
|
|
- .sql(parseSql(sqlLines))
|
|
|
|
|
|
+ .sql(parseSql(sqlLines,null))
|
|
|
|
+ .build()));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping(value = "/transactional/execute/{transactionalId}/{dataSourceId}", consumes = MediaType.TEXT_PLAIN_VALUE)
|
|
|
|
+ @Authorize(action = "execute", description = "执行SQL")
|
|
|
|
+ @ApiOperation(value = "开启事务执行指定数据源对SQL")
|
|
|
|
+ public ResponseMessage<List<SqlExecuteResult>> executeTransactional(@PathVariable @ApiParam("事务ID") String transactionalId,
|
|
|
|
+ @PathVariable @ApiParam("数据源ID") String dataSourceId,
|
|
|
|
+ @ApiParam("SQL脚本") @RequestBody String sqlLines) throws Exception {
|
|
|
|
+ return ResponseMessage.ok(databaseManagerService.execute(transactionalId, SqlExecuteRequest.builder()
|
|
|
|
+ .sql(parseSql(sqlLines,dataSourceId))
|
|
.build()));
|
|
.build()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -91,6 +101,7 @@ public class DataBaseManagerController {
|
|
return ResponseMessage.ok(databaseManagerService.newTransaction());
|
|
return ResponseMessage.ok(databaseManagerService.newTransaction());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
@GetMapping("/transactional")
|
|
@GetMapping("/transactional")
|
|
@Authorize(action = "execute", description = "执行SQL")
|
|
@Authorize(action = "execute", description = "执行SQL")
|
|
@ApiOperation("获取全部事务信息")
|
|
@ApiOperation("获取全部事务信息")
|
|
@@ -114,12 +125,12 @@ public class DataBaseManagerController {
|
|
return ResponseMessage.ok();
|
|
return ResponseMessage.ok();
|
|
}
|
|
}
|
|
|
|
|
|
- private List<SqlInfo> parseSql(String sqlText) {
|
|
|
|
|
|
+ private List<SqlInfo> parseSql(String sqlText,String datasourceId) {
|
|
List<String> sqlList = Sqls.parse(sqlText);
|
|
List<String> sqlList = Sqls.parse(sqlText);
|
|
return sqlList.stream().map(sql -> {
|
|
return sqlList.stream().map(sql -> {
|
|
SqlInfo sqlInfo = new SqlInfo();
|
|
SqlInfo sqlInfo = new SqlInfo();
|
|
sqlInfo.setSql(sql);
|
|
sqlInfo.setSql(sql);
|
|
- sqlInfo.setDatasourceId(DataSourceHolder.switcher().currentDataSourceId());
|
|
|
|
|
|
+ sqlInfo.setDatasourceId(datasourceId);
|
|
sqlInfo.setType(sql.split("[ ]")[0].toLowerCase());
|
|
sqlInfo.setType(sql.split("[ ]")[0].toLowerCase());
|
|
return sqlInfo;
|
|
return sqlInfo;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|