update service

This commit is contained in:
kochetkov 2024-09-25 09:29:13 +03:00
parent d109deed13
commit 5603208f3c

View file

@ -143,11 +143,12 @@ public class RequestService {
} }
private String buildSqlQuery(SqlRequest request, String ids) { private String buildSqlQuery(SqlRequest request, String ids) {
StringBuilder extraConditionsBuilder = new StringBuilder();
String endpointArguments = " (" + Arrays.stream(ids.split(",")) String endpointArguments = " (" + Arrays.stream(ids.split(","))
.map(id -> "'" + id.trim() + "'") .map(id -> "'" + id.trim() + "'")
.collect(Collectors.joining(", ")) + ")"; .collect(Collectors.joining(", ")) + ")";
String requestURL = request.getRequestURL();
if (request.getRequestArguments() != null && !request.getRequestArguments().isEmpty()) { if (request.getRequestArguments() != null && !request.getRequestArguments().isEmpty()) {
for (RequestArgument argument : request.getRequestArguments()) { for (RequestArgument argument : request.getRequestArguments()) {
@ -158,14 +159,11 @@ public class RequestService {
List<String> result = fetchFileListFromDatabaseSQL(connection, query); List<String> result = fetchFileListFromDatabaseSQL(connection, query);
if (result != null && !result.isEmpty()) { if (result != null && !result.isEmpty()) {
String resultSet = String.join(", ", result.stream() String resultSet = " (" + result.stream()
.map(s -> "'" + s + "'") .map(s -> "'" + s.trim() + "'")
.toArray(String[]::new)); .collect(Collectors.joining(", ")) + ")";
extraConditionsBuilder.append(" OR ")
.append(argument.getId()) requestURL = requestURL.replace("${" + argument.getId() + "}", resultSet);
.append(" IN (")
.append(resultSet)
.append(")");
} }
} }
catch (SQLException e) { catch (SQLException e) {
@ -175,10 +173,8 @@ public class RequestService {
} }
} }
String extraConditions = extraConditionsBuilder.toString(); return requestURL
return request.getRequestURL()
.replace("${DB}", request.getSqlConnectionParams().getJdbcDatabase()) .replace("${DB}", request.getSqlConnectionParams().getJdbcDatabase())
.replace("${extraConditions}", extraConditions)
.replace("${endpointArguments}", endpointArguments); .replace("${endpointArguments}", endpointArguments);
} }