提交 3ae43528 authored 作者: aiqingguo's avatar aiqingguo

承运借款流程-宁波银行

上级 9808f5bb
...@@ -19,14 +19,16 @@ import lombok.ToString; ...@@ -19,14 +19,16 @@ import lombok.ToString;
@NoArgsConstructor @NoArgsConstructor
public class NbBankOrderPayResultVO { public class NbBankOrderPayResultVO {
@ApiModelProperty(value = "金额(分)", example = "") @ApiModelProperty(value = "金额(分)", example = "1")
private Integer amount; private Integer amount;
@ApiModelProperty(value = "流水号", example = "20231129145541") @ApiModelProperty(value = "商户时间", example = "")
private String merDtTm;
@ApiModelProperty(value = "商户流水号", example = "20231129145541")
private String merSeqNo; private String merSeqNo;
@ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy") @ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy")
private String transSeqNo; private String transSeqNo;
@ApiModelProperty(value = "转账编号", example = "") @ApiModelProperty(value = "转账编号 (转账专用)", example = "123456")
private String signNo; private String signNo;
} }
\ No newline at end of file
...@@ -17,18 +17,20 @@ import lombok.ToString; ...@@ -17,18 +17,20 @@ import lombok.ToString;
@Setter @Setter
@ToString @ToString
@NoArgsConstructor @NoArgsConstructor
public class NbBankOrderPayStatusResultVO { public class NbBankOrderResultVO {
@ApiModelProperty(value = "金额(分)", example = "") @ApiModelProperty(value = "金额(分)", example = "")
private Integer amount; private Integer amount;
@ApiModelProperty(value = "实收金额(分)", example = "") @ApiModelProperty(value = "实收金额(分)", example = "")
private Integer realAmount; private Integer realAmount;
@ApiModelProperty(value = "流水号", example = "20231129145541") @ApiModelProperty(value = "商户时间")
private String merDtTm;
@ApiModelProperty(value = "商户流水号", example = "20231129145541")
private String merSeqNo; private String merSeqNo;
@ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy") @ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy")
private String transSeqNo; private String transSeqNo;
@ApiModelProperty(value = "转账编号", example = "") @ApiModelProperty(value = "转账编号(转账专用)", example = "1234567")
private String signNo; private String signNo;
@ApiModelProperty(value = "交易状态", example = "") @ApiModelProperty(value = "交易状态", example = "")
......
...@@ -12,5 +12,6 @@ import org.springframework.context.annotation.Configuration; ...@@ -12,5 +12,6 @@ import org.springframework.context.annotation.Configuration;
public class NbBankConfig { public class NbBankConfig {
private String appKey = "77667c76_3503_4c04_95f7_fc10938c7942"; private String appKey = "77667c76_3503_4c04_95f7_fc10938c7942";
private String merId = "EFT33021200556315";
} }
...@@ -2,7 +2,7 @@ package com.clx.performance.controller.temp; ...@@ -2,7 +2,7 @@ package com.clx.performance.controller.temp;
import com.clx.performance.service.thirdparty.nbbank.NbBankService; import com.clx.performance.service.thirdparty.nbbank.NbBankService;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayStatusResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderResultVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -26,39 +26,39 @@ public class TempBankController { ...@@ -26,39 +26,39 @@ public class TempBankController {
@Autowired @Autowired
private NbBankService bankService; private NbBankService bankService;
@ApiOperation(value = "转账", notes = "<br>By:艾庆国") @ApiOperation(value = "转账支付", notes = "<br>By:艾庆国")
@RequestMapping(value = "/directBankTransferOrder", method = RequestMethod.POST) @RequestMapping(value = "/orderTransferPay", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> directBankTransferOrder() throws Exception { public Result<NbBankOrderPayResultVO> directBankTransferOrder() {
return Result.ok(bankService.orderPay(1)); return Result.ok(bankService.orderTransferPay(1));
} }
@ApiOperation(value = "订单支付", notes = "<br>By:艾庆国") @ApiOperation(value = "订单支付", notes = "<br>By:艾庆国")
@RequestMapping(value = "/unionPayDirectOrder", method = RequestMethod.POST) @RequestMapping(value = "/orderDirectPay", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> unionPayDirectOrder() throws Exception { public Result<NbBankOrderPayResultVO> orderDirectPay() {
return Result.ok(bankService.orderPay(2)); return Result.ok(bankService.orderDirectPay(2,"313332082914","86041110000076809", "黑玫瑰"));
} }
@ApiOperation(value = "查询", notes = "<br>By:艾庆国") @ApiOperation(value = "查询", notes = "<br>By:艾庆国")
@RequestMapping(value = "/queryOrder", method = RequestMethod.POST) @RequestMapping(value = "/getResult", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> queryOrder(String merSeqNo) throws Exception { public Result<NbBankOrderResultVO> getResult(String merSeqNo) {
return Result.ok(bankService.getOrderStatus(merSeqNo)); return Result.ok(bankService.getResult(merSeqNo));
} }
@ApiOperation(value = "调账", notes = "<br>By:艾庆国") @ApiOperation(value = "调账", notes = "<br>By:艾庆国")
@RequestMapping(value = "/transferOrder", method = RequestMethod.POST) @RequestMapping(value = "/adjust", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> transferOrder(String merSeqNo) throws Exception { public Result<NbBankOrderResultVO> adjust(String merSeqNo, Integer amount) {
return Result.ok(bankService.transferOrder(merSeqNo)); return Result.ok(bankService.adjust(merSeqNo, amount));
} }
@ApiOperation(value = "退款", notes = "<br>By:艾庆国") @ApiOperation(value = "退款", notes = "<br>By:艾庆国")
@RequestMapping(value = "/refund", method = RequestMethod.POST) @RequestMapping(value = "/refund", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> refund(String merSeqNo) throws Exception { public Result<NbBankOrderResultVO> refund(String orgMerSeqNo, Integer amount, String orgTransSeqNo) {
return Result.ok(bankService.refund(merSeqNo)); return Result.ok(bankService.refund(orgMerSeqNo,amount,orgTransSeqNo));
} }
} }
...@@ -96,8 +96,8 @@ public class NbBankNotifyServiceImpl implements NbBankNotifyService { ...@@ -96,8 +96,8 @@ public class NbBankNotifyServiceImpl implements NbBankNotifyService {
String merSeqNo = data.getString("merSeqNo"); String merSeqNo = data.getString("merSeqNo");
String transSeqNo = data.getString("transSeqNo"); String transSeqNo = data.getString("transSeqNo");
BigDecimal trxAmt = data.getBigDecimal("trxAmt"); Integer trxAmt = data.getBigDecimal("trxAmt").movePointRight(2).intValue();
BigDecimal realTrxAmt = data.getBigDecimal("realTrxAmt"); Integer realTrxAmt = data.getBigDecimal("realTrxAmt").movePointRight(2).intValue();
String transStatus = data.getString("transStatus"); String transStatus = data.getString("transStatus");
String signNo = data.getString("signNo"); String signNo = data.getString("signNo");
......
...@@ -88,17 +88,17 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -88,17 +88,17 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
* amount: 订单金额(分) * amount: 订单金额(分)
*/ */
@Override @Override
public JSONObject directBankTransferOrder(String merSeqNo, String merId, Integer amount) { public JSONObject directBankTransferOrder(String merSeqNo, String merDtTm, Integer amount) {
try { try {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填 jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填 jsonObject.put("merId", nbBankConfig.getMerId()); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填 jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填
jsonObject.put("merDtTm", LocalDateTimeUtils.formatTime()); //商户时间 必填 jsonObject.put("merDtTm", merDtTm); //商户时间 必填
jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填 jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填
jsonObject.put("orderDesc", "散煤运输"); //订单详情 必填 jsonObject.put("orderDesc", "散煤运输"); //订单详情 必填
jsonObject.put("productName", "运费"); //商品名称 必填 jsonObject.put("productName", "运费"); //商品名称 必填
jsonObject.put("productId", "001"); //商品编号 必填 jsonObject.put("productId", "001"); //商品编号 必填
jsonObject.put("productNum", "1"); //商品数量 必填 jsonObject.put("productNum", "1"); //商品数量 必填
...@@ -183,18 +183,18 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -183,18 +183,18 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
* payAcctNm: 付款户名 * payAcctNm: 付款户名
*/ */
@Override @Override
public JSONObject unionPayDirectOrder(String merSeqNo, String merId, Integer amount, public JSONObject unionPayDirectOrder(String merSeqNo, String merDtTm, Integer amount,
String payAcctOpenBankId, String payAcctNo, String payAcctNm) { String payAcctOpenBankId, String payAcctNo, String payAcctNm) {
try { try {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填 jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填 jsonObject.put("merId", nbBankConfig.getMerId()); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填 jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填
jsonObject.put("merDtTm", LocalDateTimeUtils.formatTime()); //商户时间 必填 jsonObject.put("merDtTm", merDtTm); //商户时间 必填
jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填 jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填
jsonObject.put("orderDesc", "散煤运输"); //订单详情 必填 jsonObject.put("orderDesc", "散煤运输"); //订单详情 必填
jsonObject.put("productName", "运费"); //商品名称 必填 jsonObject.put("productName", "运费"); //商品名称 必填
jsonObject.put("productId", "001"); //商品编号 必填 jsonObject.put("productId", "001"); //商品编号 必填
jsonObject.put("productNum", "1"); //商品数量 必填 jsonObject.put("productNum", "1"); //商品数量 必填
...@@ -337,13 +337,13 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -337,13 +337,13 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
* 99:交易超时,须发起交易结果查询 * 99:交易超时,须发起交易结果查询
*/ */
@Override @Override
public JSONObject queryOrder(String merSeqNo, String merId) { public JSONObject queryOrder(String orgMerSeqNo) {
try { try {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填 jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填 jsonObject.put("merId", nbBankConfig.getMerId()); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填 jsonObject.put("merSeqNo", orgMerSeqNo); //商户流水 必填
HashMap<String,String> httpHeader = new HashMap<>(); HashMap<String,String> httpHeader = new HashMap<>();
...@@ -386,23 +386,24 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -386,23 +386,24 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
/** /**
* 调账 * 调账
* 5.10云账簿资金划转 * 5.10云账簿资金划转
* @param merSeqNo
* @return
*/ */
@Override @Override
public JSONObject fundTransferOrder(String merSeqNo, String merId, String merDtTm, public JSONObject fundTransferOrder(String orgMerSeqNo, String merDtTm, Integer trxAmt,
Integer trxAmt,
String customerId, String payCustomerId) { String customerId, String payCustomerId) {
try { try {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填 jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填 jsonObject.put("merId", nbBankConfig.getMerId()); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填 jsonObject.put("merSeqNo", orgMerSeqNo); //商户流水 必填
jsonObject.put("merDtTm", merDtTm); //商户交易时间 必填 jsonObject.put("merDtTm", merDtTm); //商户交易时间 必填
jsonObject.put("trxAmt", new BigDecimal(trxAmt).movePointLeft(2)); //交易金额 jsonObject.put("trxAmt", new BigDecimal(trxAmt).movePointLeft(2)); //交易金额
jsonObject.put("customerId", customerId); //云账簿标识_收款方 if (StringUtils.isNotBlank(customerId)) {
jsonObject.put("payCustomerId", payCustomerId); //云账簿标识_付款方 jsonObject.put("customerId", customerId); //云账簿标识_收款方
}
if (StringUtils.isNotBlank(payCustomerId)) {
jsonObject.put("payCustomerId", payCustomerId); //云账簿标识_付款方
}
// jsonObject.put("notifyAction", 0); //是否通知 // jsonObject.put("notifyAction", 0); //是否通知
HashMap<String,String> httpHeader = new HashMap<>(); HashMap<String,String> httpHeader = new HashMap<>();
...@@ -449,20 +450,22 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -449,20 +450,22 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
* @return * @return
*/ */
@Override @Override
public JSONObject refund(String merSeqNo, String merId, String merDtTm, public JSONObject refund(String merSeqNo, String merDtTm,
Integer amount, Integer amount,
String orgMerSeqNo, String coreSeqNo) { String orgMerSeqNo, String coreSeqNo) {
try { try {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填 jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填 jsonObject.put("merId", nbBankConfig.getMerId()); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填 jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填
jsonObject.put("merDtTm", LocalDateTimeUtils.formatTime()); //商户时间 必填 jsonObject.put("merDtTm", LocalDateTimeUtils.formatTime()); //商户时间 必填
jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填 jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填
jsonObject.put("orgMerSeqNo", orgMerSeqNo); //原订单流水号 必填 jsonObject.put("orgMerSeqNo", orgMerSeqNo); //原订单流水号 必填
jsonObject.put("coreSeqNo", coreSeqNo); //核心流水号 必填 if (StringUtils.isNotBlank(coreSeqNo)) {
jsonObject.put("coreSeqNo", coreSeqNo); //核心流水号 必填
}
HashMap<String,String> httpHeader = new HashMap<>(); HashMap<String,String> httpHeader = new HashMap<>();
......
package com.clx.performance.service.thirdparty.nbbank; package com.clx.performance.service.thirdparty.nbbank;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayStatusResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderResultVO;
import java.math.BigDecimal;
public interface NbBankService { public interface NbBankService {
NbBankOrderPayResultVO orderPay(Integer payType); NbBankOrderPayResultVO orderTransferPay(Integer amount);
NbBankOrderPayResultVO orderDirectPay(Integer amount,
String payAcctOpenBankId, String payAcctNo, String payAcctNm);
NbBankOrderResultVO getResult(String merSeqNo);
NbBankOrderPayStatusResultVO getOrderStatus(String merSeqNo); NbBankOrderResultVO adjust(String orgMerSeqNo, Integer amount);
NbBankOrderResultVO refund(String orgMerSeqNo, Integer amount, String orgTransSeqNo);
void orderPayCallback(String merSeqNo, String transSeqNo, void orderPayCallback(String merSeqNo, String transSeqNo,
BigDecimal trxAmt, BigDecimal realTrxAmt, Integer trxAmt, Integer realTrxAmt,
String transStatus, String transStatus,
String signNo String signNo
); );
NbBankOrderPayStatusResultVO transferOrder(String merSeqNo);
NbBankOrderPayStatusResultVO refund(String merSeqNo);
} }
...@@ -6,19 +6,18 @@ import com.nbopen.api.SDKResponse; ...@@ -6,19 +6,18 @@ import com.nbopen.api.SDKResponse;
public interface NbBankThirdpartyService { public interface NbBankThirdpartyService {
JSONObject directBankTransferOrder(String merSeqNo, String merId, Integer amount); JSONObject directBankTransferOrder(String merSeqNo, String merDtTm, Integer amount);
JSONObject unionPayDirectOrder(String merSeqNo, String merId, Integer amount, JSONObject unionPayDirectOrder(String merSeqNo, String merDtTm, Integer amount,
String payAcctOpenBankId, String payAcctNo, String payAcctNm); String payAcctOpenBankId, String payAcctNo, String payAcctNm);
JSONObject queryOrder(String merSeqNo, String merId); JSONObject queryOrder(String orgMerSeqNo);
JSONObject fundTransferOrder(String merSeqNo, String merId, String merDtTm, JSONObject fundTransferOrder(String orgMerSeqNo, String merDtTm,
Integer trxAmt, Integer trxAmt,
String customerId, String payCustomerId); String customerId, String payCustomerId);
JSONObject refund(String merSeqNo, String merId, String merDtTm, JSONObject refund(String merSeqNo, String merDtTm, Integer amount,
Integer amount,
String orgMerSeqNo, String coreSeqNo); String orgMerSeqNo, String coreSeqNo);
void recordSave(Integer type, SDKRequest request, SDKResponse response); void recordSave(Integer type, SDKRequest request, SDKResponse response);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论