fix: api sleep 적용

main
Jonguk. Lim 1 year ago
parent 9999643741
commit 66df5dd765

@ -2,34 +2,32 @@ package kr.xit.biz.ens.service;
import static kr.xit.core.support.utils.JsonUtils.*;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.concurrent.atomic.*;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
import org.apache.commons.collections4.*;
import org.apache.commons.lang3.*;
import org.slf4j.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import kr.xit.biz.common.ApiConstants;
import kr.xit.biz.common.ApiConstants.SndngSeCode;
import kr.xit.biz.ens.cmm.CmmEnsBizUtils;
import kr.xit.biz.ens.mapper.IEnsBatchMapper;
import kr.xit.biz.ens.model.EnsDTO;
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
import kr.xit.biz.ens.model.cntc.CntcDTO;
import kr.xit.biz.ens.model.kakao.pay.KkopayDocAttrDTO;
import kr.xit.biz.ens.model.kakao.pay.KkopayDocBulkDTO;
import kr.xit.biz.ens.model.kakao.talk.KkotalkDTO;
import kr.xit.core.exception.BizRuntimeException;
import kr.xit.core.model.ApiResponseDTO;
import kr.xit.core.service.AbstractService;
import kr.xit.core.spring.util.ApiWebClientUtil;
import kr.xit.core.support.utils.Checks;
import lombok.RequiredArgsConstructor;
import org.springframework.http.*;
import org.springframework.stereotype.*;
import org.springframework.transaction.annotation.*;
import kr.xit.biz.common.*;
import kr.xit.biz.common.ApiConstants.*;
import kr.xit.biz.ens.cmm.*;
import kr.xit.biz.ens.mapper.*;
import kr.xit.biz.ens.model.*;
import kr.xit.biz.ens.model.cmm.*;
import kr.xit.biz.ens.model.cntc.*;
import kr.xit.biz.ens.model.kakao.pay.*;
import kr.xit.biz.ens.model.kakao.talk.*;
import kr.xit.core.exception.*;
import kr.xit.core.model.*;
import kr.xit.core.service.*;
import kr.xit.core.spring.util.*;
import kr.xit.core.support.utils.*;
import lombok.*;
/**
* <pre>
@ -128,22 +126,34 @@ public class EnsBatchStatusService extends AbstractService implements IEnsBatchS
*/
private void statusKakaopay(final SndngMssageParam dto) {
final String url = apiHost + apiKkopayBulkStatus;
AtomicBoolean isFirst = new AtomicBoolean(false);
final List<String> docsBinderUuids = mapper.selectKakaopayStatusTgts(dto);
final List<List<String>> partitions = ListUtils.partition(docsBinderUuids, bulkKkoMaxCnt);
@SuppressWarnings("rawtypes")
final List<ApiResponseDTO> apiResults = partitions.stream()
.map(uuids -> apiWebClient.exchange(
url,
HttpMethod.POST,
KkopayDocBulkDTO.BulkStatusRequests.builder()
.signguCode(dto.getSignguCode())
.ffnlgCode(dto.getFfnlgCode())
.document_binder_uuids(uuids)
.build(),
ApiResponseDTO.class,
CmmEnsBizUtils.getHeadeMap())
.map(uuids -> {
try {
if(!isFirst.get()){
Thread.sleep(300);
isFirst.set(true);
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
//throw BizRuntimeException.create(e.getMessage());
}
return apiWebClient.exchange(
url,
HttpMethod.POST,
KkopayDocBulkDTO.BulkStatusRequests.builder()
.signguCode(dto.getSignguCode())
.ffnlgCode(dto.getFfnlgCode())
.document_binder_uuids(uuids)
.build(),
ApiResponseDTO.class,
CmmEnsBizUtils.getHeadeMap());
}
).toList();
final List<KkopayDocBulkDTO.BulkStatusResponses> resList = new ArrayList<>();

Loading…
Cancel
Save