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

Merge branch 'v10.7_borrowing_and_repayment_20240118' of…

Merge branch 'v10.7_borrowing_and_repayment_20240118' of https://t.clxkj.cn/clx-java/clx-performance into v10.7_borrowing_and_repayment_20240118
package com.clx.performance.enums.borrower;
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
......
package com.clx.performance.enums.borrower;
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
......
......@@ -17,6 +17,7 @@ public enum NbBankRecordEnum {
QUERY_ORDER(3, "交易结果查询"),
NOTIFY_MERCHANT(4, "异步通知交易结果"),
FUND_TRANSFER_ORDER(5, "云账簿资金划转"),
REFUND(6, "退款"),
;
private final Integer code;
......
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
/**
* @ClassName PageOwnerLoanAccountApproveParam
* @Description
* @Author kavin
* @Date 2024/1/20 17:57
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanAccountApproveParam extends PageParam {
@ApiModelProperty("申请编号")
@NotNull
private Integer id;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("1:审核通过 0:审批拒绝")
@NotNull
private Boolean status;
}
package com.clx.performance.param.pc.loan.owner;
import com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OwnerLoanRecordParam {
@ApiModelProperty(value = "借款金额", example = "张三")
@NotNull(message = "借款金额不能为空")
@MoneyInConvert
private BigDecimal loanBalance;
@ApiModelProperty(value = "借款方", example = "伟华煤炭运销公司")
@NotBlank(message = "借款方不能为空")
private String borrower;
@ApiModelProperty(value = "借出方", example = "诚联信网络科技有限公司")
@NotBlank(message = "借出方不能为空")
private String lendingParty;
@ApiModelProperty(value = "借出方账户", example = "诚联信银行账户")
@NotBlank(message = "借出方不能为空")
private String paymentAccount;
@ApiModelProperty(value = "借出时效(天)", example = "2")
@NotNull(message = "借出时效(天)不能为空")
private Integer expireDay;
}
package com.clx.performance.controller.pc.loan.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO;
......@@ -39,4 +40,11 @@ public class CarrierOwnerLoanAccountApproveController {
IPage<OwnerLoanAccountApproveVO> page = ownerLoanAccountApproveService.pageOwnerLoanAccountApprove(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "货主借款账户审批",notes = "<br>By:胡宇帆")
@PostMapping("/ownerLoanAccountApprove")
public Result<Object> ownerLoanAccountApprove(@RequestBody @Validated OwnerLoanAccountApproveParam param) {
ownerLoanAccountApproveService.ownerLoanAccountApprove(param);
return Result.ok();
}
}
package com.clx.performance.controller.pc.loan.owner;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanAccountApprove")
@Validated
@Api(tags = "货主端-资金管理")
@AllArgsConstructor
public class OwnerLoanAccountController {
private final OwnerLoanAccountApproveService ownerLoanAccountApproveService;
private final OwnerLoanRecordService ownerLoanRecordService;
@ApiOperation(value = "货主借款账户开通",notes = "<br>By:胡宇帆")
@GetMapping("/openOwnerLoanAccount")
public Result<Object> openOwnerLoanAccount() {
ownerLoanAccountApproveService.openOwnerLoanAccountApprove();
return Result.ok();
}
@ApiOperation(value = "货主借款申请",notes = "<br>By:胡宇帆")
@PostMapping("/ownerLoanRecordSubmit")
public Result<Object> ownerLoanRecordSubmit(@RequestBody OwnerLoanRecordParam param) {
ownerLoanRecordService.ownerLoanRecordSubmit(param);
return Result.ok();
}
}
......@@ -26,25 +26,39 @@ public class TempBankController {
@Autowired
private NbBankService bankService;
@ApiOperation(value = "directBankTransferOrder", notes = "<br>By:艾庆国")
@ApiOperation(value = "转账", notes = "<br>By:艾庆国")
@RequestMapping(value = "/directBankTransferOrder", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> directBankTransferOrder() throws Exception {
return Result.ok(bankService.orderPay(1));
}
@ApiOperation(value = "unionPayDirectOrder", notes = "<br>By:艾庆国")
@ApiOperation(value = "订单支付", notes = "<br>By:艾庆国")
@RequestMapping(value = "/unionPayDirectOrder", method = RequestMethod.POST)
public Result<NbBankOrderPayResultVO> unionPayDirectOrder() throws Exception {
return Result.ok(bankService.orderPay(2));
}
@ApiOperation(value = "queryOrder", notes = "<br>By:艾庆国")
@RequestMapping(value = "/queryOrderTest", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> queryOrderTest(String merSeqNo) throws Exception {
@ApiOperation(value = "查询", notes = "<br>By:艾庆国")
@RequestMapping(value = "/queryOrder", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> queryOrder(String merSeqNo) throws Exception {
return Result.ok(bankService.getOrderStatus(merSeqNo));
}
@ApiOperation(value = "调账", notes = "<br>By:艾庆国")
@RequestMapping(value = "/transferOrder", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> transferOrder(String merSeqNo) throws Exception {
return Result.ok(bankService.transferOrder(merSeqNo));
}
@ApiOperation(value = "退款", notes = "<br>By:艾庆国")
@RequestMapping(value = "/refund", method = RequestMethod.POST)
public Result<NbBankOrderPayStatusResultVO> refund(String merSeqNo) throws Exception {
return Result.ok(bankService.refund(merSeqNo));
}
}
......@@ -4,7 +4,7 @@ package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.BorrowerConfigDao;
import com.clx.performance.enums.borrower.BorrowerConfigEnum;
import com.clx.performance.enums.loan.BorrowerConfigEnum;
import com.clx.performance.mapper.loan.BorrowerConfigMapper;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerConfigParam;
......
......@@ -4,7 +4,7 @@ package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.borrower.BorrowerEnum;
import com.clx.performance.enums.loan.BorrowerEnum;
import com.clx.performance.mapper.loan.BorrowerMapper;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
......
......@@ -30,7 +30,7 @@ public class OwnerLoanAccount implements HasKey<Integer> {
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private String ownerUserNo;
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
......
......@@ -29,7 +29,7 @@ public class OwnerLoanAccountApprove implements HasKey<Integer> {
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private String ownerUserNo;
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
......
......@@ -30,7 +30,7 @@ public class OwnerLoanRecord implements HasKey<Integer> {
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private String ownerUserNo;
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
......
......@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.loan.BorrowerConfigDao;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.borrower.BorrowerConfigEnum;
import com.clx.performance.enums.loan.BorrowerConfigEnum;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.*;
......
......@@ -3,7 +3,7 @@ package com.clx.performance.service.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.borrower.BorrowerEnum;
import com.clx.performance.enums.loan.BorrowerEnum;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.*;
import com.clx.performance.service.loan.BorrowerService;
......
......@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountApproveDao;
import com.clx.performance.model.loan.OwnerLoanAccountApprove;
import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.struct.loan.OwnerLoanAccountApproveStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
......@@ -27,6 +32,8 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
private final OwnerLoanAccountApproveDao ownerLoanAccountApproveDao;
private final OwnerLoanAccountApproveStruct ownerLoanAccountApproveStruct;
private final OwnerLoanAccountService ownerLoanAccountService;
@Override
public IPage<OwnerLoanAccountApproveVO> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param) {
IPage<OwnerLoanAccountApprove> page = ownerLoanAccountApproveDao.pageOwnerLoanAccountApprove(param);
......@@ -38,5 +45,37 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
return returnPage;
}
@Override
public void openOwnerLoanAccountApprove() {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerLoanAccountApprove entity = new OwnerLoanAccountApprove();
entity.setAccountType(3);
entity.setOwnerUserNo(loginUserInfo.getUserNo());
entity.setOwnerUserName(loginUserInfo.getUserName());
entity.setMobile(loginUserInfo.getUserMobile());
entity.setStatus(10);
ownerLoanAccountApproveDao.saveEntity(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void ownerLoanAccountApprove(OwnerLoanAccountApproveParam param) {
Boolean status = param.getStatus();
OwnerLoanAccountApprove entity = new OwnerLoanAccountApprove();
entity.setId(param.getId());
if (status) {
//审批通过
entity.setStatus(10);
ownerLoanAccountApproveDao.updateEntityByKey(entity);
ownerLoanAccountService.openOwnerLoanAccount(entity.getOwnerUserNo(), entity.getOwnerUserName(), entity.getMobile());
} else {
//审批拒绝
entity.setStatus(20);
entity.setRejectReason(param.getRejectReason());
ownerLoanAccountApproveDao.updateEntityByKey(entity);
}
}
}
package com.clx.performance.service.impl.loan;
import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.service.loan.OwnerLoanAccountService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
/**
* @author kavin
......@@ -11,5 +17,22 @@ import org.springframework.stereotype.Service;
*/
@Service
@Slf4j
@AllArgsConstructor
public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
private final OwnerLoanAccountDao ownerLoanAccountDao;
@Transactional(rollbackFor = Exception.class)
@Override
public void openOwnerLoanAccount(Long ownerUserNo, String ownerUserName, String mobile) {
OwnerLoanAccount entity = new OwnerLoanAccount();
entity.setOwnerUserNo(ownerUserNo);
entity.setMobile(mobile);
entity.setOwnerUserName(ownerUserName);
entity.setFundingAmount(BigDecimal.ZERO);
entity.setFundingAmount(BigDecimal.ZERO);
entity.setVirtuallyAmount(BigDecimal.ZERO);
entity.setVirtuallyArrears(BigDecimal.ZERO);
ownerLoanAccountDao.saveEntity(entity);
}
}
......@@ -5,13 +5,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanRecordDao;
import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.struct.loan.OwnerLoanRecordStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -38,4 +44,25 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
returnPage.setRecords(records);
return returnPage;
}
@Override
public void ownerLoanRecordSubmit(OwnerLoanRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerLoanRecord entity = new OwnerLoanRecord();
LocalDateTime createTime = LocalDateTime.now();
LocalDateTime loanRepaymentTime = createTime.plusDays(param.getExpireDay());
entity.setLoanRepaymentTime(loanRepaymentTime);
entity.setCreateTime(createTime);
entity.setOwnerUserNo(loginUserInfo.getUserNo());
entity.setOwnerUserName(loginUserInfo.getUserName());
entity.setMobile(loginUserInfo.getUserMobile());
entity.setLoanBalance(param.getLoanBalance());
entity.setBorrower(param.getBorrower());
entity.setLendingParty(param.getLendingParty());
entity.setPayee("收款方写死");
entity.setPayeeAccount("收款方账户写死");
entity.setCreateBy(loginUserInfo.getUserName());
entity.setStatus(10);
ownerLoanRecordDao.saveEntity(entity);
}
}
......@@ -127,7 +127,7 @@ public class NbBankServiceImpl implements NbBankService {
}
@Override
public NbBankOrderPayStatusResultVO transferOrderStatus(String merSeqNo) {
public NbBankOrderPayStatusResultVO transferOrder(String merSeqNo) {
JSONObject data = bankThirdpartyService.fundTransferOrder(merSeqNo, "EFT33021200556315", "",
1,
"1", "2");
......@@ -152,4 +152,30 @@ public class NbBankServiceImpl implements NbBankService {
return result;
}
@Override
public NbBankOrderPayStatusResultVO refund(String merSeqNo) {
JSONObject data = bankThirdpartyService.refund(merSeqNo, "EFT33021200556315", "",
1,
"1", "2");
NbBankOrderPayStatusResultVO result = new NbBankOrderPayStatusResultVO();
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.setAmount(1);
result.setRealAmount(1);
result.setMerSeqNo(merSeqNo);
result.setTransSeqNo(transSeqNo);
return result;
}
}
......@@ -442,6 +442,66 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
}
/**
* 退款
* 5.2退款
* @return
*/
@Override
public JSONObject refund(String merSeqNo, String merId, String merDtTm,
Integer amount,
String orgMerSeqNo, String coreSeqNo) {
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("transId", "IP01"); //交易识别码 必填
jsonObject.put("merId", merId); //商户号 必填
jsonObject.put("merSeqNo", merSeqNo); //商户流水 必填
jsonObject.put("merDtTm", LocalDateTimeUtils.formatTime()); //商户时间 必填
jsonObject.put("trxAmt", new BigDecimal(amount).movePointLeft(2)); //订单金额 必填
jsonObject.put("orgMerSeqNo", orgMerSeqNo); //原订单流水号 必填
jsonObject.put("coreSeqNo", coreSeqNo); //核心流水号 必填
HashMap<String,String> httpHeader = new HashMap<>();
RequestApiData requestApiData = new RequestApiData();
requestApiData.setAppkey(nbBankConfig.getAppKey());
requestApiData.setData(jsonObject);
requestApiData.setProductId("YFT");
requestApiData.setServiceId("refund");
requestApiData.setHttpHeader(httpHeader);
RequestHead requestHead = new RequestHead();
requestHead.setRqsJrnlNo(NBOpenSDK.getRandom());
SDKRequest request = new SDKRequest();
request.setData(requestApiData);
request.setHead(requestHead);
log.info("宁波银行, 退款(refund), 参数: {}", JSON.toJSONString(request));
SDKResponse response = NBOpenSDK.send(request);
log.info("宁波银行, 退款(refund), 结果: {}", JSON.toJSONString(response));
recordSave(NbBankRecordEnum.Type.REFUND.getCode(), request, response);
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject data = responseJson.getJSONObject("data");
if (!StringUtils.equals(data.getString("errorCode"), "000000")){
log.info("宁波银行, 退款失败(refund), code:{}, msg:{}", data.getString("errorCode"), data.getString("errorMsg"));
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
}
return data;
} catch (Exception e) {
e.printStackTrace();
}
throw new ServiceSystemException(PerformanceResultEnum.NB_BANK_API_ERROR);
}
@Override
public void recordSave(Integer type, SDKRequest request, SDKResponse response) {
......@@ -542,8 +602,29 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
, responseDataJson.getString("transStatus")
);
}
else if (Objects.equals(type, NbBankRecordEnum.Type.REFUND.getCode())) {
RequestApiData requestData = (RequestApiData) (request.getData());
JSONObject requestDataJson = (JSONObject) (requestData.getData());
JSONObject responseJson = JSON.parseObject(JSON.toJSONString(response));
JSONObject responseDataJson = responseJson.getJSONObject("data");
recordSave(type
, requestDataJson.getString("merId")
, requestDataJson.getString("merSeqNo")
, requestDataJson.getString("merDtTm")
, requestDataJson.getString("transSeqNo")
, requestDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue()
, JSON.toJSONString(request)
, JSON.toJSONString(response)
, responseDataJson.getString("errorCode")
, responseDataJson.getString("errorMsg")
, responseDataJson.getString("transStatus")
);
}
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void recordSave(Integer type,
String merId, String merSeqNo, String merDtTm, String transSeqNo,
......
package com.clx.performance.service.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO;
......@@ -11,4 +12,8 @@ import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountApproveVO;
*/
public interface OwnerLoanAccountApproveService {
IPage<OwnerLoanAccountApproveVO> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param);
void openOwnerLoanAccountApprove();
void ownerLoanAccountApprove(OwnerLoanAccountApproveParam param);
}
......@@ -6,4 +6,6 @@ package com.clx.performance.service.loan;
* Time 13:31
*/
public interface OwnerLoanAccountService {
void openOwnerLoanAccount(Long ownerUserNo, String ownerUserName, String mobile);
}
......@@ -2,6 +2,7 @@ package com.clx.performance.service.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
/**
......@@ -11,4 +12,6 @@ import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
*/
public interface OwnerLoanRecordService {
IPage<OwnerLoanRecordVO> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param);
void ownerLoanRecordSubmit(OwnerLoanRecordParam param);
}
......@@ -17,6 +17,8 @@ public interface NbBankService {
String signNo
);
NbBankOrderPayStatusResultVO transferOrderStatus(String merSeqNo);
NbBankOrderPayStatusResultVO transferOrder(String merSeqNo);
NbBankOrderPayStatusResultVO refund(String merSeqNo);
}
......@@ -17,6 +17,10 @@ public interface NbBankThirdpartyService {
Integer trxAmt,
String customerId, String payCustomerId);
JSONObject refund(String merSeqNo, String merId, String merDtTm,
Integer amount,
String orgMerSeqNo, String coreSeqNo);
void recordSave(Integer type, SDKRequest request, SDKResponse response);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论