|
|
|
@ -90,6 +90,49 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
private final ApiWebClientUtil apiWebClient;
|
|
|
|
|
private final IEnsBatchMapper mapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(readOnly = true)
|
|
|
|
|
public List<SndngMssageParam> findBulks(final EnsDTO.BatchEnsRequest reqDTO) {
|
|
|
|
|
|
|
|
|
|
// 발송/통합발송 마스터에서 대상 조회
|
|
|
|
|
reqDTO.setBatchPeriod(batchSendPeriod);
|
|
|
|
|
return mapper.selectSendBulkTgts(reqDTO);
|
|
|
|
|
// for (SndngMssageParam dto : tgtList) {
|
|
|
|
|
// dto.setSignguCode(reqDTO.getSignguCode());
|
|
|
|
|
// dto.setFfnlgCode(reqDTO.getFfnlgCode());
|
|
|
|
|
// dto.setProfile(ApiConstants.PROFILE);
|
|
|
|
|
//
|
|
|
|
|
// MDC.put(UNITY_SNDNG_MST_ID, dto.getUnitySndngMastrId());
|
|
|
|
|
// MDC.put("sndngMastrId", dto.getSndngMastrId());
|
|
|
|
|
// MDC.put(SNDNG_PROCESS_STTUS, "send-fail" + dto.getTrySeq());
|
|
|
|
|
//
|
|
|
|
|
// final String[] tryVal = {
|
|
|
|
|
// Checks.checkVal(dto.getTry1(), ""),
|
|
|
|
|
// Checks.checkVal(dto.getTry2(), ""),
|
|
|
|
|
// Checks.checkVal(dto.getTry3(), "")
|
|
|
|
|
// };
|
|
|
|
|
//
|
|
|
|
|
// // 마스터 상태 변경값을 파라메터에서 받은 상태값으로 set
|
|
|
|
|
// dto.setNewSndngProcessSttus(reqDTO.getSndngProcessSttus());
|
|
|
|
|
// final String seCode = tryVal[dto.getTrySeq() - 1];
|
|
|
|
|
//
|
|
|
|
|
// // 업무 문서 구분에 따른 분기
|
|
|
|
|
// switch (SndngSeCode.compare(seCode)) {
|
|
|
|
|
// /*
|
|
|
|
|
// * 카카오페이 연계 결과 반영 : tb_ens_kakao_my_doc
|
|
|
|
|
// * 모바일 페이지 생성 : tb_ens_mobile_page_manage
|
|
|
|
|
// * 연계발송결과 생성 : tb_cntc_sndng_result
|
|
|
|
|
// */
|
|
|
|
|
// case KAKAO -> sendBulkKakaoMyDocs(dto);
|
|
|
|
|
// case KT_BC -> sendBulkKtBc(dto);
|
|
|
|
|
// case PPLUS -> sendBulkPplus(dto);
|
|
|
|
|
// case E_GREEN -> extractService.sendEgreen(dto);
|
|
|
|
|
// case SMS -> extractService.sendSms(dto);
|
|
|
|
|
// default -> throw BizRuntimeException.create(String.format("정의 되지 않은 문서 중개자[%s] 입니다", seCode));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 전자고지(문서) send bulks - 문서 중개자별 send
|
|
|
|
@ -110,14 +153,14 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
|
|
|
|
public void sendBulks(final EnsDTO.BatchEnsRequest reqDTO) {
|
|
|
|
|
public void sendBulks(final SndngMssageParam dto) {
|
|
|
|
|
|
|
|
|
|
// 발송/통합발송 마스터에서 대상 조회
|
|
|
|
|
reqDTO.setBatchPeriod(batchSendPeriod);
|
|
|
|
|
final List<SndngMssageParam> tgtList = mapper.selectSendBulkTgts(reqDTO);
|
|
|
|
|
for (SndngMssageParam dto : tgtList) {
|
|
|
|
|
dto.setSignguCode(reqDTO.getSignguCode());
|
|
|
|
|
dto.setFfnlgCode(reqDTO.getFfnlgCode());
|
|
|
|
|
//reqDTO.setBatchPeriod(batchSendPeriod);
|
|
|
|
|
//final List<SndngMssageParam> tgtList = mapper.selectSendBulkTgts(reqDTO);
|
|
|
|
|
//for (SndngMssageParam dto : tgtList) {
|
|
|
|
|
// dto.setSignguCode(reqDTO.getSignguCode());
|
|
|
|
|
// dto.setFfnlgCode(reqDTO.getFfnlgCode());
|
|
|
|
|
dto.setProfile(ApiConstants.PROFILE);
|
|
|
|
|
|
|
|
|
|
MDC.put(UNITY_SNDNG_MST_ID, dto.getUnitySndngMastrId());
|
|
|
|
@ -131,7 +174,7 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 마스터 상태 변경값을 파라메터에서 받은 상태값으로 set
|
|
|
|
|
dto.setNewSndngProcessSttus(reqDTO.getSndngProcessSttus());
|
|
|
|
|
dto.setNewSndngProcessSttus(dto.getSndngProcessSttus());
|
|
|
|
|
final String seCode = tryVal[dto.getTrySeq() - 1];
|
|
|
|
|
|
|
|
|
|
// 업무 문서 구분에 따른 분기
|
|
|
|
@ -148,7 +191,7 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
case SMS -> extractService.sendSms(dto);
|
|
|
|
|
default -> throw BizRuntimeException.create(String.format("정의 되지 않은 문서 중개자[%s] 입니다", seCode));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
@ -186,6 +229,7 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
|
|
|
|
|
// validation check
|
|
|
|
|
try {
|
|
|
|
|
if(true)throw BizRuntimeException.create("$$$$$$$$$$$#########");
|
|
|
|
|
validatedKkoMyDocSendBulks(bulkList);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
extractService.updateSndngMstFailStatus(mstId, SndngSeCode.KAKAO, "", e.getMessage(), "[send]카카오 문서 발송(bulks)요청 실패(파라메터 오류)");
|
|
|
|
@ -193,6 +237,7 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
final List<List<BulkSendReq>> partitions = ListUtils.partition(bulkList, bulkKkoMaxCnt);
|
|
|
|
|
//noinspection rawtypes
|
|
|
|
|
final List<ApiResponseDTO> apiResults = partitions.stream()
|
|
|
|
|
.map(bulkSendList -> apiWebClient.exchange(
|
|
|
|
|
url,
|
|
|
|
@ -210,6 +255,7 @@ public class EnsBatchSendService extends EgovAbstractServiceImpl implements IEns
|
|
|
|
|
final List<BulkSendResponses> resList = new ArrayList<>();
|
|
|
|
|
boolean isSuccess = false;
|
|
|
|
|
String errMsg = null;
|
|
|
|
|
//noinspection rawtypes
|
|
|
|
|
for(ApiResponseDTO apiResult : apiResults) {
|
|
|
|
|
if(apiResult.getData() != null) {
|
|
|
|
|
resList.add(toObjByObj(apiResult.getData(), BulkSendResponses.class));
|
|
|
|
|