updateProductionStatus(..) 수정

master
mjkhan21 4 months ago
parent 66faf1c5d6
commit 4a753fe6aa

@ -1,6 +1,7 @@
package cokr.xit.interfaces.postplus.post.service; package cokr.xit.interfaces.postplus.post.service;
import java.util.List; import java.util.List;
import java.util.Map;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.interfaces.postplus.post.PostResponse; import cokr.xit.interfaces.postplus.post.PostResponse;
@ -35,10 +36,10 @@ public interface PostplusService {
/** . /** .
* @param apiName apiKey * @param apiName apiKey
* @param intfID * @param intfIDs
* @return * @return
*/ */
StatusResponse updateProductionStatus(String apiName, String intfID); Map<String, StatusResponse> updateProductionStatus(String apiName, List<String> intfIDs);
void updateProductionStatus(); void updateProductionStatus();

@ -5,6 +5,7 @@ import java.io.FileWriter;
import java.io.InputStream; import java.io.InputStream;
import java.net.http.HttpResponse; import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -139,19 +140,28 @@ public class PostplusServiceBean extends ScheduledServiceBean implements Postplu
} }
@Override @Override
public StatusResponse updateProductionStatus(String apiName, String intfID) { public Map<String, StatusResponse> updateProductionStatus(String apiName, List<String> intfIDs) {
HttpResponse<String> hresp = new WebClient().post(req -> String apiKey = conf.api(apiName).getKey();
req.uri(conf.productionStatusURL()) String productionStatusURL = conf.productionStatusURL();
.json(json) LinkedHashMap<String, StatusResponse> responses = new LinkedHashMap<>();
.data("apiKey", conf.api(apiName).getKey()) WebClient webClient = new WebClient();
.data("inputCode", intfID)
); for (String intfID: intfIDs) {
String body = hresp.body(); HttpResponse<String> hresp = webClient.post(req ->
log().debug("response:\n{}", body); req.uri(productionStatusURL)
.json(json)
StatusResponse resp = json.parse(body, StatusResponse.class); .data("apiKey", apiKey)
logProductionStatus(resp); .data("inputCode", intfID)
return resp; );
String body = hresp.body();
log().debug("response:\n{}", body);
StatusResponse resp = json.parse(body, StatusResponse.class);
responses.put(intfID, resp);
}
responses.values().forEach(this::logProductionStatus);
return responses;
} }
private void logProductionStatus(StatusResponse resp) { private void logProductionStatus(StatusResponse resp) {

@ -72,7 +72,7 @@ public class PostplusController extends AbstractController {
* @return * @return
*/ */
@PostMapping(name = "신청우편 상태 조회", value = "/status") @PostMapping(name = "신청우편 상태 조회", value = "/status")
public StatusResponse getProductionStatus(String apiName, String intfID) { public Map<String, StatusResponse> getProductionStatus(String apiName, List<String> intfIDs) {
return postplusService.updateProductionStatus(apiName, intfID); return postplusService.updateProductionStatus(apiName, intfIDs);
} }
} }
Loading…
Cancel
Save