support select result data update

This commit is contained in:
SwallowGG
2023-10-11 15:34:04 +08:00
parent 35f15835f1
commit 283073b0e9
6 changed files with 135 additions and 35 deletions

View File

@ -63,10 +63,46 @@ public class RdbDmlController {
* @return
*/
@RequestMapping(value = "/execute_update", method = {RequestMethod.POST, RequestMethod.PUT})
public DataResult<String> executeUpdate(@RequestBody SelectResultUpdateRequest request) {
public DataResult<ExecuteResultVO> executeSelectResultUpdate(@RequestBody DmlRequest request) {
DlExecuteParam param = rdbWebConverter.request2param(request);
Connection connection = Chat2DBContext.getConnection();
if (connection != null) {
try {
boolean flag = true;
ExecuteResultVO executeResult = null;
connection.setAutoCommit(false);
ListResult<ExecuteResult> resultDTOListResult = dlTemplateService.execute(param);
List<ExecuteResultVO> resultVOS = rdbWebConverter.dto2vo(resultDTOListResult.getData());
if (!CollectionUtils.isEmpty(resultVOS)) {
for (ExecuteResultVO resultVO : resultVOS) {
if (!resultVO.getSuccess()) {
flag = false;
executeResult = resultVO;
break;
}
}
}
if (flag) {
connection.commit();
return DataResult.of(resultVOS.get(0));
}else {
connection.rollback();
return DataResult.of(executeResult);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
} else {
return DataResult.error("connection error", "");
}
}
@RequestMapping(value = "/get_update_sql", method = {RequestMethod.POST, RequestMethod.PUT})
public DataResult<String> getUpdateSelectResultSql(SelectResultUpdateRequest request) {
UpdateSelectResultParam param = rdbWebConverter.request2param(request);
return dlTemplateService.updateSelectResult(param);
}