2023-07-25 10:22:56 +08:00

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