Java
公共API调用
SDK准备(使用MAVEN管理依赖)
mvn install:install-file -DgroupId=com.yocyl -DartifactId=hci-bis-sdk -Dversion=2.0.0 -Dpackaging=jar -Dfile= SDK当前存放文件系统路径
SDK引用(使用MAVEN管理依赖)
<dependency>
<groupId>com.yocyl</groupId>
<artifactId>hci-bis-sdk</artifactId>
<version>2.0.0</version>
</dependency>
不使用MAVEN管理依赖
点击下载SDK依赖
通过以上链接下载SDK依赖的第三方JAR包后,根据自身项目的依赖管理方式,手动管理SDK的依赖JAR包。
使用SDK
import com.yocyl.cfs.sdk.DefaultApiClientV1;
import com.yocyl.cfs.sdk.domain.PayPayableCreateDetail;
import com.yocyl.cfs.sdk.exception.ApiException;
import com.yocyl.cfs.sdk.model.YocylPayPayableCreateModel;
import com.yocyl.cfs.sdk.request.YocylPayPayableCreateRequest;
import com.yocyl.cfs.sdk.response.YocylPayPayableCreateResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* 调用DEMO
*
* 注: 配置信息都在我们提供的配置文档里
*
* @author Stewart
* @version TestClass v1.0 2023/5/18
*/
public class TestClass {
/**
* 财资云openapi网关
*/
private static final String serverUrl="财资云网关地址";
/**
* 财资云系统分配的AppId
*/
private static final String appId="appId";
/**
* 应用私钥
*/
private static final String privateKey="应用私钥";
/**
* 数据格式
*/
private static final String format="json";
/**
* 字符集
*/
private static final String charset="UTF-8";
/**
* 平台公钥
*/
public static final String platformPublicKey="平台公钥";
/**
* 加签方式
*/
private static final String signType="RSA2";
/**
* 获取客户端
*
* @return 根据上面的配置生成一个Client返回
*/
public static DefaultApiClientV1 getDefault() {
DefaultApiClientV1 client = new DefaultApiClientV1(serverUrl, appId, privateKey, format, charset, platformPublicKey, signType);
client.setReadTimeout(30000);
return client;
}
/**
* 财资云 创建应付单的demo
* 客户端调用需要使用一个request对象, request对象里面包含了业务模型, 业务模型里又包含真正的业务员数据 一层套一层
*
* @param args main方法的默认参数不用管
*/
public static void main(String[] args) {
//new 一个“创建应付信息”的请求对象 参考文档中的接口编码 驼峰转换一下就是类名 比如这个pay.payable.create -> PayPayableCreate
YocylPayPayableCreateRequest request = new YocylPayPayableCreateRequest();
//NEW 一个“创建应付信息”的业务模型,其他接口应使用其他的模型 参考文档中的接口编码 驼峰转换一下再加上前后缀 就是类名 比如这个pay.payable.create -> PayPayableCreate
YocylPayPayableCreateModel model = new YocylPayPayableCreateModel();
//模型里填充基本信息 参考接口文档
//来源系统批次号
model.setSourceBatchNumber("来源系统批次号");
//总笔数
model.setTotalNum(1);
//付方组织名称
model.setPayOrgName("付方组织名称");
//总金额
model.setTotalAmount(new BigDecimal(100));
//根据接口文档来看 创建应付信息 的业务模型里有这种批量的业务信息集合, 这种时候就要分别创建业务信息并把他们包在一个List里
List<PayPayableCreateDetail> list = new ArrayList<>();
//创建一个业务信息对象
PayPayableCreateDetail detail = new PayPayableCreateDetail();
//根据接口文档提供的参数往里塞值
detail.setSourceNoteCode("来源单据号");
detail.setSourceFlowNumber("来源系统流水号");
// .... 就是 detail.setXxx()这种, 往里填业务数据
detail.setRecBankLocationAddress("收方开户行地址");
//业务数据填充好以后把业务信息对象放到集合里
list.add(detail);
//再把这个集合塞到业务模型的批量信息里
model.setBatchInfo(list);
// 把模型扔到请求里
request.setBizModel(model);
//获取客户端
DefaultApiClientV1 aDefault = getDefault();
try {
// 调就完了,回来的response就是接口调用结果
YocylPayPayableCreateResponse response = aDefault.execute(request);
} catch (ApiException e) {
System.out.println(e);
throw new RuntimeException(e);
}
}
}
修改于 2023-09-20 06:36:38