diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java index 21bda32..d9ba04d 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java @@ -37,13 +37,15 @@ public class AccountService { /** * 电子登记簿账户开户-个人 * - * @param - * @return + * @param createAccountRequest CreateAccountRequest + * @return CreateAccountResponse */ - public void createAccount() { - - - + public CreateAccountResponse createAccount(CreateAccountRequest createAccountRequest) { + String url = "/accInfo/v2/createAccount"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, createAccountRequest.toJsonRequest(), CreateAccountResponse.class); + return httpResponse.getServiceResponse(); } /** diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountRequest.java new file mode 100644 index 0000000..be7a020 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountRequest.java @@ -0,0 +1,179 @@ +package com.czcb.scfs.api.service.v1.account.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.service.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * @author wangwei + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("100034") +public class CreateAccountRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 户名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 证件类型 + */ + @SerializedName("id_type") + private String idType; + + /** + * 证件号码 + */ + @SerializedName("id_no") + private String idNo; + + /** + * 证件有效起始日期 + */ + @SerializedName("id_startdate") + private String idStartDate; + + /** + * 证件有效结束日期 + */ + @SerializedName("id_enddate") + private String idEndDate; + + /** + * 签发机关编号(行政区划编号) + */ + @SerializedName("sign_no") + private String signNo; + + /** + * 签发机关 + */ + @SerializedName("sign_name") + private String signName; + + /** + * 证件地址 + */ + @SerializedName("id_address") + private String idAddress; + + /** + * 性别,0:男 1:女 + */ + @SerializedName("sex") + private String sex; + + /** + * 民族,身份证上有。默认“汉” + */ + @SerializedName("ethnic") + private String ethnic; + + /** + * 职业 + */ + @SerializedName("job") + private String job; + + /** + * 职业备注,职业为其他时必填。 + */ + @SerializedName("job_note") + private String jobNote; + + /** + * 手机号 + */ + @SerializedName("mobile") + private String mobile; + + /** + * 验证码,短信验证码,个人必输 + */ + @SerializedName("verify_code") + private String verifyCode; + + /** + * 开户资料信息 + */ + @SerializedName("file_list") + private List fileList; + + /** + * 开户经度 + */ + @SerializedName("open_longitude") + private String openLongitude; + + /** + * 开户纬度 + */ + @SerializedName("open_dimensions") + private String openDimensions; + + /** + * 开户IP + */ + @SerializedName("open_ip") + private String openIp; + + /** + * 开户日期 + */ + @SerializedName("open_date") + private String openDate; + + /** + * 开户时间 + */ + @SerializedName("open_tradetime") + private String openTradeTime; + + @Data + public static class FileList implements Serializable { + + /** + * 文件编号 + */ + @SerializedName("file_no") + private String fileNo; + + /** + * 文件类型 01 02 04 13 + */ + @SerializedName("file_type") + private String fileType; + + /** + * 文件页码 + */ + @SerializedName("file_page") + private int filePage; + } +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountResponse.java new file mode 100644 index 0000000..857c740 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/CreateAccountResponse.java @@ -0,0 +1,56 @@ +package com.czcb.scfs.api.service.v1.account.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +public class CreateAccountResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + /** + * 原交易流水号 + */ + @SerializedName("original_serialno") + private String originalSerialNo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 客户号 + */ + @SerializedName("customer_no") + private String customerNo; + + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java index 3f76fb9..c9b208b 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java @@ -3,12 +3,14 @@ package com.czcb.scfs.api.service.v1.account.model; import com.czcb.scfs.api.core.ApiResponse; import com.google.gson.annotations.SerializedName; import lombok.Data; +import lombok.experimental.Accessors; /** * @author H.T * @since 2.0.0 */ @Data +@Accessors(chain = true) public class OpenAccSubResponse implements ApiResponse { /** * 000000:表示成功 diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java index 72ce2f6..e815be3 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java @@ -3,10 +3,7 @@ package com.czcb.scfs.api.service.v1.file; import com.czcb.scfs.api.core.ApiClient; import com.czcb.scfs.api.core.http.HttpHeaders; import com.czcb.scfs.api.core.http.HttpResponse; -import com.czcb.scfs.api.service.v1.file.model.DownloadFileRequest; -import com.czcb.scfs.api.service.v1.file.model.DownloadFileResponse; -import com.czcb.scfs.api.service.v1.file.model.UploadFileRequest; -import com.czcb.scfs.api.service.v1.file.model.UploadFileResponse; +import com.czcb.scfs.api.service.v1.file.model.*; import static com.czcb.scfs.api.core.Constants.API_VERSION; import static com.czcb.scfs.api.core.Constants.V_1; @@ -54,11 +51,14 @@ public class FileService { /** * 余额回单下载 * - * @param - * @return + * @param balanceBillRequest BalanceBillRequest + * @return BalanceBillResponse */ - public void balanceBill() { - - + public BalanceBillResponse balanceBill(BalanceBillRequest balanceBillRequest) { + String url = "/download/balanceBill"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, balanceBillRequest.toJsonRequest(), BalanceBillResponse.class); + return httpResponse.getServiceResponse(); } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillRequest.java new file mode 100644 index 0000000..c7f6e88 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillRequest.java @@ -0,0 +1,58 @@ +package com.czcb.scfs.api.service.v1.file.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.service.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("100037") +public class BalanceBillRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 日终余额日期 + */ + @SerializedName("everyday") + private String everyday; + + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillResponse.java new file mode 100644 index 0000000..17b46ee --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/model/BalanceBillResponse.java @@ -0,0 +1,101 @@ +package com.czcb.scfs.api.service.v1.file.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +public class BalanceBillResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + + /** + * base64编码的pdf文件,成功必填 + */ + @SerializedName("file_data") + private String fileData; + + /** + * 日终余额日期 + */ + @SerializedName("everyday") + private String everyday; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 姓名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 账户类型 + */ + @SerializedName("account_class") + private String accountClass; + + /** + * 原交易码 + */ + @SerializedName("original_tradeno") + private String originalTradeNo; + + /** + * 原交易流水号 + */ + @SerializedName("original_serialno") + private String originalSerialNo; + + /** + * 现交易流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 日终余额 + */ + @SerializedName("balance_day") + private BigDecimal balanceDay; + + /** + * 余额积数 + */ + @SerializedName("balance_accum") + private BigDecimal balanceAccum; + + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java index 1b1731c..980d7e8 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java @@ -36,11 +36,15 @@ public class PayService { /** * 提现 * - * @param - * @return + * @param merWithdrawV2Request MerWithdrawV2Request + * @return MerWithdrawV2Response */ - public void merWithdrawV2() { - + public MerWithdrawV2Response merWithdrawV2(MerWithdrawV2Request merWithdrawV2Request) { + String url = "/merTrade/mer_withdraw_v2"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, merWithdrawV2Request.toJsonRequest(), MerWithdrawV2Response.class); + return httpResponse.getServiceResponse(); } /** diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Request.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Request.java new file mode 100644 index 0000000..c2e26d0 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Request.java @@ -0,0 +1,102 @@ +package com.czcb.scfs.api.service.v1.pay.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.service.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("100035") +public class MerWithdrawV2Request implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 户名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 个人为银行卡号/企业为银行账号 + */ + @SerializedName("primary_account") + private String primaryAccount; + + /** + * 取现金额 + */ + @SerializedName("amount") + private BigDecimal amount; + + /** + * 摘要 + */ + @SerializedName("trans_summary") + private String transSummary; + + /** + * 回调地址 + */ + @SerializedName("receive_url") + private String receiveUrl; + + /** + * 提现手续费,平台向客户另外单独收取 + */ + @SerializedName("trans_fee") + private BigDecimal transFee; + + /** + * 提现手续费收入账户账号 + */ + @SerializedName("fee_account_no") + private String feeAccountNo; + + /** + * 提现手续费收入账户户名 + */ + @SerializedName("fee_account_name") + private String feeAccountName; + + /** + * 操作日期 + */ + @SerializedName("original_serialno") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Response.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Response.java new file mode 100644 index 0000000..1128c92 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/model/MerWithdrawV2Response.java @@ -0,0 +1,76 @@ +package com.czcb.scfs.api.service.v1.pay.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +public class MerWithdrawV2Response implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 姓名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 原交易码 + */ + @SerializedName("original_tradeno") + private String originalTradeNo; + + /** + * 原交易流水号 + */ + @SerializedName("original_serialno") + private String originalSerialNo; + + /** + * 现交易流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 交易金额 + */ + @SerializedName("trans_amount") + private BigDecimal transAmount; + + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java index 2082ab9..f93dbde 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java @@ -3,6 +3,7 @@ package com.czcb.scfs.api.service.v1.trans.model; import com.czcb.scfs.api.core.ApiResponse; import com.google.gson.annotations.SerializedName; import lombok.Data; +import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; @@ -13,6 +14,7 @@ import java.util.List; * @since 2.0.0 */ @Data +@Accessors(chain = true) public class QueryTradeListNewResponse implements ApiResponse { /** * 000000:表示成功 @@ -99,27 +101,106 @@ public class QueryTradeListNewResponse implements ApiResponse { private String sysTime; @Data + @Accessors(chain = true) public static class DetailList implements Serializable { -// .id Int Y 内码ID,可用来排序 -//.account_date C10 Y 记账日期 -//.trade_time C19 Y 交易时间 -//.detail_type C1 Y 明细类型 0:交易 1:结转 -//.trans_type C1 Y 交易类型 0:其他 1:开户 2:修改 3:销户 4:存款 5:取款 6:转入 7:转出 8:撤销 -//.trade_no C32 N 交易码=功能号(trans_type) -// .original_serialno C32 Y 原交易流水号 -//.serial_no C32 Y 系统交易流水号 -//.trans_amount N16,2 Y 交易金额 -//.total_amount N16,2 Y 交易总额 -//.trans_fee N16,2 Y 手续费 -//.balance N16,2 Y 余额 -//.channel_no C32 Y 渠道编号 -//.opp_account_no C32 N 对方账号 -//.opp_account_name C60 N 对方户名 -//.remark C200 N 摘要 - } + /** + * 内码ID,可用来排序 + */ + @SerializedName("id") + private String id; + /** + * 记账日期 + */ + @SerializedName("account_date") + private String accountDate; + + /** + * 交易时间 + */ + @SerializedName("trade_time") + private String tradeTime; + + /** + * 明细类型 0:交易 1:结转 + */ + @SerializedName("detail_type") + private String detailType; + + /** + * 交易类型 0:其他 1:开户 2:修改 3:销户 4:存款 5:取款 6:转入 7:转出 8:撤销 + */ + @SerializedName("trans_type") + private String transType; + + /** + * 交易码=功能号(trans_type) + */ + @SerializedName("trade_no") + private String tradeNo; + + /** + * 原交易流水号 + */ + @SerializedName("original_serialno") + private String originalSerialNo; + + /** + * 系统交易流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 交易金额 + */ + @SerializedName("trans_amount") + private BigDecimal transAmount; + + /** + * 交易总额 + */ + @SerializedName("total_amount") + private BigDecimal totalAmount; + + /** + * 手续费 + */ + @SerializedName("trans_fee") + private BigDecimal transFee; + + /** + * 余额 + */ + @SerializedName("balance") + private BigDecimal balance; + + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 对方账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + + /** + * 对方户名 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; } +}