提交 0a241c4a authored 作者: aiqingguo's avatar aiqingguo

承运借款流程-宁波银行

上级 7883ba26
package com.clx.performance.enums.nbbank;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum NbBankStatusEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
TEMP(0, "中间态"),
SUCCESS(1, "交易成功"),
FAIL(2, "交易失败"),
ACCEPT(3, "交易已受理"),
INIT(4, "订单初始状态"),
NOT_FOUND(5, "交易不存在"),
TIMEOUT(6, "交易超时,须发起交易结果查询"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
}
......@@ -34,6 +34,6 @@ public class NbBankOrderResultVO {
private String signNo;
@ApiModelProperty(value = "交易状态:1交易成功 2交易失败 3交易已受理 4订单初始状态 5交易不存在 6交易超时", example = "1")
private Integer transStatus;
private Integer status;
}
\ No newline at end of file
......@@ -76,7 +76,7 @@ public class TempBankController {
@RequestMapping(value = "/notify", method = RequestMethod.POST)
public Result notify(NbBankOrderResultVO param) {
bankService.orderPayCallback(param.getMerSeqNo(), param.getTransSeqNo(),
param.getAmount(), param.getAmount(), param.getTransStatus(), param.getSignNo());
param.getAmount(), param.getAmount(), param.getStatus(), param.getSignNo());
return Result.ok();
}
......
......@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.thirdparty.nbbank;
import com.alibaba.fastjson.JSONObject;
import com.clx.performance.component.IdGenerateSnowFlake;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.nbbank.NbBankStatusEnum;
import com.clx.performance.service.thirdparty.nbbank.NbBankService;
import com.clx.performance.service.thirdparty.nbbank.NbBankThirdpartyService;
import com.clx.performance.utils.LocalDateTimeUtils;
......@@ -15,8 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* 易付通
......@@ -103,18 +102,12 @@ public class NbBankServiceImpl implements NbBankService {
NbBankOrderResultVO result = new NbBankOrderResultVO();
String transStatus = data.getString("transStatus");
if (StringUtils.equals(transStatus, "00")){result.setTransStatus(1);} //交易成功
else if (StringUtils.equals(transStatus, "01")){result.setTransStatus(2);} //交易失败
else if (StringUtils.equals(transStatus, "02")){result.setTransStatus(3);} //交易已受理
else if (StringUtils.equals(transStatus, "80")){result.setTransStatus(4);} //订单初始状态
else if (StringUtils.equals(transStatus, "90")){result.setTransStatus(5);} //交易不存在
else if (StringUtils.equals(transStatus, "99")){result.setTransStatus(6);} //交易超时,须发起交易结果查询
BigDecimal trxAmt = data.getBigDecimal("trxAmt");
BigDecimal realTrxAmt = data.getBigDecimal("realTrxAmt");
String transSeqNo = data.getString("transSeqNo");
String signNo = data.getString("signNo");
result.setStatus(getStatus(transStatus));
result.setAmount(trxAmt==null? null : trxAmt.movePointLeft(2).intValue());
result.setRealAmount(realTrxAmt==null? null : realTrxAmt.movePointLeft(2).intValue());
result.setMerSeqNo(orgMerSeqNo);
......@@ -139,15 +132,9 @@ public class NbBankServiceImpl implements NbBankService {
NbBankOrderResultVO result = new NbBankOrderResultVO();
String transStatus = data.getString("transStatus");
if (StringUtils.equals(transStatus, "00")){result.setTransStatus(1);} //交易成功
else if (StringUtils.equals(transStatus, "01")){result.setTransStatus(2);} //交易失败
else if (StringUtils.equals(transStatus, "02")){result.setTransStatus(3);} //交易已受理
else if (StringUtils.equals(transStatus, "80")){result.setTransStatus(4);} //订单初始状态
else if (StringUtils.equals(transStatus, "90")){result.setTransStatus(5);} //交易不存在
else if (StringUtils.equals(transStatus, "99")){result.setTransStatus(6);} //交易超时,须发起交易结果查询
String transSeqNo = data.getString("transSeqNo");
result.setStatus(getStatus(transStatus));
result.setAmount(amount);
result.setRealAmount(amount);
result.setMerDtTm(merDtTm);
......@@ -175,15 +162,9 @@ public class NbBankServiceImpl implements NbBankService {
NbBankOrderResultVO result = new NbBankOrderResultVO();
String transStatus = data.getString("transStatus");
if (StringUtils.equals(transStatus, "00")){result.setTransStatus(1);} //交易成功
else if (StringUtils.equals(transStatus, "01")){result.setTransStatus(2);} //交易失败
else if (StringUtils.equals(transStatus, "02")){result.setTransStatus(3);} //交易已受理
else if (StringUtils.equals(transStatus, "80")){result.setTransStatus(4);} //订单初始状态
else if (StringUtils.equals(transStatus, "90")){result.setTransStatus(5);} //交易不存在
else if (StringUtils.equals(transStatus, "99")){result.setTransStatus(6);} //交易超时,须发起交易结果查询
String transSeqNo = data.getString("transSeqNo");
result.setStatus(getStatus(transStatus));
result.setAmount(amount);
result.setRealAmount(amount);
result.setMerDtTm(merDtTm);
......@@ -211,29 +192,11 @@ public class NbBankServiceImpl implements NbBankService {
merSeqNo, transSeqNo, trxAmt, realTrxAmt, transStatus, signNo);
NbBankOrderResultVO result = new NbBankOrderResultVO();
if (StringUtils.equals(transStatus, "00")){ //交易成功
result.setTransStatus(1);
}
if (StringUtils.equals(transStatus, "01")){ //交易失败
result.setTransStatus(2);
}
if (StringUtils.equals(transStatus, "02")){ //交易已受理
result.setTransStatus(3);
}
if (StringUtils.equals(transStatus, "80")){ //订单初始状态
result.setTransStatus(4);
}
if (StringUtils.equals(transStatus, "90")){ //交易不存在
result.setTransStatus(5);
}
if (StringUtils.equals(transStatus, "99")){ //交易超时,须发起交易结果查询
result.setTransStatus(6);
}
result.setStatus(getStatus(transStatus));
orderPayCallback(merSeqNo, transSeqNo, trxAmt, realTrxAmt, result.getTransStatus(), signNo);
orderPayCallback(merSeqNo, transSeqNo, trxAmt, realTrxAmt, result.getStatus(), signNo);
}
/**
* 银行回调
* @param merSeqNo 商户流水号
......@@ -260,4 +223,19 @@ public class NbBankServiceImpl implements NbBankService {
return StringUtils.isBlank(signNo)? StringUtils.right(cardNo,7) : signNo;
}
/**
* 获取订单状态
*/
private Integer getStatus(String transStatus){
if (StringUtils.equals(transStatus, "00")){return NbBankStatusEnum.Status.SUCCESS.getCode();} //交易成功
else if (StringUtils.equals(transStatus, "01")){return NbBankStatusEnum.Status.FAIL.getCode();} //交易失败
else if (StringUtils.equals(transStatus, "02")){return NbBankStatusEnum.Status.ACCEPT.getCode();} //交易已受理
else if (StringUtils.equals(transStatus, "80")){return NbBankStatusEnum.Status.INIT.getCode();} //订单初始状态
else if (StringUtils.equals(transStatus, "90")){return NbBankStatusEnum.Status.NOT_FOUND.getCode();} //交易不存在
else if (StringUtils.equals(transStatus, "99")){return NbBankStatusEnum.Status.TIMEOUT.getCode();} //交易超时,须发起交易结果查询
return NbBankStatusEnum.Status.TEMP.getCode();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论