提交 bee7933f authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/test' into test

Former-commit-id: e62d633e
...@@ -128,6 +128,12 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -128,6 +128,12 @@ public enum PerformanceResultEnum implements ResultEnum {
NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"), NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"),
NB_BANK_PAY_TYPE_ERROR(1802, "支付方式不支持"), NB_BANK_PAY_TYPE_ERROR(1802, "支付方式不支持"),
NB_BANK_ORDER_PAY_ERROR(1803, "宁波银行订单支付失败"), NB_BANK_ORDER_PAY_ERROR(1803, "宁波银行订单支付失败"),
NB_BANK_NO_MONEY_ERROR(1804, "账户余额不足"),
NB_BANK_PAY_DISABLE_ERROR(1805, "商户未开通相关支付方式"),
NB_BANK_ACCOUNT_NOT_FOUND_ERROR(1806, "账户信息不存在"),
NB_BANK_MERCHANT_STATUS_ERROR(1807, "商户信息不存在或商户状态异常"),
NB_BANK_AMOUNT_OUT_OF_RANGE_ERROR(1807, "明细金额超限"),
NB_BANK_NAME_BANK_NO_MISSMATCH_ERROR(1808, "账户名称与银行记录不符"),
PLATFORM_ACCOUNT_CONFIG_ONLY(1913, "当前配置已存在"), PLATFORM_ACCOUNT_CONFIG_ONLY(1913, "当前配置已存在"),
PLATFORM_ACCOUNT_CONFIG_WITHDRAWAL_IS_NULL(1914, "提现平台账户未配置"), PLATFORM_ACCOUNT_CONFIG_WITHDRAWAL_IS_NULL(1914, "提现平台账户未配置"),
...@@ -146,6 +152,7 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -146,6 +152,7 @@ public enum PerformanceResultEnum implements ResultEnum {
OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1853,"当前借款单状态不是待付款"), OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1853,"当前借款单状态不是待付款"),
OWNER_LOAN_PAYMENT_STATUS_ERROR(1854, "执行借款审批失败,请稍后重试"), OWNER_LOAN_PAYMENT_STATUS_ERROR(1854, "执行借款审批失败,请稍后重试"),
OWNER_LOAN_PAY_STATUS_ERROR(1855, "付款失败"), OWNER_LOAN_PAY_STATUS_ERROR(1855, "付款失败"),
DATA_STATUS_ERROR(1856, "当前状态有误")
; ;
private final int code; private final int code;
......
...@@ -37,6 +37,9 @@ public class OwnerPaymentVO{ ...@@ -37,6 +37,9 @@ public class OwnerPaymentVO{
@ApiModelProperty("交易流水号(第三方)") @ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo; private String runningWaterOpenNo;
@ApiModelProperty("商户流水")
private String merchantRunningWaterNo;
@ApiModelProperty("付款单号") @ApiModelProperty("付款单号")
private Long paymentNo; private Long paymentNo;
......
...@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@Slf4j @Slf4j
...@@ -52,5 +53,12 @@ public class CarrierOwnerPaymentController { ...@@ -52,5 +53,12 @@ public class CarrierOwnerPaymentController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "付款重新支付(只更改借款状态)",notes = "<br>By:胡宇帆")
@GetMapping("/ownerPaymentRetryPay")
public Result<Object> ownerPaymentRetryPay(@RequestParam(value = "id") @NotBlank Integer id) {
ownerPaymentService.ownerPaymentRetryPay(id);
return Result.ok();
}
} }
...@@ -52,6 +52,8 @@ public class OwnerPaymentDaoImpl extends BaseDaoImpl<OwnerPaymentMapper, OwnerPa ...@@ -52,6 +52,8 @@ public class OwnerPaymentDaoImpl extends BaseDaoImpl<OwnerPaymentMapper, OwnerPa
public void updateStatusAndMerchantRunningWaterNo(OwnerPayment ownerPayment) { public void updateStatusAndMerchantRunningWaterNo(OwnerPayment ownerPayment) {
update(lUdWrapper().set(OwnerPayment::getStatus, ownerPayment.getStatus()) update(lUdWrapper().set(OwnerPayment::getStatus, ownerPayment.getStatus())
.set(OwnerPayment::getMerchantRunningWaterNo, ownerPayment.getMerchantRunningWaterNo()) .set(OwnerPayment::getMerchantRunningWaterNo, ownerPayment.getMerchantRunningWaterNo())
.set(OwnerPayment::getOperateBy, ownerPayment.getOperateBy())
.set(OwnerPayment::getOperateTime, ownerPayment.getOperateTime())
.eq(OwnerPayment::getId, ownerPayment.getId()) .eq(OwnerPayment::getId, ownerPayment.getId())
); );
} }
......
...@@ -7,6 +7,7 @@ import com.clx.performance.dao.loan.OwnerLoanAccountDao; ...@@ -7,6 +7,7 @@ import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.dao.loan.OwnerLoanRecordDao; import com.clx.performance.dao.loan.OwnerLoanRecordDao;
import com.clx.performance.dao.loan.OwnerRepaymentDao; import com.clx.performance.dao.loan.OwnerRepaymentDao;
import com.clx.performance.enums.OwnerAccountEnum; import com.clx.performance.enums.OwnerAccountEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.BankTradeEnum; import com.clx.performance.enums.loan.BankTradeEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum; import com.clx.performance.enums.loan.OwnerRePaymentEnum;
...@@ -27,6 +28,7 @@ import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO; ...@@ -27,6 +28,7 @@ import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.convertor.aspect.UnitCovert; import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -108,6 +110,9 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -108,6 +110,9 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
@Override @Override
public void ownerRepayment(OwnerRepaymentParam param) { public void ownerRepayment(OwnerRepaymentParam param) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getOneByField(OwnerRepayment::getRepaymentNo, param.getRepaymentNo()).get(); OwnerRepayment ownerRepayment = ownerRepaymentDao.getOneByField(OwnerRepayment::getRepaymentNo, param.getRepaymentNo()).get();
if (!ownerRepayment.getStatus().equals(OwnerRePaymentEnum.Status.PAY_WAIT.getCode())) {
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_PAY_STATUS_ERROR);
}
OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getOneByField(OwnerLoanRecord::getLoanNo, ownerRepayment.getLoanNo()).get(); OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getOneByField(OwnerLoanRecord::getLoanNo, ownerRepayment.getLoanNo()).get();
BankTrade bankTrade = new BankTrade(); BankTrade bankTrade = new BankTrade();
OwnerBindCardRecord ownerBindCardRecord = ownerBindCardRecordDao.getOwnerBindCardByUserNo(ownerRepayment.getOwnerUserNo()); OwnerBindCardRecord ownerBindCardRecord = ownerBindCardRecordDao.getOwnerBindCardByUserNo(ownerRepayment.getOwnerUserNo());
...@@ -115,8 +120,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -115,8 +120,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(param.getPayChannel())) { if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(param.getPayChannel())) {
// 订单支付 // 订单支付
NbBankOrderPayResultVO orderPayResultVO = bankService.orderDirectPay(ownerRepayment.getRepaymentNo(), "还款单", NbBankOrderPayResultVO orderPayResultVO = bankService.orderDirectPay(ownerRepayment.getRepaymentNo(), "还款单",
ownerRepayment.getRepaymentBalance().intValue(), ownerLoanRecord.getLendingPartyBankCode(), ownerRepayment.getRepaymentBalance().intValue(), ownerBindCardRecord.getOpenAccountBankNumber(),
ownerLoanRecord.getLendingPartyAccount(), ownerBindCardRecord.getAccountBankName()); ownerBindCardRecord.getBankCardNumber(), ownerBindCardRecord.getAccountBankName());
ownerRepayment.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo()); ownerRepayment.setRunningWaterOpenNo(orderPayResultVO.getTransSeqNo());
ownerRepayment.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo()); ownerRepayment.setMerchantRunningWaterNo(orderPayResultVO.getMerSeqNo());
......
...@@ -66,6 +66,7 @@ import com.msl.user.data.UserSessionData; ...@@ -66,6 +66,7 @@ import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder; import org.springframework.amqp.core.MessageBuilder;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
...@@ -409,7 +410,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -409,7 +410,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
} }
vo.setOrderPayWay(false); vo.setOrderPayWay(false);
String bankName = borrower.getBankName(); String bankName = borrower.getBankName();
if (nbBankConfig.getOrderSupportBank().contains(bankName)) { if (StringUtils.isNotBlank(bankName) && nbBankConfig.getOrderSupportBank().contains(bankName)) {
vo.setOrderPayWay(true); vo.setOrderPayWay(true);
} }
vo.setBankName(bankName); vo.setBankName(bankName);
......
...@@ -18,11 +18,13 @@ import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerPaymentVO; ...@@ -18,11 +18,13 @@ import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerPaymentVO;
import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -85,7 +87,18 @@ public class OwnerPaymentServiceImpl implements OwnerPaymentService { ...@@ -85,7 +87,18 @@ public class OwnerPaymentServiceImpl implements OwnerPaymentService {
} }
ownerPayment.setMerchantRunningWaterNo(merSeqNo); ownerPayment.setMerchantRunningWaterNo(merSeqNo);
ownerPayment.setStatus(OwnerPaymentEnum.Status.PAYING.getCode()); ownerPayment.setStatus(OwnerPaymentEnum.Status.PAYING.getCode());
ownerPayment.setOperateBy(TokenUtil.getLoginUserInfo().getUserName());
ownerPayment.setOperateTime(LocalDateTime.now());
ownerPaymentDao.updateStatusAndMerchantRunningWaterNo(ownerPayment); ownerPaymentDao.updateStatusAndMerchantRunningWaterNo(ownerPayment);
} }
@Override
public void ownerPaymentRetryPay(Integer id) {
OwnerPayment ownerPayment = ownerPaymentDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (!OwnerPaymentEnum.Status.PAY_FAIL.getCode().equals(ownerPayment.getStatus())) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_STATUS_ERROR);
}
ownerPaymentDao.updatePayStatus(id, OwnerPaymentEnum.Status.PAY_WAIT.getCode());
}
} }
...@@ -132,9 +132,9 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -132,9 +132,9 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
OwnerCashierInfoVO vo = ownerRepaymentStruct.convertCashierInfo(ownerRepayment); OwnerCashierInfoVO vo = ownerRepaymentStruct.convertCashierInfo(ownerRepayment);
OwnerInfoFeignVO ownerInfoFeignVO = ownerInfoService.getOwnerInfo(ownerRepayment.getOwnerUserNo()); OwnerInfoFeignVO ownerInfoFeignVO = ownerInfoService.getOwnerInfo(ownerRepayment.getOwnerUserNo());
String ownerAccountBank = Objects.isNull(ownerInfoFeignVO.getOwnerAccountBank())? StringUtils.EMPTY:ownerInfoFeignVO.getOwnerAccountBank().trim(); String ownerAccountBank = StringUtils.isBlank(ownerInfoFeignVO.getOwnerAccountBank())? StringUtils.EMPTY:ownerInfoFeignVO.getOwnerAccountBank().trim();
vo.setOrderPayWay(false); vo.setOrderPayWay(false);
if(nbBankConfig.getOrderSupportBank().contains(ownerAccountBank)){ if(StringUtils.isNotBlank(ownerAccountBank) && nbBankConfig.getOrderSupportBank().contains(ownerAccountBank)){
vo.setOrderPayWay(true); vo.setOrderPayWay(true);
} }
vo.setBankName(ownerAccountBank); vo.setBankName(ownerAccountBank);
...@@ -249,7 +249,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -249,7 +249,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(ownerRepayment.getPayChannel())) { if (OwnerLoanRecordEnum.PayChannel.ORDER_DIRECT_PAY.getCode().equals(ownerRepayment.getPayChannel())) {
Integer tradeType = bankTrade.getTradeType(); Integer tradeType = bankTrade.getTradeType();
// 调用宁波退款 // 调用宁波退款
bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.valueOf(ownerRepayment.getRepaymentBalance().movePointRight(2).toString()), bankTrade.getRunningWaterOpenNo()); bankService.refund(tradeType, bankTrade.getMerchantRunningWaterNo(), Integer.valueOf(ownerRepayment.getRepaymentBalance().toString()), bankTrade.getRunningWaterOpenNo());
} }
...@@ -363,7 +363,10 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -363,7 +363,10 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void adjust(Integer id) { public void adjust(Integer id) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(ResultEnum.DATA_NOT_FIND); OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (!ownerRepayment.getStatus().equals(OwnerRePaymentEnum.Status.PAYING.getCode())) { if (!ownerRepayment.getStatus().equals(OwnerRePaymentEnum.Status.PAYING.getCode())
&&
!ownerRepayment.getStatus().equals(OwnerRePaymentEnum.Status.PAY_FAIL.getCode())
) {
log.info("还款记录状态异常,不是付款中,不能核销"); log.info("还款记录状态异常,不是付款中,不能核销");
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_ADJUST_STATUS_ERROR); throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_RECORD_ADJUST_STATUS_ERROR);
} }
......
...@@ -9,6 +9,7 @@ import com.clx.performance.enums.nbbank.NbBankRecordEnum; ...@@ -9,6 +9,7 @@ import com.clx.performance.enums.nbbank.NbBankRecordEnum;
import com.clx.performance.model.nbbank.NbBankRecord; import com.clx.performance.model.nbbank.NbBankRecord;
import com.clx.performance.service.thirdparty.nbbank.NbBankThirdpartyService; import com.clx.performance.service.thirdparty.nbbank.NbBankThirdpartyService;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.nbopen.api.*; import com.nbopen.api.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -42,6 +43,8 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -42,6 +43,8 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
@PostConstruct @PostConstruct
public void bankInit() throws IOException { public void bankInit() throws IOException {
new File("./test").mkdir();
File file = new File("/app/nbbank"); File file = new File("/app/nbbank");
file.mkdir(); file.mkdir();
...@@ -153,7 +156,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -153,7 +156,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
SDKResponse response = NBOpenSDK.send(request); SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 下单(directBankTransferOrder), 结果: {}", JSON.toJSONString(response)); log.info("宁波银行, 下单(directBankTransferOrder), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.DIRECT_BANK_TRANSFER_ORDER.getCode(), request, response); ApplicationContextUtils.getBean(NbBankThirdpartyService.class).recordSave(NbBankRecordEnum.Type.DIRECT_BANK_TRANSFER_ORDER.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response)); JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data"); JSONObject data = responseJson.getJSONObject("data");
...@@ -252,12 +255,27 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -252,12 +255,27 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
SDKResponse response = NBOpenSDK.send(request); SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 下单(unionPayDirectOrder), 结果: {}", JSON.toJSONString(response)); log.info("宁波银行, 下单(unionPayDirectOrder), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.UNION_PAY_DIRECT_ORDER.getCode(), request, response); ApplicationContextUtils.getBean(NbBankThirdpartyService.class).recordSave(NbBankRecordEnum.Type.UNION_PAY_DIRECT_ORDER.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response)); JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data"); JSONObject data = responseJson.getJSONObject("data");
if (!StringUtils.equals(data.getString("errorCode"), "000000")){ if (StringUtils.equals(data.getString("errorCode"), "MER006")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_PAY_DISABLE_ERROR);
}
else if (StringUtils.equals(data.getString("errorCode"), "BP3233")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_ACCOUNT_NOT_FOUND_ERROR);
}
else if (StringUtils.equals(data.getString("errorCode"), "MER001")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_MERCHANT_STATUS_ERROR);
}
else if (StringUtils.equals(data.getString("errorCode"), "BD2103")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_AMOUNT_OUT_OF_RANGE_ERROR);
}
else if (StringUtils.equals(data.getString("errorCode"), "BP3212")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_NAME_BANK_NO_MISSMATCH_ERROR);
}
else if (!StringUtils.equals(data.getString("errorCode"), "000000")){
log.info("宁波银行, 下单失败(unionPayDirectOrder), code:{}, msg:{}", data.getString("errorCode"), data.getString("errorMsg")); log.info("宁波银行, 下单失败(unionPayDirectOrder), code:{}, msg:{}", data.getString("errorCode"), data.getString("errorMsg"));
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR); throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
} }
...@@ -265,6 +283,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -265,6 +283,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
return data; return data;
} catch (Exception e) { } catch (Exception e) {
if (e instanceof ServiceSystemException) {throw (ServiceSystemException)e;}
log.info("宁波银行接口异常:{}", ExceptionUtils.getStackTrace(e)); log.info("宁波银行接口异常:{}", ExceptionUtils.getStackTrace(e));
} }
...@@ -391,7 +410,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -391,7 +410,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
SDKResponse response = NBOpenSDK.send(request); SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 查询交易结果(queryOrder), 结果: {}", JSON.toJSONString(response)); log.info("宁波银行, 查询交易结果(queryOrder), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.QUERY_ORDER.getCode(), request, response); ApplicationContextUtils.getBean(NbBankThirdpartyService.class).recordSave(NbBankRecordEnum.Type.QUERY_ORDER.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response)); JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data"); JSONObject data = responseJson.getJSONObject("data");
...@@ -452,18 +471,23 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -452,18 +471,23 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
SDKResponse response = NBOpenSDK.send(request); SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 调账接口(fundTransferOrder), 结果: {}", JSON.toJSONString(response)); log.info("宁波银行, 调账接口(fundTransferOrder), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.FUND_TRANSFER_ORDER.getCode(), request, response); ApplicationContextUtils.getBean(NbBankThirdpartyService.class).recordSave(NbBankRecordEnum.Type.FUND_TRANSFER_ORDER.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response)); JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data"); JSONObject data = responseJson.getJSONObject("data");
if (!StringUtils.equals(data.getString("errorCode"), "000000")){ if (!StringUtils.equals(data.getString("errorCode"), "PAY888")){
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_NO_MONEY_ERROR);
}
else if (!StringUtils.equals(data.getString("errorCode"), "000000")){
log.info("宁波银行, 调账接口(fundTransferOrder), code:{}, msg:{}", data.getString("errorCode"), data.getString("errorMsg")); log.info("宁波银行, 调账接口(fundTransferOrder), code:{}, msg:{}", data.getString("errorCode"), data.getString("errorMsg"));
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR); throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
} }
return data; return data;
} catch (Exception e) { } catch (Exception e) {
if (e instanceof ServiceSystemException) {throw (ServiceSystemException)e;}
log.info("宁波银行接口异常:{}", ExceptionUtils.getStackTrace(e)); log.info("宁波银行接口异常:{}", ExceptionUtils.getStackTrace(e));
} }
...@@ -533,7 +557,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -533,7 +557,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
SDKResponse response = NBOpenSDK.send(request); SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 退款(refund), 结果: {}", JSON.toJSONString(response)); log.info("宁波银行, 退款(refund), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.REFUND.getCode(), request, response); ApplicationContextUtils.getBean(NbBankThirdpartyService.class).recordSave(NbBankRecordEnum.Type.REFUND.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response)); JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data"); JSONObject data = responseJson.getJSONObject("data");
...@@ -552,6 +576,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -552,6 +576,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR); throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
} }
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Override @Override
public void recordSave(Integer type, SDKRequest request, SDKResponse response) { public void recordSave(Integer type, SDKRequest request, SDKResponse response) {
...@@ -681,7 +706,6 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -681,7 +706,6 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
} }
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void recordSave(Integer type, public void recordSave(Integer type,
String merId, String merSeqNo, String merDtTm, String transSeqNo, String merId, String merSeqNo, String merDtTm, String transSeqNo,
Integer amount, Integer amount,
......
...@@ -16,4 +16,6 @@ public interface OwnerPaymentService { ...@@ -16,4 +16,6 @@ public interface OwnerPaymentService {
CarrierOwnerPaymentVO getOwnerPaymentDetail(Integer id); CarrierOwnerPaymentVO getOwnerPaymentDetail(Integer id);
void pay(Integer id); void pay(Integer id);
void ownerPaymentRetryPay(Integer id);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论