main
13009 2024-03-14 09:37:17 +08:00
parent 7f7c19cdbf
commit e6d122bf7b
3 changed files with 192 additions and 0 deletions

View File

@ -1,8 +1,36 @@
package com.czcb.scfs.api.service.v1.pay; package com.czcb.scfs.api.service.v1.pay;
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.pay.model.MerWithdrawRequest;
import com.czcb.scfs.api.service.v1.pay.model.MerWithdrawResponse;
import static com.czcb.scfs.api.core.Constants.API_VERSION;
import static com.czcb.scfs.api.core.Constants.V_1;
/** /**
* @author wangwei * @author wangwei
* @since 2.0.0 * @since 2.0.0
*/ */
public class PayService { public class PayService {
private final ApiClient apiClient;
public PayService(ApiClient apiClient) {
this.apiClient = apiClient;
}
/**
*
*
* @param request MerWithdrawRequest
* @return MerWithdrawResponse
*/
public MerWithdrawResponse withdraw(MerWithdrawRequest request) {
String url = "/merTrade/mer_withdraw";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_1);
HttpResponse<MerWithdrawResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), MerWithdrawResponse.class);
return httpResponse.getServiceResponse();
}
} }

View File

@ -0,0 +1,89 @@
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 wangwei
* @since 2.0.0
*/
@Data
@Accessors(chain = true)
@TransType("100018")
public class MerWithdrawRequest 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("trade_no")
private String tradeNo;
@SerializedName("verify_code")
private String verifyCode;
@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;
}

View File

@ -0,0 +1,75 @@
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 java.math.BigDecimal;
/**
*
*
* @author wangwei
* @since 2.0.0
*/
@Data
public class MerWithdrawResponse implements ApiResponse {
/**
* 000000
*/
@SerializedName("recode")
private String recode;
/**
*
*/
@SerializedName("recode_Info")
private String recodeInfo;
/**
*
*/
@SerializedName("serial_no")
private String serialNo;
/**
*
*/
@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("trans_amount")
private BigDecimal transAmount;
/**
* YYYY-MM-DD
*/
@SerializedName("sys_date")
private String sysDate;
/**
* YYYY-MM-DD hh:mm:ss
*/
@SerializedName("recode_Info")
private String sysTime;
}