|
|
|
|
@ -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<>();
|
|
|
|
|
|