86 lines
2.9 KiB
Java
86 lines
2.9 KiB
Java
package com.tenwa.cgbbank.service;
|
|
|
|
import com.amarsoft.are.jbo.BizObject;
|
|
import com.amarsoft.are.jbo.BizObjectManager;
|
|
import com.amarsoft.are.jbo.JBOException;
|
|
import com.amarsoft.are.jbo.JBOFactory;
|
|
import com.tenwa.cgbbank.dto.*;
|
|
import com.tenwa.cgbbank.helper.CGBBankInterfaceHelper;
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @program: apzl_leasing
|
|
* @description:
|
|
* @author: 李超杰
|
|
* @create: 2023-06-14 09:30
|
|
*/
|
|
public class CGBBankService {
|
|
|
|
private static Log log = LogFactory.getLog(CGBBankService.class);
|
|
|
|
private static CGBBankService instance = new CGBBankService();
|
|
|
|
private CGBBankService() {
|
|
}
|
|
|
|
public static CGBBankService getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
private static CGBBankInterfaceHelper cgbBankInterfaceHelper = CGBBankInterfaceHelper.getInstance();
|
|
|
|
// 默认操作人ID
|
|
private String defOperUserId = "admin";
|
|
// 默认操作人部门ID
|
|
private String defOperOrgId = "8009001";
|
|
|
|
private static final Integer QUERY_PAGE_SIZE = 20;
|
|
|
|
public void queryAndSaveTransactionDetailsToEbank(String account, String queryDate) throws JBOException {
|
|
|
|
CGB0032ReqBody reqBody = new CGB0032ReqBody();
|
|
reqBody.setAccount(account);
|
|
reqBody.setBeginDate(queryDate);
|
|
reqBody.setEndDate(queryDate);
|
|
reqBody.setQueryType(0);
|
|
reqBody.setQueryNumber(QUERY_PAGE_SIZE);
|
|
|
|
boolean queryFlag = true;
|
|
// List<BizObject> ebankObjList = new ArrayList<>();
|
|
BizObjectManager bizObjectManager = JBOFactory.getBizObjectManager("jbo.app.tenwa.calc.LC_EBANK");
|
|
while (queryFlag) {
|
|
CGBBEDC<CGB0032ResBody> cgb0032ResBodyCGBBEDC = null;
|
|
try {
|
|
cgb0032ResBodyCGBBEDC = cgbBankInterfaceHelper.queryTransactionDetails(reqBody);
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
CGBMessage<CGB0032ResBody> message = cgb0032ResBodyCGBBEDC.getMessage();
|
|
CGB0032ResBody resBody = message.getBody();
|
|
|
|
List<CGB0032ResBodyRecord> records = resBody.getRecords();
|
|
// 转换成网银流水
|
|
// ebankObjList.clear();
|
|
for (CGB0032ResBodyRecord record : records) {
|
|
if (record.getFinancingSymbol().equals("+")) {
|
|
// ebankObjList.add();
|
|
BizObject bizObject = record.convertToEbank(bizObjectManager, defOperUserId, defOperOrgId);
|
|
bizObjectManager.saveObject(bizObject);
|
|
}
|
|
}
|
|
|
|
if (resBody.getPageFlag() != 1) {
|
|
queryFlag = false;
|
|
} else {
|
|
reqBody.setBeginRecTranDate(resBody.getNextRecTranDate());
|
|
reqBody.setBeginRecTranSeq(resBody.getNextRecTranSeq());
|
|
reqBody.setBeginRecTranCode(resBody.getNextRecTranCode());
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|