提交 cd5b53fb authored 作者: aiqingguo's avatar aiqingguo

Merge branch 'v10.7_borrowing_and_repayment_20240118' into test

# Conflicts: # performance-web/src/main/java/com/clx/performance/struct/loan/OwnerLoanAccountRunningWaterRecordStruct.java # performance-web/src/main/resources/bank/config-nbbank.json Former-commit-id: c75aaa5b
package com.clx.performance.param.pc.loan.owner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
/**
* @ClassName ExportPaymentApplicationFormParam
* @Description
* @Author kavin
* @Date 2024/1/24 17:36
* @Version 1.0
*/
@Getter
@Setter
public class ExportPaymentApplicationFormParam {
@ApiModelProperty("id")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty("支付渠道 10 订单支付 20 转账支付")
@NotNull(message = "支付渠道不能为空")
private Integer payWay;
}
...@@ -33,7 +33,7 @@ public class OwnerLoanRecordParam { ...@@ -33,7 +33,7 @@ public class OwnerLoanRecordParam {
@ApiModelProperty(value = "借出方账户", example = "诚联信银行账户") @ApiModelProperty(value = "借出方账户", example = "诚联信银行账户")
@NotBlank(message = "借出方不能为空") @NotBlank(message = "借出方不能为空")
private String paymentAccount; private String lendingPartyAccount;
@ApiModelProperty(value = "借出时效(天)", example = "2") @ApiModelProperty(value = "借出时效(天)", example = "2")
@NotNull(message = "借出时效(天)不能为空") @NotNull(message = "借出时效(天)不能为空")
......
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
...@@ -33,6 +34,7 @@ public class OwnerLoanAccountVO { ...@@ -33,6 +34,7 @@ public class OwnerLoanAccountVO {
@ApiModelProperty(value = "默认 3:借款账户", example = "3") @ApiModelProperty(value = "默认 3:借款账户", example = "3")
private Integer accountType; private Integer accountType;
@ApiModelProperty(value = "账户余额 (元) ", example = "1.23") @ApiModelProperty(value = "账户余额 (元) ", example = "1.23")
private BigDecimal amount; private BigDecimal amount;
public BigDecimal getAmount() { public BigDecimal getAmount() {
...@@ -52,15 +54,19 @@ public class OwnerLoanAccountVO { ...@@ -52,15 +54,19 @@ public class OwnerLoanAccountVO {
@JsonIgnore @JsonIgnore
@ApiModelProperty(value = "资金金额", example = "1.23", hidden = true) @ApiModelProperty(value = "资金金额", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal fundingAmount; private BigDecimal fundingAmount;
@JsonIgnore @JsonIgnore
@ApiModelProperty(value = "虚拟币金额", example = "1.23", hidden = true) @ApiModelProperty(value = "虚拟币金额", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyAmount; private BigDecimal virtuallyAmount;
@JsonIgnore @JsonIgnore
@ApiModelProperty(value = "资金欠款", example = "1.23", hidden = true) @ApiModelProperty(value = "资金欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal fundingArrears; private BigDecimal fundingArrears;
@JsonIgnore @JsonIgnore
@ApiModelProperty(value = "虚拟币欠款", example = "1.23", hidden = true) @ApiModelProperty(value = "虚拟币欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyArrears; private BigDecimal virtuallyArrears;
} }
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -50,7 +51,7 @@ public class OwnerLoanRecordVO { ...@@ -50,7 +51,7 @@ public class OwnerLoanRecordVO {
return OwnerLoanRecordEnum.LoanType.getMsgByCode(loanType); return OwnerLoanRecordEnum.LoanType.getMsgByCode(loanType);
} }
@MoneyOutConvert
@ApiModelProperty("借款金额") @ApiModelProperty("借款金额")
private BigDecimal loanBalance; private BigDecimal loanBalance;
...@@ -63,8 +64,8 @@ public class OwnerLoanRecordVO { ...@@ -63,8 +64,8 @@ public class OwnerLoanRecordVO {
private String lendingParty; private String lendingParty;
@ApiModelProperty("付款账户") @ApiModelProperty("借出方账户")
private String paymentAccount; private String lendingPartyAccount;
@ApiModelProperty("收款方") @ApiModelProperty("收款方")
......
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerPaymentEnum; import com.clx.performance.enums.loan.OwnerPaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -43,7 +44,7 @@ public class OwnerPaymentVO{ ...@@ -43,7 +44,7 @@ public class OwnerPaymentVO{
@ApiModelProperty("还款单号") @ApiModelProperty("还款单号")
private Long repaymentNo; private Long repaymentNo;
@MoneyOutConvert
@ApiModelProperty("付款金额") @ApiModelProperty("付款金额")
private BigDecimal paymentBalance; private BigDecimal paymentBalance;
......
package com.clx.performance.vo.pc.loan.carrier; package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerRePaymentEnum; import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -40,7 +41,7 @@ public class OwnerRepaymentVO { ...@@ -40,7 +41,7 @@ public class OwnerRepaymentVO {
@ApiModelProperty("还款单号") @ApiModelProperty("还款单号")
private Long repaymentNo; private Long repaymentNo;
@MoneyOutConvert
@ApiModelProperty("还款金额") @ApiModelProperty("还款金额")
private BigDecimal repaymentBalance; private BigDecimal repaymentBalance;
......
package com.clx.performance.vo.pc.loan.owner;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.List;
/**
* @ClassName CashierInfoVO
* @Description
* @Author kavin
* @Date 2024/1/24 16:24
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CashierInfoVO {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("货物名称")
private String goodsName;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("支付方式")
private List<Integer> payWay;
@ApiModelProperty("付款账户")
private String payAccount;
}
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @ClassName OrderPaymentDetailVO
* @Description
* @Author kavin
* @Date 2024/1/24 16:45
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OrderPaymentDetailVO {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("订单创建时间")
private LocalDateTime paymentApplicationFormTime;
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private String statusMsg;
public String getStatusMsg(){
return OwnerRePaymentEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("付款倒计时 (秒)")
public Long paymentCountdown;
}
package com.clx.performance.vo.pc.loan.owner; package com.clx.performance.vo.pc.loan.owner;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -48,11 +49,11 @@ public class OwnerLoanRunWaterRecordVO { ...@@ -48,11 +49,11 @@ public class OwnerLoanRunWaterRecordVO {
@ApiModelProperty("流水类型 10:运单核销 20:借款") @ApiModelProperty("流水类型 10:运单核销 20:借款")
private Integer runningWaterType; private Integer runningWaterType;
@MoneyOutConvert
@ApiModelProperty("金额") @ApiModelProperty("金额")
private BigDecimal alterationBalance; private BigDecimal alterationBalance;
@MoneyOutConvert
@ApiModelProperty("账户余额") @ApiModelProperty("账户余额")
private BigDecimal accountBalance; private BigDecimal accountBalance;
......
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
/**
* @ClassName TransferPaymentDetailVO
* @Description
* @Author kavin
* @Date 2024/1/24 16:57
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TransferPaymentDetailVO {
@ApiModelProperty("收款户名")
private String payee;
@ApiModelProperty("收款账号")
private String payeeAccount;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankNo;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private String statusMsg;
public String getStatusMsg(){
return OwnerRePaymentEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("付款倒计时 (秒)")
public Long paymentCountdown;
}
...@@ -22,6 +22,10 @@ import java.util.stream.Collectors; ...@@ -22,6 +22,10 @@ import java.util.stream.Collectors;
@ConfigurationProperties(prefix = "clx" ) // 配置 文件的前缀 @ConfigurationProperties(prefix = "clx" ) // 配置 文件的前缀
public class ClxPayeeConfig { public class ClxPayeeConfig {
//鑫祥和网络科技有限公司 配置ID
public static final String XXH_ID = "1";
// 这里的名字要和yml中的对应字段名称一致 // 这里的名字要和yml中的对应字段名称一致
private static Map<String,PayeeConfig> payeeMap = new TreeMap<>(); private static Map<String,PayeeConfig> payeeMap = new TreeMap<>();
...@@ -41,6 +45,8 @@ public class ClxPayeeConfig { ...@@ -41,6 +45,8 @@ public class ClxPayeeConfig {
public static class PayeeConfig { public static class PayeeConfig {
private String name; private String name;
private String account; private String account;
private String bank;
private String bankNo;
private String id; private String id;
} }
......
...@@ -13,5 +13,8 @@ public class NbBankConfig { ...@@ -13,5 +13,8 @@ public class NbBankConfig {
private String appKey = "77667c76_3503_4c04_95f7_fc10938c7942"; private String appKey = "77667c76_3503_4c04_95f7_fc10938c7942";
private String merId = "EFT33021200556315"; private String merId = "EFT33021200556315";
private String file;
private String publicKeyPath;
private String privateKeyPath;
} }
...@@ -6,8 +6,8 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam ...@@ -6,8 +6,8 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.service.loan.OwnerLoanRecordService; import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRecordDetail;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -30,8 +30,9 @@ public class CarrierOwnerLoanRecordController { ...@@ -30,8 +30,9 @@ public class CarrierOwnerLoanRecordController {
private final OwnerLoanRecordService ownerLoanRecordService; private final OwnerLoanRecordService ownerLoanRecordService;
@ApiOperation(value = "借款列表",notes = "<br>By:刘海泉") @ApiOperation(value = "借款审批列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRecord") @PostMapping("/pageOwnerLoanRecord")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecord(@RequestBody @Validated PageCarrierOwnerLoanRecordParam param) { public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecord(@RequestBody @Validated PageCarrierOwnerLoanRecordParam param) {
IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecord(param); IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecord(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
...@@ -51,12 +52,4 @@ public class CarrierOwnerLoanRecordController { ...@@ -51,12 +52,4 @@ public class CarrierOwnerLoanRecordController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
@ApiOperation(value = "借款详情",notes = "<br>By:刘海泉")
@PostMapping("/getOwnerLoanRecordDetail")
public Result<OwnerLoanRecordDetail> getOwnerLoanRecordDetail() {
OwnerLoanRecordDetail detail = ownerLoanRecordService.getOwnerLoanRecordDetail();
return Result.ok(detail);
}
} }
...@@ -5,6 +5,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerPaymentParam; ...@@ -5,6 +5,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerPaymentParam;
import com.clx.performance.service.loan.OwnerPaymentService; import com.clx.performance.service.loan.OwnerPaymentService;
import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -29,6 +30,7 @@ public class CarrierOwnerPaymentController { ...@@ -29,6 +30,7 @@ public class CarrierOwnerPaymentController {
@ApiOperation(value = "付款列表",notes = "<br>By:刘海泉") @ApiOperation(value = "付款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerPayment") @PostMapping("/pageOwnerPayment")
@UnitCovert(param = false)
public Result<PageData<OwnerPaymentVO>> pageOwnerPayment(@RequestBody @Validated PageCarrierOwnerPaymentParam param) { public Result<PageData<OwnerPaymentVO>> pageOwnerPayment(@RequestBody @Validated PageCarrierOwnerPaymentParam param) {
IPage<OwnerPaymentVO> page = ownerPaymentService.pageOwnerPayment(param); IPage<OwnerPaymentVO> page = ownerPaymentService.pageOwnerPayment(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
......
...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner; ...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.service.loan.OwnerRepaymentService; import com.clx.performance.service.loan.OwnerRepaymentService;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -31,6 +32,7 @@ public class CarrierOwnerRepaymentController { ...@@ -31,6 +32,7 @@ public class CarrierOwnerRepaymentController {
@ApiOperation(value = "还款列表",notes = "<br>By:刘海泉") @ApiOperation(value = "还款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerRepayment") @PostMapping("/pageOwnerRepayment")
@UnitCovert(param = false)
public Result<PageData<OwnerRepaymentVO>> pageOwnerRepayment(@RequestBody @Validated PageCarrierOwnerRepaymentParam param) { public Result<PageData<OwnerRepaymentVO>> pageOwnerRepayment(@RequestBody @Validated PageCarrierOwnerRepaymentParam param) {
IPage<OwnerRepaymentVO> page = ownerRepaymentService.pageOwnerRepayment(param); IPage<OwnerRepaymentVO> page = ownerRepaymentService.pageOwnerRepayment(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
......
...@@ -5,6 +5,7 @@ import com.clx.performance.service.loan.OwnerLoanAccountApproveService; ...@@ -5,6 +5,7 @@ import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountService; import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.service.loan.OwnerLoanRecordService; import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/pc/carrier/ownerLoanAccountApprove") @RequestMapping(value="/pc/owner/loanAccountApprove")
@Validated @Validated
@Api(tags = "货主端-资金管理") @Api(tags = "货主端-资金管理")
@AllArgsConstructor @AllArgsConstructor
...@@ -47,6 +48,7 @@ public class OwnerLoanAccountController { ...@@ -47,6 +48,7 @@ public class OwnerLoanAccountController {
@ApiOperation(value = "货主借款账户信息",notes = "<br>By:刘海泉") @ApiOperation(value = "货主借款账户信息",notes = "<br>By:刘海泉")
@GetMapping("/getOwnerLoanAccount") @GetMapping("/getOwnerLoanAccount")
@UnitCovert(param = false)
public Result<OwnerLoanAccountVO> getOwnerLoanAccount() { public Result<OwnerLoanAccountVO> getOwnerLoanAccount() {
OwnerLoanAccountVO ownerLoanAccountVO = ownerLoanAccountService.getOwnerLoanAccount(); OwnerLoanAccountVO ownerLoanAccountVO = ownerLoanAccountService.getOwnerLoanAccount();
return Result.ok(ownerLoanAccountVO); return Result.ok(ownerLoanAccountVO);
......
...@@ -7,6 +7,7 @@ import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam; ...@@ -7,6 +7,7 @@ import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService; import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO; import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -25,7 +26,7 @@ import java.util.List; ...@@ -25,7 +26,7 @@ import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/pc/carrier/ownerLoanRunWaterRecord") @RequestMapping(value="/pc/owner/loanRunWaterRecord")
@Validated @Validated
@Api(tags = "货主端-货主借款账户管理") @Api(tags = "货主端-货主借款账户管理")
@AllArgsConstructor @AllArgsConstructor
...@@ -36,6 +37,7 @@ public class OwnerLoanAccountRunningWaterRecordController { ...@@ -36,6 +37,7 @@ public class OwnerLoanAccountRunningWaterRecordController {
@ApiOperation(value = "货主账户流水",notes = "<br>By:刘海泉") @ApiOperation(value = "货主账户流水",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRunWaterRecord") @PostMapping("/pageOwnerLoanRunWaterRecord")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanRunWaterRecordVO>> pageOwnerLoanRunWaterRecord(@RequestBody @Validated PageOwnerLoanRunWaterRecordParam param) { public Result<PageData<OwnerLoanRunWaterRecordVO>> pageOwnerLoanRunWaterRecord(@RequestBody @Validated PageOwnerLoanRunWaterRecordParam param) {
IPage<OwnerLoanRunWaterRecordVO> page = ownerLoanAccountRunningWaterRecordService.pageOwnerLoanRunWaterRecord(param); IPage<OwnerLoanRunWaterRecordVO> page = ownerLoanAccountRunningWaterRecordService.pageOwnerLoanRunWaterRecord(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
......
package com.clx.performance.controller.pc.loan.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRecordDetail;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/owner/loanRecord")
@Validated
@Api(tags = "货主端-借款管理")
@AllArgsConstructor
public class OwnerLoanRecordController {
private final OwnerLoanRecordService ownerLoanRecordService;
@ApiOperation(value = "分页搜索货主借款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRecordOfOwner")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecordOfOwner(@RequestBody @Validated PageOwnerLoanRecordOfOwner param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecordOfOwner(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "借款详情",notes = "<br>By:刘海泉")
@PostMapping("/getOwnerLoanRecordDetail")
public Result<OwnerLoanRecordDetail> getOwnerLoanRecordDetail() {
OwnerLoanRecordDetail detail = ownerLoanRecordService.getOwnerLoanRecordDetail();
return Result.ok(detail);
}
}
package com.clx.performance.controller.pc.loan.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.param.pc.loan.owner.ExportPaymentApplicationFormParam;
import com.clx.performance.service.loan.OwnerRepaymentService;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.clx.performance.vo.pc.loan.owner.CashierInfoVO;
import com.clx.performance.vo.pc.loan.owner.OrderPaymentDetailVO;
import com.clx.performance.vo.pc.loan.owner.TransferPaymentDetailVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
@Slf4j
@RestController
@RequestMapping(value="/pc/owner/ownerRepayment")
@Validated
@Api(tags = "货主端-货主借款账户管理(申请借款)")
@AllArgsConstructor
public class OwnerRepaymentController {
private final OwnerRepaymentService ownerRepaymentService;
@ApiOperation(value = "还款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerRepayment")
@UnitCovert(param = false)
public Result<PageData<OwnerRepaymentVO>> pageOwnerRepayment(@RequestBody @Validated PageOwnerRepaymentOfOwner param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(String.valueOf(loginUserInfo.getUserNo()));
IPage<OwnerRepaymentVO> page = ownerRepaymentService.pageOwnerRepaymentOfOwner(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "收银台信息",notes = "<br>By:刘海泉")
@GetMapping("/getCashierInfo")
@UnitCovert(param = false)
public Result<CashierInfoVO> getCashierInfo(@Param("id") @NotNull(message = "id不能为空") Integer id) {
CashierInfoVO vo = ownerRepaymentService.getCashierInfo(id);
return Result.ok(vo);
}
@ApiOperation(value = "订单支付详情",notes = "<br>By:刘海泉")
@GetMapping("/getOrderPaymentDetail")
@UnitCovert(param = false)
public Result<OrderPaymentDetailVO> getOrderPaymentDetail(@Param("id") @NotNull(message = "id不能为空") Integer id) {
OrderPaymentDetailVO vo = ownerRepaymentService.getOrderPaymentDetail(id);
return Result.ok(vo);
}
@ApiOperation(value = "转账支付详情",notes = "<br>By:刘海泉")
@GetMapping("/getTransferPaymentDetail")
@UnitCovert(param = false)
public Result<TransferPaymentDetailVO> getTransferPaymentDetail(@Param("id") @NotNull(message = "id不能为空") Integer id) {
TransferPaymentDetailVO vo = ownerRepaymentService.getTransferPaymentDetail(id);
return Result.ok(vo);
}
@ApiOperation(value = "生成付款申请单",notes = "<br>By:刘海泉")
@GetMapping("/savePaymentApplicationForm")
public Result<String> savePaymentApplicationForm(@RequestBody @Validated ExportPaymentApplicationFormParam param) {
String url = ownerRepaymentService.savePaymentApplicationForm(param);
return Result.ok(url);
}
}
package com.clx.performance.model.loan; package com.clx.performance.model.loan;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
...@@ -29,57 +28,57 @@ public class OwnerLoanAccountRunningWaterRecord implements HasKey<Integer> { ...@@ -29,57 +28,57 @@ public class OwnerLoanAccountRunningWaterRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ExcelProperty("货主编码")
@TableField("owner_user_no") @TableField("owner_user_no")
@ApiModelProperty("货主编码") @ApiModelProperty("货主编码")
private Long ownerUserNo; private Long ownerUserNo;
@ExcelProperty("货主名称")
@TableField("owner_user_name") @TableField("owner_user_name")
@ApiModelProperty("货主名称") @ApiModelProperty("货主名称")
private String ownerUserName; private String ownerUserName;
@ExcelProperty("联系电话")
@TableField("mobile") @TableField("mobile")
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
private String mobile; private String mobile;
@ExcelProperty("流水号")
@TableField("running_water_no") @TableField("running_water_no")
@ApiModelProperty("流水号") @ApiModelProperty("流水号")
private Long runningWaterNo; private Long runningWaterNo;
@ExcelProperty("借款单号")
@TableField("loan_no") @TableField("loan_no")
@ApiModelProperty("借款单号") @ApiModelProperty("借款单号")
private Long loanNo; private Long loanNo;
@ExcelProperty("运单编号")
@TableField("child_no") @TableField("child_no")
@ApiModelProperty("运单编号") @ApiModelProperty("运单编号")
private String childNo; private String childNo;
@ExcelProperty("流水类型")
@TableField("running_water_type") @TableField("running_water_type")
@ApiModelProperty("流水类型 70:运单核销 80:借款") @ApiModelProperty("流水类型 70:运单核销 80:借款")
private Integer runningWaterType; private Integer runningWaterType;
@ExcelProperty("金额")
@TableField("alteration_balance") @TableField("alteration_balance")
@ApiModelProperty("金额") @ApiModelProperty("金额")
private BigDecimal alterationBalance; private BigDecimal alterationBalance;
@ExcelProperty("账户余额")
@TableField("account_balance") @TableField("account_balance")
@ApiModelProperty("账户余额") @ApiModelProperty("账户余额")
private BigDecimal accountBalance; private BigDecimal accountBalance;
@ExcelProperty("操作人")
@TableField("create_by") @TableField("create_by")
@ApiModelProperty("创建人") @ApiModelProperty("创建人")
private String createBy; private String createBy;
@ExcelProperty("操作时间")
@TableField("create_time") @TableField("create_time")
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
......
...@@ -72,9 +72,9 @@ public class OwnerLoanRecord implements HasKey<Integer> { ...@@ -72,9 +72,9 @@ public class OwnerLoanRecord implements HasKey<Integer> {
@ApiModelProperty("借出方") @ApiModelProperty("借出方")
private String lendingParty; private String lendingParty;
@TableField("payment_account") @TableField("lending_party_account")
@ApiModelProperty("付款账户") @ApiModelProperty("借出方账户")
private String paymentAccount; private String lendingPartyAccount;
@TableField("payee") @TableField("payee")
@ApiModelProperty("收款方") @ApiModelProperty("收款方")
......
...@@ -64,6 +64,21 @@ public class OwnerRepayment implements HasKey<Integer> { ...@@ -64,6 +64,21 @@ public class OwnerRepayment implements HasKey<Integer> {
@ApiModelProperty("付款账户") @ApiModelProperty("付款账户")
private String paymentAccount; private String paymentAccount;
@TableField("payment_application_form_time")
@ApiModelProperty("生成付款申请单时间")
private LocalDateTime paymentApplicationFormTime;
@TableField("remittance_identification_code")
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@TableField("goods_name")
@ApiModelProperty("货物名称")
private String goodsName;
@TableField("payee") @TableField("payee")
@ApiModelProperty("收款方") @ApiModelProperty("收款方")
private String payee; private String payee;
......
...@@ -55,7 +55,6 @@ public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoan ...@@ -55,7 +55,6 @@ public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoan
public List<OwnerLoanAccountRunWaterRecordDTO> exportOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param) { public List<OwnerLoanAccountRunWaterRecordDTO> exportOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
List<OwnerLoanAccountRunningWaterRecord> list = ownerLoanAccountRunningWaterRecordDao.listOwnerLoanRunWaterRecord(loginUserInfo.getUserNo(),param); List<OwnerLoanAccountRunningWaterRecord> list = ownerLoanAccountRunningWaterRecordDao.listOwnerLoanRunWaterRecord(loginUserInfo.getUserNo(),param);
return ownerLoanAccountRunningWaterRecordStruct.convertDTOList( return ownerLoanAccountRunningWaterRecordStruct.convertDTOList(list);
list);
} }
} }
...@@ -2,17 +2,27 @@ package com.clx.performance.service.impl.loan; ...@@ -2,17 +2,27 @@ package com.clx.performance.service.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.config.loan.ClxPayeeConfig;
import com.clx.performance.dao.loan.OwnerRepaymentDao; import com.clx.performance.dao.loan.OwnerRepaymentDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.loan.OwnerRepayment; import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam; import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.param.pc.loan.owner.ExportPaymentApplicationFormParam;
import com.clx.performance.service.loan.OwnerRepaymentService; import com.clx.performance.service.loan.OwnerRepaymentService;
import com.clx.performance.struct.loan.OwnerRepaymentStruct; import com.clx.performance.struct.loan.OwnerRepaymentStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.clx.performance.vo.pc.loan.owner.CashierInfoVO;
import com.clx.performance.vo.pc.loan.owner.OrderPaymentDetailVO;
import com.clx.performance.vo.pc.loan.owner.TransferPaymentDetailVO;
import com.msl.document.api.feign.ContractEvidenceFeign;
import com.msl.document.api.feign.ContractTemplateFeign;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -27,6 +37,8 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -27,6 +37,8 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
private final OwnerRepaymentDao ownerRepaymentDao; private final OwnerRepaymentDao ownerRepaymentDao;
private final OwnerRepaymentStruct ownerRepaymentStruct; private final OwnerRepaymentStruct ownerRepaymentStruct;
private final ContractEvidenceFeign contractEvidenceFeign;
private final ContractTemplateFeign contractTemplateFeign;
@Override @Override
public IPage<OwnerRepaymentVO> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param) { public IPage<OwnerRepaymentVO> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param) {
IPage<OwnerRepayment> page = ownerRepaymentDao.pageOwnerRepayment(param); IPage<OwnerRepayment> page = ownerRepaymentDao.pageOwnerRepayment(param);
...@@ -43,4 +55,58 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -43,4 +55,58 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
return ownerRepaymentDao.pageByParam(param); return ownerRepaymentDao.pageByParam(param);
} }
@Override
public CashierInfoVO getCashierInfo(Integer id) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
CashierInfoVO vo = ownerRepaymentStruct.convertCashierInfo(ownerRepayment);
//TODO 设置支付方式和付款账户 ,宇帆提供
return vo;
}
@Override
public OrderPaymentDetailVO getOrderPaymentDetail(Integer id) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
OrderPaymentDetailVO vo = ownerRepaymentStruct.convertOrderPaymentDetail(ownerRepayment);
//TODO 设置付款倒计时
vo.setPaymentCountdown(null);
return vo;
}
@Override
public TransferPaymentDetailVO getTransferPaymentDetail(Integer id) {
OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(id).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
ClxPayeeConfig.PayeeConfig payeeMap = ClxPayeeConfig.getPayeeMap(ClxPayeeConfig.XXH_ID);
//计算倒计时时间,下单时间 + 30天 为截止时间
LocalDateTime startTime = LocalDateTime.now();
LocalDateTime endTime = ownerRepayment.getPaymentApplicationFormTime().plusDays(30);
long seconds = Duration.between(startTime, endTime).getSeconds();
return TransferPaymentDetailVO.builder().payee(payeeMap.getName())
.payeeAccount(payeeMap.getAccount()).payeeBank(payeeMap.getBank()).payeeBankNo(payeeMap.getBankNo())
.repaymentBalance(ownerRepayment.getRepaymentBalance())
.remittanceIdentificationCode(ownerRepayment.getRemittanceIdentificationCode())
.status(ownerRepayment.getStatus()).paymentCountdown(seconds).build();
}
@Override
public String savePaymentApplicationForm(ExportPaymentApplicationFormParam param) {
/* OwnerRepayment ownerRepayment = ownerRepaymentDao.getEntityByKey(param.getId()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
OwnerRepaymentVO ownerRepaymentVO = ownerRepaymentStruct.convert(ownerRepayment);
Map<String,String> map = JSON.parseObject(JSONUtil.parse(ownerRepaymentVO).toString(), Map.class);
// 创建合同
GenerateContractParam feignParam = new GenerateContractParam();
feignParam.setTemplateNo(orderContractConfig.getTransportNo());
feignParam.setParametersValueMap(map);
Result<Long> longResult = contractTemplateFeign.generateContract(param);
Result<ContractEvidenceRecordVo> contractEvidenceDetail = contractEvidenceFeign.getContractEvidenceDetail(longResult.getData());*/
//return contractEvidenceDetail.getData().getFileUrl();
return null;
}
} }
...@@ -20,9 +20,12 @@ import org.springframework.transaction.annotation.Propagation; ...@@ -20,9 +20,12 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URL;
import java.util.HashMap; import java.util.HashMap;
import java.util.Objects; import java.util.Objects;
...@@ -40,7 +43,11 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -40,7 +43,11 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
private NbBankRecordDao nbBankRecordDao; private NbBankRecordDao nbBankRecordDao;
@PostConstruct @PostConstruct
public void bankInit(){ public void bankInit() throws IOException {
downloadUsingStream(nbBankConfig.getPublicKeyPath(), "/app/nbbank/bankPubKey.cer");
downloadUsingStream(nbBankConfig.getPrivateKeyPath(), "/app/nbbank/bankPrivateKey.sm2");
ClassPathResource classPathResource = new ClassPathResource("bank/config-nbbank.json"); ClassPathResource classPathResource = new ClassPathResource("bank/config-nbbank.json");
InputStream inputStream; InputStream inputStream;
try { try {
...@@ -54,6 +61,24 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -54,6 +61,24 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
} }
} }
/**
* 下载
*/
private static void downloadUsingStream(String urlStr, String file) throws IOException {
URL url = new URL(urlStr);
BufferedInputStream bis = new BufferedInputStream(url.openStream());
FileOutputStream fis = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int count=0;
while((count = bis.read(buffer,0,1024)) != -1)
{
fis.write(buffer, 0, count);
}
fis.close();
bis.close();
}
/** /**
* 下单 * 下单
* 5.5转账直连下单 * 5.5转账直连下单
......
...@@ -3,7 +3,11 @@ package com.clx.performance.service.loan; ...@@ -3,7 +3,11 @@ package com.clx.performance.service.loan;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam; import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.param.pc.loan.owner.ExportPaymentApplicationFormParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.clx.performance.vo.pc.loan.owner.CashierInfoVO;
import com.clx.performance.vo.pc.loan.owner.OrderPaymentDetailVO;
import com.clx.performance.vo.pc.loan.owner.TransferPaymentDetailVO;
/** /**
* @author kavin * @author kavin
...@@ -16,4 +20,11 @@ public interface OwnerRepaymentService { ...@@ -16,4 +20,11 @@ public interface OwnerRepaymentService {
IPage<OwnerRepaymentVO> pageOwnerRepaymentOfOwner(PageOwnerRepaymentOfOwner param); IPage<OwnerRepaymentVO> pageOwnerRepaymentOfOwner(PageOwnerRepaymentOfOwner param);
CashierInfoVO getCashierInfo(Integer id);
OrderPaymentDetailVO getOrderPaymentDetail(Integer id);
TransferPaymentDetailVO getTransferPaymentDetail(Integer id);
String savePaymentApplicationForm(ExportPaymentApplicationFormParam param);
} }
...@@ -17,7 +17,7 @@ public class OwnerLoanRecordSqlProvider { ...@@ -17,7 +17,7 @@ public class OwnerLoanRecordSqlProvider {
SELECT(" id, owner_user_no as ownerUserNo, owner_user_name as ownerUserName, mobile, " + SELECT(" id, owner_user_no as ownerUserNo, owner_user_name as ownerUserName, mobile, " +
" running_water_open_no as runningWaterOpenNo, " + " running_water_open_no as runningWaterOpenNo, " +
" loan_no as loanNo, loan_type as loanType, loan_balance as loanBalance, borrower, borrower_account as borrowerAccount, " + " loan_no as loanNo, loan_type as loanType, loan_balance as loanBalance, borrower, borrower_account as borrowerAccount, " +
" lending_party as lendingParty, payment_account as paymentAccount, payee, payee_account as payeeAccount, " + " lending_party as lendingParty, lending_party_account as lendingPartyAccount, payee, payee_account as payeeAccount, " +
" status, date_format(approve_time, '%Y-%m-%d %H:%i:%s') as approveTime, approve_by as approveBy, " + " status, date_format(approve_time, '%Y-%m-%d %H:%i:%s') as approveTime, approve_by as approveBy, " +
" reject_reason as rejectReason, date_format(loan_repayment_time, '%Y-%m-%d %H:%i:%s') as loanRepaymentTime, " + " reject_reason as rejectReason, date_format(loan_repayment_time, '%Y-%m-%d %H:%i:%s') as loanRepaymentTime, " +
" create_by as createBy, " + " create_by as createBy, " +
......
...@@ -4,8 +4,10 @@ import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO; ...@@ -4,8 +4,10 @@ import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord; import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO; import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
import org.mapstruct.IterableMapping;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.Named;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -15,13 +17,13 @@ public interface OwnerLoanAccountRunningWaterRecordStruct { ...@@ -15,13 +17,13 @@ public interface OwnerLoanAccountRunningWaterRecordStruct {
List<OwnerLoanRunWaterRecordVO> convertList(List<OwnerLoanAccountRunningWaterRecord> list); List<OwnerLoanRunWaterRecordVO> convertList(List<OwnerLoanAccountRunningWaterRecord> list);
@Named("toBaseVo")
// @Mapping(target = "runningWaterTypeMsg", source = "java(OwnerLoanAccountRunWaterRecordEnum.RunWaterType.getMsgByCode(record.getRunningWaterType()))")
@Mapping(target = "alterationBalance", expression = "java(Objects.isNull(record.getAlterationBalance())? null : record.getAlterationBalance().movePointLeft(2))") @Mapping(target = "alterationBalance", expression = "java(Objects.isNull(record.getAlterationBalance())? null : record.getAlterationBalance().movePointLeft(2))")
@Mapping(target = "accountBalance", expression = "java(Objects.isNull(record.getAccountBalance())? null : record.getAccountBalance().movePointLeft(2))") @Mapping(target = "accountBalance", expression = "java(Objects.isNull(record.getAccountBalance())? null : record.getAccountBalance().movePointLeft(2))")
@Mapping(target = "runningWaterTypeMsg", expression = "java(OwnerLoanAccountRunWaterRecordEnum.RunWaterType.getMsgByCode(record.getRunningWaterType()))")
OwnerLoanAccountRunWaterRecordDTO convertDTO(OwnerLoanAccountRunningWaterRecord record); OwnerLoanAccountRunWaterRecordDTO convertDTO(OwnerLoanAccountRunningWaterRecord record);
@IterableMapping(qualifiedByName = "toBaseVo")
List<OwnerLoanAccountRunWaterRecordDTO> convertDTOList(List<OwnerLoanAccountRunningWaterRecord> list); List<OwnerLoanAccountRunWaterRecordDTO> convertDTOList(List<OwnerLoanAccountRunningWaterRecord> list);
} }
...@@ -2,6 +2,8 @@ package com.clx.performance.struct.loan; ...@@ -2,6 +2,8 @@ package com.clx.performance.struct.loan;
import com.clx.performance.model.loan.OwnerRepayment; import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO; import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.clx.performance.vo.pc.loan.owner.CashierInfoVO;
import com.clx.performance.vo.pc.loan.owner.OrderPaymentDetailVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
...@@ -11,5 +13,12 @@ import java.util.Objects; ...@@ -11,5 +13,12 @@ import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class}) @Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface OwnerRepaymentStruct { public interface OwnerRepaymentStruct {
OwnerRepaymentVO convert(OwnerRepayment ownerRepayment);
List<OwnerRepaymentVO> convertList(List<OwnerRepayment> list); List<OwnerRepaymentVO> convertList(List<OwnerRepayment> list);
CashierInfoVO convertCashierInfo(OwnerRepayment ownerRepayment);
OrderPaymentDetailVO convertOrderPaymentDetail(OwnerRepayment ownerRepayment);
} }
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
{ {
"appKey": "77667c76_3503_4c04_95f7_fc10938c7942", "appKey": "77667c76_3503_4c04_95f7_fc10938c7942",
"publicUrl": "https://open-test.nbcb.com.cn/sit/nbcb/api", "publicUrl": "https://open-test.nbcb.com.cn/sit/nbcb/api",
"platfromPublicKeyPath": "http://clx-dev.oss-cn-beijing.aliyuncs.com/key%2FbankPubKey.cer?OSSAccessKeyId=LTAI5tGka8TGEMnVoXSYiiSV&Expires=1706153871&Signature=CljAwvJujlLAb2AWEnEsq%2FeZW18%3D", "platfromPublicKeyPath": "/app/nbbank/bankPubKey.cer",
"merchantPrivateKeyPath": "http://clx-dev.oss-cn-beijing.aliyuncs.com/key%2FbankPrivateKey.sm2?OSSAccessKeyId=LTAI5tGka8TGEMnVoXSYiiSV&Expires=1706153851&Signature=1PpHi1JWM6V5%2FA6b9n%2B8emBbzmg%3D", "merchantPrivateKeyPath":"/app/nbbank/bankPrivateKey.sm2",
"merchantPrivateKeyPwd":"cfca", "merchantPrivateKeyPwd":"cfca",
"connectTimeout": 10000, "connectTimeout": 10000,
"readTimeout": 30000, "readTimeout": 30000,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论