package com.stylefeng.guns.modular.cloudPayment.example;
|
|
import com.stylefeng.guns.modular.account.req.UserWithdrawalReq;
|
import com.stylefeng.guns.modular.system.model.UserWithdrawal;
|
import com.stylefeng.guns.modular.system.util.UUIDUtil;
|
import com.unionpay.upyzt.Upyzt;
|
import com.unionpay.upyzt.exception.UpyztException;
|
import com.unionpay.upyzt.model.CusApplication;
|
import com.unionpay.upyzt.resp.CusApplicationResp;
|
import com.unionpay.upyzt.resp.CusApplicationSmsCodeResp;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.io.Serializable;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@Slf4j
|
public class CusApplicationExample implements Serializable {
|
|
|
/**
|
* 个人用户进件-短信验证码
|
*
|
* @return 返回
|
* @throws UpyztException 异常
|
*/
|
public static CusApplicationSmsCodeResp smsCode(String phone) throws UpyztException {
|
Map<String, Object> params = new HashMap<>();
|
params.put("mobile_number", phone);
|
return CusApplication.sendSmsCode(params);
|
}
|
|
/**
|
* 个人用户首次进件
|
*
|
* @return 返回参数
|
* @throws UpyztException 异常
|
*/
|
public static CusApplicationResp create(UserWithdrawalReq userWithdrawalReq) throws UpyztException {
|
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> idCard = new HashMap<>();
|
idCard.put("number", Upyzt.encryptField(userWithdrawalReq.getCertificateCode()));
|
idCard.put("name", Upyzt.encryptField(userWithdrawalReq.getCertificateName()));
|
idCard.put("valid_time", userWithdrawalReq.getCertificateExpireTime());
|
idCard.put("copy", userWithdrawalReq.getCopy1());
|
idCard.put("national", userWithdrawalReq.getCopy2());
|
|
Map<String, Object> settleAcct = new HashMap<>();
|
settleAcct.put("name", Upyzt.encryptField(userWithdrawalReq.getOpenAccountName()));
|
settleAcct.put("bank_acct_no", Upyzt.encryptField(userWithdrawalReq.getBankCardCode()));
|
settleAcct.put("bank_branch_code", userWithdrawalReq.getBankBranchCode());
|
settleAcct.put("bank_code", userWithdrawalReq.getBankCode());
|
|
params.put("out_request_no", userWithdrawalReq.getOutRequestNo());
|
params.put("id_card", idCard);
|
params.put("mobile_number", Upyzt.encryptField(userWithdrawalReq.getPhone()));
|
params.put("settle_acct", settleAcct);
|
params.put("sms_code", userWithdrawalReq.getCode());
|
params.put("password", Upyzt.encryptField(userWithdrawalReq.getTransactionAuthorizationCode()));
|
|
return CusApplication.create(params);
|
}
|
|
/**
|
* 个人用户进件状态查询(系统订单号)
|
*
|
* @return 返回参数
|
* @throws UpyztException 异常
|
*/
|
public static CusApplicationResp retrieveById(String cusApplicationId) throws UpyztException {
|
return CusApplication.retrieveById(cusApplicationId);
|
}
|
|
/**
|
* 修改个人用户信息
|
*
|
* @return 返回参数
|
* @throws UpyztException 异常
|
*/
|
public static CusApplicationResp renew(UserWithdrawal userWithdrawal) throws Exception {
|
|
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> idCard = new HashMap<>();
|
idCard.put("copy", userWithdrawal.getIdCardFrontPicture());
|
idCard.put("national", userWithdrawal.getIdCardReversePicture());
|
idCard.put("number", Upyzt.encryptField(userWithdrawal.getCertificateCode()));
|
idCard.put("name", Upyzt.encryptField(userWithdrawal.getCertificateName()));
|
idCard.put("valid_time", userWithdrawal.getCertificateExpireTime());
|
|
Map<String, Object> settleAcct = new HashMap<>();
|
settleAcct.put("name", Upyzt.encryptField(userWithdrawal.getOpenAccountName()));
|
settleAcct.put("bank_acct_no", Upyzt.encryptField(userWithdrawal.getBankCardCode()));
|
settleAcct.put("bank_code", userWithdrawal.getBankCode());
|
settleAcct.put("bank_branch_code", userWithdrawal.getBankBranchCode());
|
|
params.put("cus_id", userWithdrawal.getCusId());
|
params.put("out_request_no", UUIDUtil.getRandomCode(16));
|
params.put("id_card", idCard);
|
params.put("mobile_number", Upyzt.encryptField(userWithdrawal.getPhone()));
|
params.put("settle_acct", settleAcct);
|
params.put("password", Upyzt.encryptField(userWithdrawal.getTransactionAuthorizationCode()));
|
params.put("sms_code", userWithdrawal.getCode());
|
|
return CusApplication.renew(params);
|
}
|
|
/**
|
* 个人用户进件状态查询(平台订单号)
|
*
|
* @return 返回参数
|
* @throws UpyztException 异常
|
*/
|
public static CusApplicationResp retrieveByOutRequestNo(String outRequestNo) throws UpyztException {
|
return CusApplication.retrieveByOutRequestNo(outRequestNo);
|
}
|
|
}
|