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

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118'

# Conflicts: # performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java # performance-web/src/main/java/com/clx/performance/service/impl/OwnerAccountServiceImpl.java # performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
...@@ -16,7 +16,8 @@ public enum OwnerAccountEnum { ...@@ -16,7 +16,8 @@ public enum OwnerAccountEnum {
@AllArgsConstructor @AllArgsConstructor
public enum AccountTypeStatus { public enum AccountTypeStatus {
MARGIN_ACCOUNT(1, "保证金账户"), MARGIN_ACCOUNT(1, "保证金账户"),
PREPAID_FREIGHT_ACCOUNT(2, "预付运费账户") PREPAID_FREIGHT_ACCOUNT(2, "预付运费账户"),
LOAN_ACCOUNT(3, "借款账户")
; ;
private final Integer code; private final Integer code;
private final String msg; private final String msg;
...@@ -44,6 +45,14 @@ public enum OwnerAccountEnum { ...@@ -44,6 +45,14 @@ public enum OwnerAccountEnum {
private final Integer code; private final Integer code;
private final String msg; private final String msg;
public static Optional<OwnerAccountEnum.TopUpStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(OwnerAccountEnum.TopUpStatus::getMsg).orElse(null);
}
} }
@Getter @Getter
......
...@@ -113,7 +113,46 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -113,7 +113,46 @@ public enum PerformanceResultEnum implements ResultEnum {
PASSWORD_RESET_IS_FAIL(1909, "重置密码出现异常"), PASSWORD_RESET_IS_FAIL(1909, "重置密码出现异常"),
PASSWORD_CHECK_FAIL(1910, "交易密码填写错误,请重新输入"), PASSWORD_CHECK_FAIL(1910, "交易密码填写错误,请重新输入"),
SLIDER_CHECK_FAIL(1911, "滑块验证错误"), SLIDER_CHECK_FAIL(1911, "滑块验证错误"),
ORDER_CHILD_SYNC_ERROR(1912, "承运同步网络货运异常"),
ORDER_CHILD_SYNC_ERROR(2001, "承运同步网络货运异常"),
BORROWER_NAME_EXIST(1701, "数据重复,请核实后重新提交"),
BORROWER_DELETE_ENABLE_ERROR(1702, "无法删除启用数据"),
BORROWER_CONFIG_BORROWER_ID_EXIST(1703, "数据重复,请核实后重新提交"),
BORROWER_CONFIG_DELETE_ENABLE_ERROR(1704, "无法删除启用数据"),
BORROWER_CONFIG_TYPE_NOT_SUPPORT_ERROR(1705, "借款类型不支持"),
BORROWER_CONFIG_DELETE_ENABLE_STATUS_ERROR(1706, "借款配置已禁用,不允许借款。"),
BORROWER_DELETE_ENABLE_STATUS_ERROR(1707, "借出方已禁用,不允许借款。"),
NB_BANK_API_ERROR(1800, "宁波银行api调用失败"),
NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"),
NB_BANK_PAY_TYPE_ERROR(1802, "支付方式不支持"),
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_WITHDRAWAL_IS_NULL(1914, "提现平台账户未配置"),
PLATFORM_ACCOUNT_CONFIG_WITHDRAWAL_MANY(1915, "提现平台账户配置不唯一"),
PLATFORM_ACCOUNT_CONFIG_RECHARGE_IS_NULL(1916, "充值平台账户未配置"),
PLATFORM_ACCOUNT_CONFIG_RECHARGE_MANY(1917, "充值平台账户配置不唯一"),
PLATFORM_ACCOUNT_CONFIG_IS_NULL(1918, "平台账户未配置"),
PLATFORM_ACCOUNT_CONFIG_MANY(1919, "平台账户配置不唯一"),
GET_LOAN_RECORD(1901, "货主借款失败"),
OWNER_ACCOUNT_ERROR(1902, "货主货款不足"),
OWNER_LOAN_RECORD_PAY_STATUS_ERROR(1850, "状态已变更无法支付"),
OWNER_LOAN_RECORD_CANCEL_STATUS_ERROR(1851, "状态已变更无法取消"),
OWNER_LOAN_RECORD_ADJUST_STATUS_ERROR(1852, "状态已变更无法核销"),
OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1853,"当前借款单状态不是待付款"),
OWNER_LOAN_PAYMENT_STATUS_ERROR(1854, "执行借款审批失败,请稍后重试"),
OWNER_LOAN_PAY_STATUS_ERROR(1855, "付款失败"),
DATA_STATUS_ERROR(1856, "当前状态有误")
PLATFORM_ACCOUNT_CONFIG_ONLY(1913, "当前配置已存在"), PLATFORM_ACCOUNT_CONFIG_ONLY(1913, "当前配置已存在"),
PLATFORM_ACCOUNT_CONFIG_WITHDRAWAL_IS_NULL(1914, "提现平台账户未配置"), PLATFORM_ACCOUNT_CONFIG_WITHDRAWAL_IS_NULL(1914, "提现平台账户未配置"),
......
...@@ -19,7 +19,9 @@ public enum RunningWaterTypeEnum { ...@@ -19,7 +19,9 @@ public enum RunningWaterTypeEnum {
TAKE_OUT(40, "扣除"), TAKE_OUT(40, "扣除"),
CASE_OUT_FROZEN(50, "提现冻结"), CASE_OUT_FROZEN(50, "提现冻结"),
CASE_OUT_SUCCESS(60, "提现成功"), CASE_OUT_SUCCESS(60, "提现成功"),
CASE_OUT_FAIL(70, "提现失败") CASE_OUT_FAIL(70, "提现失败"),
ORDER_CHILD_WRITE_OFF(80, "运单核销"),
LOAN(90, "借款"),
; ;
private final Integer code; private final Integer code;
private final String msg; private final String msg;
......
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum BankTradeEnum {
;
@Getter
@AllArgsConstructor
public enum TradeType {
ORDER_DIRECT_PAY(3, "订单支付"),
ORDER_TRANSFER_PAY(2, "转账支付"),
;
private final Integer code;
private final String msg;
public static Optional<TradeType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(TradeType::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum OrderType {
OWNER_LOAN_RECORD(1, "货主借款"),
OWNER_REPAYMENT_RECORD(2, "货主还款"),
;
private final Integer code;
private final String msg;
public static Optional<OrderType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(OrderType::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum BorrowerConfigEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
ENABLE(1, "启用"),
DISABLE(2, "禁用"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
@Getter
@AllArgsConstructor
public enum Type {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum BorrowerEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
ENABLE(1, "启用"),
DISABLE(2, "禁用"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum OwnerLoanAccountApproveEnum {
;
//“待审批 10,审批成功 20,审批拒绝 30
@Getter
@AllArgsConstructor
public enum Status {
APPROVE_WAIT(10, "待审批"),
APPROVE_PASS(20, "审批通过"),
APPROVE_REFUSE(30, "审批拒绝"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerLoanAccountApproveEnum.Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(OwnerLoanAccountApproveEnum.Status::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum OwnerLoanAccountRunningWaterRecordEnum {
;
@Getter
@AllArgsConstructor
public enum RunWaterType {
APPROVE_WAIT(80, "借款"),
APPROVE_FROZEN(90, "冻结"),
APPROVE_CHILD_WRITE_OFF(100, "运单抵扣"),
APPROVE_THAW(110, "解冻"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerLoanAccountRunningWaterRecordEnum.RunWaterType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(OwnerLoanAccountRunningWaterRecordEnum.RunWaterType::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum OwnerLoanRecordEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
APPROVE_WAIT(10, "待审批"),
PAY_WAIT(15, "待付款"),
APPROVE_PASS(20, "审批通过"),
APPROVE_REFUSE(30, "审批拒绝"),
PAYING(40, "付款中"),
PAY_SUCCESS(50, "付款成功"),
PAY_FAIL(60, "付款失败"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
//1:虚拟货币 2:资金
@Getter
@AllArgsConstructor
public enum LoanType {
VIRTUAL_CURRENCY(1, "虚拟货币"),
FUND(2, "资金"),
;
private final Integer code;
private final String msg;
public static Optional<LoanType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e ->Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(LoanType::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum LoanFlag {
NO_LOAN(0, "未借款"),
LOAN(1, "已借款"),
RE_PAY(2, "已还款"),
;
private final Integer code;
private final String msg;
public static Optional<LoanFlag> getByCode(Integer code) {
return Arrays.stream(values()).filter(e ->Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(LoanFlag::getMsg).orElse("无需借款");
}
}
@Getter
@AllArgsConstructor
public enum LoanTypeFlag {
V_F(0, "虚拟币+资金"),
VIRTUAL_CURRENCY(1, "虚拟币"),
FUND(2, "资金"),
;
private final Integer code;
private final String msg;
public static Optional<LoanTypeFlag> getByCode(Integer code) {
return Arrays.stream(values()).filter(e ->Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(LoanTypeFlag::getMsg).orElse("");
}
}
@Getter
@AllArgsConstructor
public enum PayChannel {
ORDER_DIRECT_PAY(1, "订单支付"),
ORDER_TRANSFER_PAY(2, "转账支付"),
ASSET(3,"财资")
;
private final Integer code;
private final String msg;
public static Optional<PayChannel> getByCode(Integer code) {
return Arrays.stream(values()).filter(e ->Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(PayChannel::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum OwnerPaymentEnum {
;
//“待付款”,“付款中”,“付款成功”,“付款失败”
@Getter
@AllArgsConstructor
public enum Status {
PAY_WAIT(10, "待付款"),
PAYING(40, "付款中"),
PAY_SUCCESS(50, "付款成功"),
PAY_FAIL(60, "付款失败"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerPaymentEnum.Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(OwnerPaymentEnum.Status::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum OwnerRePaymentEnum {
;
//“待付款”,“付款中”,“付款成功”,“付款失败”
@Getter
@AllArgsConstructor
public enum Status {
PAY_WAIT(10, "待付款"),
PAYING(40, "付款中"),
PAY_SUCCESS(50, "付款成功"),
PAY_FAIL(60, "付款失败"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerRePaymentEnum.Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(OwnerRePaymentEnum.Status::getMsg).orElse(null);
}
}
//10 未逾期 20 已逾期
@Getter
@AllArgsConstructor
public enum BeOverdue {
NO(10, "未逾期"),
YES(20, "已逾期"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerRePaymentEnum.BeOverdue> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code , code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(OwnerRePaymentEnum.BeOverdue::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.nbbank;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum NbBankRecordEnum {
;
@Getter
@AllArgsConstructor
public enum Type {
DIRECT_BANK_TRANSFER_ORDER(1, "转账直连下单"),
UNION_PAY_DIRECT_ORDER(2, "银联订单支付收款模式"),
QUERY_ORDER(3, "交易结果查询"),
NOTIFY_MERCHANT(4, "异步通知交易结果"),
FUND_TRANSFER_ORDER(5, "云账簿资金划转"),
REFUND(6, "退款"),
;
private final Integer code;
private final String msg;
public static Optional<Type> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(Type::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.nbbank;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum NbBankStatusEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
TEMP(0, "中间态"),
SUCCESS(1, "交易成功"),
FAIL(2, "交易失败"),
ACCEPT(3, "交易已受理"),
INIT(4, "订单初始状态"),
NOT_FOUND(5, "交易不存在"),
TIMEOUT(6, "交易超时,须发起交易结果查询"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
}
...@@ -11,6 +11,7 @@ import com.clx.performance.vo.app.collect.AppCollectTruckVO; ...@@ -11,6 +11,7 @@ import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.clx.performance.vo.feign.FreightEstimateVO; import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OwnerAccountAllVO; import com.clx.performance.vo.pc.OwnerAccountAllVO;
import com.clx.performance.vo.pc.OwnerLoanAccountVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO; import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
...@@ -111,4 +112,7 @@ public interface PerformanceFeign { ...@@ -111,4 +112,7 @@ public interface PerformanceFeign {
@PostMapping(value = {"clx-performance/feign/orderGoods/listFreightEstimate"}) @PostMapping(value = {"clx-performance/feign/orderGoods/listFreightEstimate"})
Result<FreightEstimateVO> listFreightEstimate(@RequestBody OrderChildReportParam param); Result<FreightEstimateVO> listFreightEstimate(@RequestBody OrderChildReportParam param);
@GetMapping(value = {"clx-performance/feign/owner/loanAccount"})
Result<OwnerLoanAccountVO> loanAccount(@RequestParam Long userNo);
} }
package com.clx.performance.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class OwnerBankNotifyMqParam {
@NotNull(message = "流水号不能为空")
@ApiModelProperty("流水号")
private String merSeqNo;
@ApiModelProperty("支付状态")
private Integer payStatus;
}
...@@ -20,6 +20,9 @@ public class OwnerBindCardParam { ...@@ -20,6 +20,9 @@ public class OwnerBindCardParam {
@ApiModelProperty(value = "开户行") @ApiModelProperty(value = "开户行")
private String ownerOpenBank; private String ownerOpenBank;
@ApiModelProperty(value = "开户行号")
private String ownerOpenBankNumber;
@ApiModelProperty(value = "户名") @ApiModelProperty(value = "户名")
private String ownerAccountName; private String ownerAccountName;
......
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerAddParam {
@ApiModelProperty(value = "借出方", example = "张三")
@NotBlank(message = "借出方不能为空")
private String name;
@ApiModelProperty(value = "所属银行", example = "工商银行")
@NotBlank(message = "所属银行不能为空")
private String bankName;
@ApiModelProperty(value = "银行账号", example = "10000000000000000")
@NotBlank(message = "银行账号不能为空")
private String bankCardNo;
@ApiModelProperty(value = "开户行行号", example = "313332082914")
@NotBlank(message = "开户行行号不能为空")
private String openBankId;
@ApiModelProperty(value = "开户行", example = "宁波银行")
@NotBlank(message = "开户行不能为空")
private String openBankName;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerConfigAddParam {
@ApiModelProperty(value = "借出方id", example = "1")
@NotNull(message = "借出方id不能为空")
private Integer borrowerId;
@ApiModelProperty(value = "类型:1虚拟货币 2 资金", example = "1")
@NotNull(message = "类型不能为空")
private Integer type;
@ApiModelProperty(value = "借款天数", example = "1")
@NotNull(message = "借款天数不能为空")
@Max(value = 365, message = "借款天数需小于等于365")
private Integer day;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerConfigDeleteUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerConfigStatusUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "1")
@NotNull(message = "状态不能为空")
private Integer status;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerConfigUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "借出方id", example = "1")
@NotNull(message = "借出方id不能为空")
private Integer borrowerId;
@ApiModelProperty(value = "类型:1虚拟货币 2 资金", example = "1")
@NotNull(message = "类型方不能为空")
private Integer type;
@ApiModelProperty(value = "借款天数", example = "1")
@NotNull(message = "借款天数不能为空")
@Max(value = 365, message = "借款天数需小于等于365")
private Integer day;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerDeleteUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerStatusUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "1")
@NotNull(message = "状态不能为空")
private Integer status;
}
package com.clx.performance.param.pc.loan.carrier;
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;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BorrowerUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "借出方", example = "张三")
@NotBlank(message = "借出方不能为空")
private String name;
@ApiModelProperty(value = "所属银行", example = "工商银行")
@NotBlank(message = "所属银行不能为空")
private String bankName;
@ApiModelProperty(value = "银行账号", example = "10000000000000000")
@NotBlank(message = "银行账号不能为空")
private String bankCardNo;
@ApiModelProperty(value = "开户行行号", example = "313332082914")
@NotBlank(message = "开户行行号不能为空")
private String openBankId;
@ApiModelProperty(value = "开户行", example = "宁波银行")
@NotBlank(message = "开户行不能为空")
private String openBankName;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CarrierOwnerLoanRecordApproveParam {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("1:同意 0:拒绝")
private Boolean status;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("1:虚拟货币 2:资金")
private Integer loanType;
@ApiModelProperty("支付通道:1订单支付 2转账支付")
private Integer payChannel;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CarrierOwnerLoanRecordPayCancelParam {
@ApiModelProperty("借款单号")
private Long loanNo;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CarrierOwnerLoanRecordPayParam {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("支付通道:1订单支付 2转账支付")
private Integer payChannel;
}
package com.clx.performance.param.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CarrierOwnerLoanRecordRepayParam {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("支付通道:1订单支付 2转账支付")
private Integer payChannel;
}
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.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class OwnerRepaymentParam {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("支付通道:1订单支付 2转账支付")
private Integer payChannel;
}
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageBorrowerConfigParam extends PageParam {
@ApiModelProperty(value = "借出方", example = "张三")
private String borrowerName;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "")
private Integer status;
}
\ No newline at end of file
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageBorrowerParam extends PageParam {
@ApiModelProperty(value = "借出方", example = "张三")
private String name;
}
\ No newline at end of file
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;
/**
* @ClassName PageCarrierOwnerLoanRecordParam
* @Description
* @Author kavin
* @Date 2024/1/20 17:31
* @Version 1.0
*/
@Getter
@Setter
public class PageCarrierOwnerLoanRecordParam extends PageParam {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主姓名")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("借款类型 1:虚拟货币 2:资金")
private Integer loanType;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
}
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;
/**
* @ClassName PageCarrierOwnerRepaymentParam
* @Description
* @Author kavin
* @Date 2024/1/20 15:14
* @Version 1.0
*/
@Getter
@Setter
public class PageCarrierOwnerPaymentParam extends PageParam {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("付款单号")
private Long paymentNo;
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
}
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 java.util.List;
/**
* @ClassName PageCarrierOwnerRepaymentParam
* @Description
* @Author kavin
* @Date 2024/1/20 15:14
* @Version 1.0
*/
@Getter
@Setter
public class PageCarrierOwnerRepaymentParam extends PageParam {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@ApiModelProperty("10 未逾期 20 已逾期")
private Integer beOverdue;
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private List<Integer> inStatusList;
}
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;
/**
* @ClassName PageOwnerLoanAccountApproveParam
* @Description
* @Author kavin
* @Date 2024/1/20 17:57
* @Version 1.0
*/
@Getter
@Setter
public class PageOwnerLoanAccountApproveParam extends PageParam {
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("待审批 10,审批成功 20,审批拒绝 30")
private Integer status;
}
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOwnerLoanAccountParam extends PageParam {
@ApiModelProperty(value = "货主编码", example = "10000000")
private Long ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "张三")
private String ownerUserName;
@ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile;
}
\ No newline at end of file
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOwnerLoanAccountWaterRecordOfOwnerParam extends PageParam {
@ApiModelProperty(value = "货主编码", example = "10000000")
private Long ownerUserNo;
@ApiModelProperty(value = "流水号", example = "100000")
private String runningWaterNo;
@ApiModelProperty(value = "运单编号", example = "10000")
private String childNo;
@ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private Integer runningWaterType;
}
\ No newline at end of file
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOwnerLoanRecordOfOwner extends PageParam {
@ApiModelProperty(value = "货主编码", example = "10000000")
private Long ownerUserNo;
@ApiModelProperty(value = "借款单号", example = "100000000")
private Long loanNo;
@ApiModelProperty(value = "交易流水号(第三方)", example = "11000000000")
private String runningWaterOpenNo;
@ApiModelProperty(value = "借款类型 1:虚拟货币 2:资金", example = "1")
private Integer loanType;
@ApiModelProperty(value = "10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ", example = "1")
private Integer status;
}
\ No newline at end of file
package com.clx.performance.param.pc.loan.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOwnerRepaymentOfOwner extends PageParam {
@ApiModelProperty(value = "货主编码", example = "10000000")
private String ownerUserNo;
@ApiModelProperty(value = "还款单号", example = "100000000")
private String repaymentNo;
@ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile;
@ApiModelProperty(value = "借款单号", example = "100000000")
private Long loanNo;
@ApiModelProperty(value = "10 待付款 40 付款中 50 付款成功 60 付款失败", example = "10")
private Integer status;
@ApiModelProperty(value = "10 未逾期 20 已逾期", example = "10")
private Integer beOverdue;
}
\ No newline at end of file
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("支付渠道 1 订单支付 2 转账支付")
@NotNull(message = "支付渠道不能为空")
private Integer payWay;
}
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 = "借出方ID", example = "伟华煤炭运销公司")
@NotNull(message = "借出方ID不能为空")
private Integer borrowerId;
@ApiModelProperty(value = "借出方", example = "诚联信网络科技有限公司")
@NotBlank(message = "借出方不能为空")
private String borrower;
@ApiModelProperty(value = "收款方")
private String payee;
@ApiModelProperty(value = "收款方账户")
private String payeeAccount;
@ApiModelProperty(value = "借款方", example = "伟华煤炭运销公司")
@NotBlank(message = "借款方不能为空")
private String lendingParty;
@ApiModelProperty(value = "借款方账户", example = "诚联信银行账户")
@NotBlank(message = "借款方不能为空")
private String lendingPartyAccount;
@ApiModelProperty(value = "借出时效(天)", example = "2")
@NotNull(message = "借出时效(天)不能为空")
private Integer expireDay;
}
package com.clx.performance.param.pc.loan.owner;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName PageOwnerLoanRunWaterRecordParam
* @Description
* @Author kavin
* @Date 2024/1/23 13:24
* @Version 1.0
*/
@Getter
@Setter
public class PageOwnerLoanRunWaterRecordParam extends PageParam {
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("流水号")
private String runningWaterNo;
@ApiModelProperty("流水类型")
private Integer runningWaterType;
@ApiModelProperty("开始时间")
private String beginTime;
@ApiModelProperty("结束时间")
private String endTime;
}
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class OwnerLoanAccountVO {
private Integer id;
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("账户类型: 默认3 借款账户")
private Integer accountType;
@ApiModelProperty("资金金额")
private BigDecimal fundingAmount;
@ApiModelProperty("虚拟币金额")
private BigDecimal virtuallyAmount;
@ApiModelProperty("资金欠款")
private BigDecimal fundingArrears;
@ApiModelProperty("虚拟币欠款")
private BigDecimal virtuallyArrears;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
}
...@@ -61,6 +61,12 @@ public class CarrierPageSettlementDriverDetailVO { ...@@ -61,6 +61,12 @@ public class CarrierPageSettlementDriverDetailVO {
private BigDecimal prepayFreight; private BigDecimal prepayFreight;
@ApiModelProperty(value = "预付运费标示 0:未预付 1:已预付") @ApiModelProperty(value = "预付运费标示 0:未预付 1:已预付")
private Integer prepayFreightFlag; private Integer prepayFreightFlag;
@ApiModelProperty(value = "借款标示 0:未借款 1:已借款 2:已还款")
private Integer loanFlag;
@ApiModelProperty(value = "借款标示 0:未借款 1:已借款 2:已还款")
private String loanFlagMsg;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "结算金额") @ApiModelProperty(value = "结算金额")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
......
...@@ -60,6 +60,12 @@ public class CarrierPageSettlementDriverVO { ...@@ -60,6 +60,12 @@ public class CarrierPageSettlementDriverVO {
private BigDecimal prepayFreight; private BigDecimal prepayFreight;
@ApiModelProperty(value = "预付运费标示 0:未预付 1:已预付") @ApiModelProperty(value = "预付运费标示 0:未预付 1:已预付")
private Integer prepayFreightFlag; private Integer prepayFreightFlag;
@ApiModelProperty(value = "借款标示 0:未借款 1:已借款 2:已还款")
private Integer loanFlag;
@ApiModelProperty(value = "借款标示 0:未借款 1:已借款 2:已还款")
private String loanFlagMsg;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "结算金额") @ApiModelProperty(value = "结算金额")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
......
...@@ -69,9 +69,11 @@ public class CarrierPageSettlementOwnerDetailVO { ...@@ -69,9 +69,11 @@ public class CarrierPageSettlementOwnerDetailVO {
private BigDecimal invoiceFreight; private BigDecimal invoiceFreight;
@ApiModelProperty(value = "开票标识:1网运单 2普通单") @ApiModelProperty(value = "开票标识:1网运单 2普通单")
private Integer invoiceType; private Integer invoiceType;
@MoneyOutConvert
@ApiModelProperty(value = "借款抵扣金额")
private BigDecimal loanFreight;
@ApiModelProperty("结算方式 1装车净重 2卸车净重") @ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay; private Integer settlementWay;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createTime; private String createTime;
......
...@@ -46,6 +46,9 @@ public class CarrierPageSettlementOwnerVO { ...@@ -46,6 +46,9 @@ public class CarrierPageSettlementOwnerVO {
@ApiModelProperty(value = "结算金额") @ApiModelProperty(value = "结算金额")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "借款金额")
private BigDecimal loanFreight;
@MoneyOutConvert
@ApiModelProperty(value = "开票金额") @ApiModelProperty(value = "开票金额")
private BigDecimal invoiceFreight; private BigDecimal invoiceFreight;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
......
...@@ -65,6 +65,10 @@ public class CarrierSettlementOwnerDetailVO { ...@@ -65,6 +65,10 @@ public class CarrierSettlementOwnerDetailVO {
@MoneyOutConvert @MoneyOutConvert
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
@ApiModelProperty(value = "借款金额(元)", example = "1.23")
@MoneyOutConvert
private BigDecimal loanFreight;
@ApiModelProperty(value = "开票标识:1网运单 2普通单", example = "1") @ApiModelProperty(value = "开票标识:1网运单 2普通单", example = "1")
private Integer invoiceTypeCode; private Integer invoiceTypeCode;
......
package com.clx.performance.vo.pc.loan.carrier;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 借款配置
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@ApiModel(description = "借款配置")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BorrowerConfigVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "借出方id", example = "")
private Integer borrowerId;
@ApiModelProperty(value = "借出方", example = "")
private String borrowerName;
@ApiModelProperty(value = "类型:1虚拟货币 2 资金", example = "")
private Integer type;
@ApiModelProperty(value = "借款天数", example = "")
private Integer day;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "")
private Integer status;
@ApiModelProperty(value = "操作人编码", example = "1000")
private Long opUserNo;
@ApiModelProperty(value = "操作人", example = "张三")
private String opUserName;
@ApiModelProperty(value = "操作时间", example = "")
private String opTime;
@ApiModelProperty(value = "创建人编号", example = "1000000")
private Long createBy;
@ApiModelProperty(value = "创建人名称", example = "张三")
private String createName;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@ApiModel(description = "借出方")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BorrowerVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "借出方", example = "1")
private String name;
@ApiModelProperty(value = "所属银行", example = "工商银行")
private String bankName;
@ApiModelProperty(value = "银行账号", example = "1111111111111111")
private String bankCardNo;
@ApiModelProperty(value = "开户行行号", example = "313332082914")
private String openBankId;
@ApiModelProperty(value = "开户行", example = "宁波银行")
private String openBankName;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "1")
private Integer status;
@ApiModelProperty(value = "操作人编码", example = "1000000")
private Long opUserNo;
@ApiModelProperty(value = "操作人", example = "张三")
private String opUserName;
@ApiModelProperty(value = "操作时间", example = "")
private String opTime;
@ApiModelProperty(value = "创建人编号", example = "1000000")
private Long createBy;
@ApiModelProperty(value = "创建人名称", example = "张三")
private String createName;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
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 CarrierCashierInfoVO {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("货物名称")
private String goodsName;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal loanBalance;
@ApiModelProperty("是否有订单支付方式 true:有 false:没有")
private Boolean orderPayWay;
@ApiModelProperty("付款账户")
private String payAccount;
@ApiModelProperty("银行名称")
private String bankName;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.OwnerAccountEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 货主借款账户
* @Date: 2024/01/22 18:17:57
* @Version: 1.0
*/
@ApiModel(description = "货主借款账户")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierOwnerLoanAccountVO {
@ApiModelProperty(value = "货主编码", example = "10000000")
private Long ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "张三")
private String ownerUserName;
@ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile;
@ApiModelProperty(value = "默认 3:借款账户", example = "3")
private String accountType;
public String getAccountType(){
return OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getMsg();
}
@ApiModelProperty(value = "账户余额 (元) ", example = "1.23")
private BigDecimal amount;
public BigDecimal getAmount() {
return BigDecimal.ZERO.add(fundingAccountBalance==null? BigDecimal.ZERO : fundingAccountBalance).add(virtuallyAccountBalance==null? BigDecimal.ZERO : virtuallyAccountBalance);
}
@ApiModelProperty(value = "欠款金额 (元)", example = "1.23")
private BigDecimal arrears;
public BigDecimal getArrears() {
return BigDecimal.ZERO.add(fundingArrears==null? BigDecimal.ZERO : fundingArrears).add(virtuallyArrears==null? BigDecimal.ZERO : virtuallyArrears);
}
@ApiModelProperty(value = "创建人", example = "张三")
private String createBy;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@JsonIgnore
@ApiModelProperty(value = "资金账户余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingAccountBalance;
@JsonIgnore
@ApiModelProperty(value = "资金可用余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingUsableBalance;
@JsonIgnore
@ApiModelProperty(value = "资金冻结余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingFrozenBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币账户余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyAccountBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币可用余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyUsableBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币冻结余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyFrozenBalance;
@JsonIgnore
@ApiModelProperty(value = "资金欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal fundingArrears;
@JsonIgnore
@ApiModelProperty(value = "虚拟币欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyArrears;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
/**
* @ClassName OrderPaymentDetailVO
* @Description
* @Author kavin
* @Date 2024/1/24 16:45
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CarrierOwnerOrderPaymentDetailVO {
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("付款方(借款记录中的借出方为现在的付款方)")
private String payer;
@ApiModelProperty("付款账户(借款记录中的借出方账户为现在的付款方账户)")
private String payerAccount;
@ApiModelProperty(value = "收款方",example = "馨祥和")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal loanBalance;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanRecordEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("付款最终时间")
public String finalPaymentTime;
@ApiModelProperty("订单创建时间")
public String createTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CarrierOwnerPaymentVO{
private Integer id;
@ApiModelProperty("付款金额")
@MoneyOutConvert
private BigDecimal paymentBalance;
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
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 CarrierTransferPaymentDetailVO {
@ApiModelProperty("收款户名")
private String payee;
@ApiModelProperty("收款账号")
private String payeeAccount;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankNo;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal loanBalance;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@ApiModelProperty("订单支付状态 10 待付款 40 付款中 50 付款成功 60 付款失败")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanRecordEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("付款最后时间")
public String finalPaymentTime;
@ApiModelProperty("借款单号")
private Long loanNo;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Objects;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
@Getter
@Setter
public class ExportOwnerLoanRecordVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("借款单号")
private String loanNo;
@ApiModelProperty("借款类型 1:虚拟货币 2:资金")
private Integer loanType;
@ApiModelProperty("借款类型 虚拟货币 资金")
private String loanTypeMsg;
public String getLoanTypeMsg(){
return OwnerLoanRecordEnum.LoanType.getMsgByCode(loanType);
}
@ApiModelProperty("借款金额")
private BigDecimal loanBalance;
public BigDecimal getLoanBalance(){
return Objects.isNull(loanBalance)?BigDecimal.ZERO:loanBalance.movePointLeft(2);
}
@ApiModelProperty("借出方")
private String borrower;
@ApiModelProperty("借出方账户")
private String borrowerAccount;
@ApiModelProperty("借出方银行")
private String borrowerBank;
@ApiModelProperty("借出方银行行号")
private String borrowerBankCode;
@ApiModelProperty("借款方")
private String lendingParty;
@ApiModelProperty("借款方账户")
private String lendingPartyAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankCode;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanRecordEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("审批时间")
private String approveTime;
@ApiModelProperty("审批人")
private String approveBy;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("借款归还时间")
private String loanRepaymentTime;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private Integer payChannel;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerLoanRecordEnum.PayChannel.getMsgByCode(payChannel);
}
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.OwnerAccountEnum;
import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
public class OwnerLoanAccountApproveVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("账户类型 默认3 借款账户")
private String accountType;
public String getAccountType(){
return OwnerAccountEnum.AccountTypeStatus.LOAN_ACCOUNT.getMsg();
}
@ApiModelProperty("待审批 10,审批成功 20,审批拒绝 30")
private Integer status;
@ApiModelProperty("待审批 审批成功 审批拒绝 ")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanAccountApproveEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("审批时间")
private String approveTime;
@ApiModelProperty("审批人")
private String approveBy;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 货主账户流水记录
* @Date: 2024/01/23 10:06:01
* @Version: 1.0
*/
@ApiModel(description = "货主账户流水记录")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OwnerLoanAccountRunningWaterRecordVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "货主编码", example = "1000000")
private String ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "张三")
private String ownerUserName;
@ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile;
@ApiModelProperty(value = "流水号", example = "100000")
private Long runningWaterNo;
@ApiModelProperty(value = "借款单号", example = "100000")
private Long loanNo;
@ApiModelProperty(value = "运单编号", example = "100000")
private String childNo;
@ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private Integer runningWaterType;
@ApiModelProperty(value = "流水类型 80:借款 90:冻结 100:运单抵扣 110:解冻", example = "10")
private String runningWaterTypeMsg;
public String getRunningWaterTypeMsg() {
return OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.getMsgByCode(runningWaterType);
}
@MoneyOutConvert
@ApiModelProperty(value = "金额", example = "1.23")
private BigDecimal alterationBalance;
@MoneyOutConvert
@ApiModelProperty(value = "可用余额", example = "1.23")
private BigDecimal useAbleBalance;
@MoneyOutConvert
@ApiModelProperty(value = "冻结余额", example = "1.23")
private BigDecimal frozenBalance;
@MoneyOutConvert
@ApiModelProperty(value = "账户余额", example = "1.23")
private BigDecimal accountBalance;
@ApiModelProperty(value = "创建人", example = "张三")
private String createBy;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
@Getter
@Setter
public class OwnerLoanRecordVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("借款单号")
private String loanNo;
@ApiModelProperty("借款类型 1:虚拟货币 2:资金")
private Integer loanType;
@ApiModelProperty("借款类型 虚拟货币 资金")
private String loanTypeMsg;
public String getLoanTypeMsg(){
return OwnerLoanRecordEnum.LoanType.getMsgByCode(loanType);
}
@MoneyOutConvert
@ApiModelProperty("借款金额")
private BigDecimal loanBalance;
@ApiModelProperty("借出方")
private String borrower;
@ApiModelProperty("借出方账户")
private String borrowerAccount;
@ApiModelProperty("借款方")
private String lendingParty;
@ApiModelProperty("借款方账户")
private String lendingPartyAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankCode;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
@ApiModelProperty("10 待审批 15 待付款 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanRecordEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("审批时间")
private String approveTime;
@ApiModelProperty("审批人")
private String approveBy;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("借款归还时间")
private String loanRepaymentTime;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private Integer payChannel;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerLoanRecordEnum.PayChannel.getMsgByCode(payChannel);
}
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerPaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
public class OwnerPaymentVO{
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@ApiModelProperty("商户流水")
private String merchantRunningWaterNo;
@ApiModelProperty("付款单号")
private Long paymentNo;
@ApiModelProperty("还款单号")
private Long repaymentNo;
@MoneyOutConvert
@ApiModelProperty("付款金额")
private BigDecimal paymentBalance;
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@ApiModelProperty("待付款 付款中 付款成功 付款失败")
private String statusMsg;
public String getStatusMsg(){
return OwnerPaymentEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("默认财资")
private Integer payChannel;
@ApiModelProperty("支付渠道名称")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerLoanRecordEnum.PayChannel.ASSET.getMsg();
}
@ApiModelProperty("操作时间")
private String operateTime;
@ApiModelProperty("操作人")
private String operateBy;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @ClassName OwnerRepayment
* @Description
* @Author kavin
* @Date 2024/1/20 15:18
* @Version 1.0
*/
@Getter
@Setter
public class OwnerRepaymentVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@ApiModelProperty("还款单号")
private Long repaymentNo;
@MoneyOutConvert
@ApiModelProperty("还款金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("货物名称")
private String goodsName;
@ApiModelProperty("借款单号")
private Long loanNo;
@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("支付渠道 1 订单支付 2 转账支付")
private Integer payChannel;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerLoanRecordEnum.PayChannel.getMsgByCode(payChannel);
}
@ApiModelProperty("10 未逾期 20 已逾期")
private Integer beOverdue;
@ApiModelProperty("10 未逾期 20 已逾期")
private String beOverdueMsg;
public String getBeOverdueMsg(){
return OwnerRePaymentEnum.BeOverdue.getMsgByCode(beOverdue);
}
@ApiModelProperty("借款归还时间")
private String loanRepaymentTime;
@ApiModelProperty("操作时间")
private String operateTime;
@ApiModelProperty("操作人")
private String operateBy;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("生成付款申请单时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankCode;
}
package com.clx.performance.vo.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
/**
* @ClassName PayeeVO
* @Description
* @Author kavin
* @Date 2024/1/23 15:17
* @Version 1.0
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PayeeVO {
@ApiModelProperty("id")
private String id;
@ApiModelProperty("收款方名称")
private String name;
@ApiModelProperty("收款方账户")
private String account;
}
package com.clx.performance.vo.pc.loan.owner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName BorrowerSelectVO
* @Description
* @Author kavin
* @Date 2024/1/23 16:22
* @Version 1.0
*/
@Getter
@Setter
public class BorrowerSelectVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("借出方")
private String name;
@ApiModelProperty("银行账号")
private String bankCardNo;
@ApiModelProperty("类型:1资金 2虚拟货币")
private Integer type;
@ApiModelProperty("借款时效")
private Integer day;
}
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Objects;
/**
* @ClassName OwnerRepayment
* @Description
* @Author kavin
* @Date 2024/1/20 15:18
* @Version 1.0
*/
@Getter
@Setter
public class ExportOwnerRepaymentVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("还款金额")
private BigDecimal repaymentBalance;
public BigDecimal getRepaymentBalance(){
return Objects.isNull(repaymentBalance)?BigDecimal.ZERO:repaymentBalance.movePointLeft(2);
}
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("汇款识别码")
private String remittanceIdentificationCode;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("货物名称")
private String goodsName;
@ApiModelProperty("借款单号")
private Long loanNo;
@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("支付渠道 1 订单支付 2 转账支付")
private Integer payChannel;
@ApiModelProperty("支付渠道 1 订单支付 2 转账支付")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerLoanRecordEnum.PayChannel.getMsgByCode(payChannel);
}
@ApiModelProperty("10 未逾期 20 已逾期")
private Integer beOverdue;
@ApiModelProperty("10 未逾期 20 已逾期")
private String beOverdueMsg;
public String getBeOverdueMsg(){
return OwnerRePaymentEnum.BeOverdue.getMsgByCode(beOverdue);
}
@ApiModelProperty("借款归还时间")
private String loanRepaymentTime;
@ApiModelProperty("操作时间")
private String operateTime;
@ApiModelProperty("操作人")
private String operateBy;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("生成付款申请单时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款行号")
private String payeeBankCode;
}
package com.clx.performance.vo.pc.loan.owner;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 货主借款账户
* @Date: 2024/01/22 18:17:57
* @Version: 1.0
*/
@ApiModel(description = "货主借款账户")
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OwnerAccountVO {
@ApiModelProperty(value = "货主编码", example = "10000000")
private Long ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "张三")
private String ownerUserName;
@ApiModelProperty(value = "联系电话", example = "13000000000")
private String mobile;
@ApiModelProperty(value = "默认 3:借款账户", example = "3")
private Integer accountType;
@ApiModelProperty(value = "是否开通借款账户 0:未开通 1:已开通", example = "3")
private Integer openAccount;
@ApiModelProperty(value = "可用余额 (元) ", example = "1.23")
private BigDecimal amount;
public BigDecimal getAmount() {
return BigDecimal.ZERO.add(fundingUsableBalance==null? BigDecimal.ZERO : fundingUsableBalance).add(virtuallyUsableBalance==null? BigDecimal.ZERO : virtuallyUsableBalance);
}
@ApiModelProperty(value = "冻结金额(元) ", example = "1.23")
private BigDecimal frozenAmount;
public BigDecimal getFrozenAmount() {
return BigDecimal.ZERO.add(fundingFrozenBalance==null? BigDecimal.ZERO : fundingFrozenBalance).add(virtuallyFrozenBalance==null? BigDecimal.ZERO : virtuallyFrozenBalance);
}
@ApiModelProperty(value = "欠款金额 (元)", example = "1.23")
private BigDecimal arrears;
public BigDecimal getArrears() {
return BigDecimal.ZERO.add(fundingArrears==null? BigDecimal.ZERO : fundingArrears).add(virtuallyArrears==null? BigDecimal.ZERO : virtuallyArrears);
}
@JsonIgnore
@ApiModelProperty(value = "资金账户余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingAccountBalance;
@JsonIgnore
@ApiModelProperty(value = "资金可用余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingUsableBalance;
@JsonIgnore
@ApiModelProperty(value = "资金冻结余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal fundingFrozenBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币账户余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyAccountBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币可用余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyUsableBalance;
@JsonIgnore
@ApiModelProperty(value = "虚拟币冻结余额", example = "", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyFrozenBalance;
@JsonIgnore
@ApiModelProperty(value = "资金欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal fundingArrears;
@JsonIgnore
@ApiModelProperty(value = "虚拟币欠款", example = "1.23", hidden = true)
@MoneyOutConvert
private BigDecimal virtuallyArrears;
}
\ No newline at end of file
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 OwnerCashierInfoVO {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("货物名称")
private String goodsName;
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@MoneyOutConvert
@ApiModelProperty("订单金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("是否有订单支付方式 true:有 false:没有")
private Boolean orderPayWay;
@ApiModelProperty("付款账户")
private String payAccount;
@ApiModelProperty("银行名称")
private String bankName;
}
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.vo.pc.loan.carrier.PayeeVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @ClassName OwnerLoanRecordDetail
* @Description
* @Author kavin
* @Date 2024/1/23 15:14
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanRecordDetail {
@ApiModelProperty("公司名称(借款方)")
private String companyName;
@ApiModelProperty("借出方下拉选")
private List<BorrowerSelectVO> borrowerList;
@ApiModelProperty("收款方")
private List<PayeeVO> payeeList;
}
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* @ClassName OwnerLoanRunWaterRecordVO
* @Description
* @Author kavin
* @Date 2024/1/23 13:21
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanRunWaterRecordVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("流水类型")
private Integer runningWaterType;
@ApiModelProperty("流水类型")
private String runningWaterTypeMsg;
public String getRunningWaterTypeMsg() {
return OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.getMsgByCode(runningWaterType);
}
@MoneyOutConvert
@ApiModelProperty("金额")
private BigDecimal alterationBalance;
@MoneyOutConvert
@ApiModelProperty("账户余额")
private BigDecimal accountBalance;
@MoneyOutConvert
@ApiModelProperty("可用余额")
private BigDecimal useAbleBalance;
@MoneyOutConvert
@ApiModelProperty("冻结余额")
private BigDecimal frozenBalance;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
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 OrderPaymentDetailVO
* @Description
* @Author kavin
* @Date 2024/1/24 16:45
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OwnerOrderPaymentDetailVO {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("借款单号")
private Long loanNo;
@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 String finalPaymentTime;
@ApiModelProperty("订单创建时间")
public String createTime;
}
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 OwnerTransferPaymentDetailVO {
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("借款单号")
private Long loanNo;
@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 String finalPaymentTime;
}
package com.clx.performance.vo.pc.nbbank;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqinguo
* @Description: 订单支付
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class NbBankOrderPayResultVO {
@ApiModelProperty(value = "金额(分)", example = "1")
private Integer amount;
@ApiModelProperty(value = "商户时间 (下单时间)", example = "")
private String merDtTm;
@ApiModelProperty(value = "商户流水号", example = "20231129145541")
private String merSeqNo;
@ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy")
private String transSeqNo;
@ApiModelProperty(value = "转账编号 (转账专用)", example = "123456")
private String signNo;
@ApiModelProperty(value = "关单时间", example = "")
private String closeDtTm;
}
\ No newline at end of file
package com.clx.performance.vo.pc.nbbank;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqinguo
* @Description: 订单状态
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class NbBankOrderResultVO {
@ApiModelProperty(value = "金额(分)", example = "")
private Integer amount;
@ApiModelProperty(value = "实收金额(分)", example = "")
private Integer realAmount;
@ApiModelProperty(value = "商户时间")
private String merDtTm;
@ApiModelProperty(value = "商户流水号", example = "20231129145541")
private String merSeqNo;
@ApiModelProperty(value = "第三方流水号", example = "20231129145541065503563czKTBzy")
private String transSeqNo;
@ApiModelProperty(value = "转账编号(转账专用)", example = "1234567")
private String signNo;
@ApiModelProperty(value = "交易状态:1交易成功 2交易失败 3交易已受理 4订单初始状态 5交易不存在 6交易超时", example = "1")
private Integer status;
}
\ No newline at end of file
...@@ -43,6 +43,9 @@ public class OwnerPageSettlementOwnerVO { ...@@ -43,6 +43,9 @@ public class OwnerPageSettlementOwnerVO {
@ApiModelProperty(value = "货损金额") @ApiModelProperty(value = "货损金额")
private BigDecimal lossFreight; private BigDecimal lossFreight;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "借款金额")
private BigDecimal loanFreight;
@MoneyOutConvert
@ApiModelProperty(value = "结算金额") @ApiModelProperty(value = "结算金额")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
@MoneyOutConvert @MoneyOutConvert
......
...@@ -69,6 +69,10 @@ public class PageOwnerSettlementOwnerDetailVO { ...@@ -69,6 +69,10 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty(value="结算金额",example = "1.2") @ApiModelProperty(value="结算金额",example = "1.2")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
@MoneyOutConvert
@ApiModelProperty(value="借款抵扣金额",example = "1.2")
private BigDecimal loanFreight;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value="开票金额",example = "2.1") @ApiModelProperty(value="开票金额",example = "2.1")
private BigDecimal invoiceFreight; private BigDecimal invoiceFreight;
......
...@@ -255,6 +255,12 @@ ...@@ -255,6 +255,12 @@
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.nbopen</groupId>
<artifactId>openBasicSDK</artifactId>
<version>1.7.0</version>
</dependency>
</dependencies> </dependencies>
......
...@@ -68,7 +68,7 @@ public class ResetPasswordAnnotationAop { ...@@ -68,7 +68,7 @@ public class ResetPasswordAnnotationAop {
sendMessageMachineCheckComponent.sendMessageMachineSelectCheck(request, sendMobileCaptchaParam); sendMessageMachineCheckComponent.sendMessageMachineSelectCheck(request, sendMobileCaptchaParam);
mobile = sendMobileCaptchaParam.getMobile(); mobile = sendMobileCaptchaParam.getMobile();
String content = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_MOBILE_CAPTCHA + mobile); String content = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_MOBILE_CAPTCHA + mobile);
if (StringUtils.isNoneBlank(content)) { if (StringUtils.isNotBlank(content)) {
token = UUID.randomUUID().toString(); token = UUID.randomUUID().toString();
redisTemplate.opsForValue().set(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, token); redisTemplate.opsForValue().set(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, token);
redisTemplate.expire(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, 60, TimeUnit.SECONDS); redisTemplate.expire(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, 60, TimeUnit.SECONDS);
......
...@@ -7,6 +7,7 @@ import com.msl.common.exception.ServiceSystemException; ...@@ -7,6 +7,7 @@ import com.msl.common.exception.ServiceSystemException;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
...@@ -33,7 +33,6 @@ public class OwnerAccountComponent { ...@@ -33,7 +33,6 @@ public class OwnerAccountComponent {
orderFeign.saveOrderSettlementJobRecord(orderNo); orderFeign.saveOrderSettlementJobRecord(orderNo);
return; return;
} }
//TODO 注意判断普通单还是网运单 普通单类型 1 网运单 2
Integer invoiceType = settlementOwnerDetailService.getInvoiceType(orderNo); Integer invoiceType = settlementOwnerDetailService.getInvoiceType(orderNo);
//1 网运单 2 普通单 //1 网运单 2 普通单
log.info("invoiceType={}", invoiceType); log.info("invoiceType={}", invoiceType);
......
...@@ -20,4 +20,13 @@ public class ClxMessageConfig { ...@@ -20,4 +20,13 @@ public class ClxMessageConfig {
//短信验证码模板 //短信验证码模板
private String captchaTemplateCode; private String captchaTemplateCode;
//订单支付短信模板
private String orderPayTemplateCode;
//转账支付-借款单短信模板
private String borrowTemplateCode;
//转账支付-还款单短信模板
private String repaymentTemplateCode;
} }
...@@ -67,7 +67,6 @@ public class RabbitBeanConfig { ...@@ -67,7 +67,6 @@ public class RabbitBeanConfig {
/** /**
* 处理延迟消息货单挂单 * 处理延迟消息货单挂单
* @return
*/ */
@Bean @Bean
public Queue orderGoodsOnDeadQueue() { public Queue orderGoodsOnDeadQueue() {
...@@ -93,7 +92,6 @@ public class RabbitBeanConfig { ...@@ -93,7 +92,6 @@ public class RabbitBeanConfig {
/** /**
* 订单取消队列 * 订单取消队列
* @return
*/ */
@Bean @Bean
public Queue orderCancelQueue() { public Queue orderCancelQueue() {
...@@ -118,7 +116,6 @@ public class RabbitBeanConfig { ...@@ -118,7 +116,6 @@ public class RabbitBeanConfig {
/** /**
* 运单同步网络货运队列 * 运单同步网络货运队列
* @return
*/ */
@Bean @Bean
public Queue orderChildSyncTransportQueue() { public Queue orderChildSyncTransportQueue() {
...@@ -143,7 +140,6 @@ public class RabbitBeanConfig { ...@@ -143,7 +140,6 @@ public class RabbitBeanConfig {
/** /**
* 处理延迟消息orderGoodsTruckBind * 处理延迟消息orderGoodsTruckBind
* @return
*/ */
@Bean @Bean
public Queue orderGoodsTruckBindQueue() { public Queue orderGoodsTruckBindQueue() {
...@@ -166,4 +162,64 @@ public class RabbitBeanConfig { ...@@ -166,4 +162,64 @@ public class RabbitBeanConfig {
public Binding orderGoodsTruckBindBindingDelayedExchange(@Qualifier("orderGoodsTruckBindQueue")Queue queue,@Qualifier("orderGoodsTruckBindExchange")CustomExchange customExchange) { public Binding orderGoodsTruckBindBindingDelayedExchange(@Qualifier("orderGoodsTruckBindQueue")Queue queue,@Qualifier("orderGoodsTruckBindExchange")CustomExchange customExchange) {
return BindingBuilder.bind(queue).to(customExchange).with(RabbitKeyConstants.ORDER_TRUCK_BIND_LAZY_ROUTE_KEY).noargs(); return BindingBuilder.bind(queue).to(customExchange).with(RabbitKeyConstants.ORDER_TRUCK_BIND_LAZY_ROUTE_KEY).noargs();
} }
/**
* 货主借款支付处理
*/
@Bean
public Queue ownerLoanPayQueue() {
return new Queue(RabbitKeyConstants.OWNER_LOAN_PAY_QUEUE, true, false, false);
}
/**
* 货主借款支付处理
**/
@Bean
public DirectExchange ownerLoanExchange() {
return new DirectExchange(RabbitKeyConstants.OWNER_LOAN_EXCHANGE);
}
/**
* 货主借款支付处理
*/
@Bean
public Binding ownerLoanPayBind() {
return BindingBuilder.bind(ownerLoanPayQueue()).to(ownerLoanExchange()).with(RabbitKeyConstants.OWNER_LOAN_PAY_ROUTE_KEY);
}
/**
* 货主还款队列
* @return
*/
@Bean
public Queue ownerRepaymentQueue() {
return new Queue(RabbitKeyConstants.OWNER_REPAYMENT_QUEUE, true, false, false);
}
/**
* 货主还款bind
* @return
*/
@Bean
public Binding ownerRepaymentBind() {
return BindingBuilder.bind(ownerRepaymentQueue()).to(ownerLoanExchange()).with(RabbitKeyConstants.OWNER_REPAYMENT_ROUTE_KEY);
}
/**
* 货主借款冻结释放队列
* @return
*/
@Bean
public Queue ownerLoanThawQueue() {
return new Queue(RabbitKeyConstants.OWNER_LOAN_THAW_QUEUE, true, false, false);
}
/**
* 货主还款bind
* @return
*/
@Bean
public Binding ownerLoanThawBind() {
return BindingBuilder.bind(ownerLoanThawQueue()).to(ownerLoanExchange()).with(RabbitKeyConstants.OWNER_LOAN_THAW_ROUTE_KEY);
}
} }
package com.clx.performance.config.loan;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/**
* @ClassName ThirdAppConfig
* @Description
* @Author kavin
* @Date 2023/10/18 19:18
* @Version 1.0
*/
@Data
@Configuration
@ConfigurationProperties(prefix = "clx" ) // 配置 文件的前缀
public class ClxPayeeConfig {
//鑫祥和网络科技有限公司 配置ID
public static final String XXH_ID = "1";
private static Map<String,PayeeConfig> payeeMap = new TreeMap<>();
// 这里的名字要和yml中的对应字段名称一致
public static List<PayeeConfig> payee = new ArrayList<>();
// 注意此处的 static 关键字
public static PayeeConfig getPayee(String id) {
return payeeMap.get(id);
}
public void setPayee(List<PayeeConfig> payeeConfigs) {
payee = payeeConfigs;
payeeMap = payeeConfigs.stream().collect(Collectors.toMap(PayeeConfig::getId,value -> value));
}
@Data
public static class PayeeConfig {
private String name;
private String account;
private String bank;
private String bankNo;
private String id;
}
}
package com.clx.performance.config.loan;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Getter
@Setter
@ConfigurationProperties(prefix = "payment.form")
public class PaymentFromConfig {
//借款订单模版编号
private String loanOrderTemplateNo;
//借款转账模版编号
private String loanTransferTemplateNo;
//还款订单模版编号
private String repaymentOrderTemplateNo;
//还款转账模版编号
private String repaymentTransferTemplateNo;
}
package com.clx.performance.config.nbbank;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Getter
@Setter
@ConfigurationProperties(prefix = "nbbank")
public class NbBankConfig {
private String appKey;
private String merId;
private String configFilePath;
private String publicKeyPath;
private String privateKeyPath;
private String orderSupportBank;
}
...@@ -83,4 +83,18 @@ public class RabbitKeyConstants { ...@@ -83,4 +83,18 @@ public class RabbitKeyConstants {
public static final String ORDER_TRUCK_BIND_LAZY_QUEUE ="clx-order.truck.bind.lazy.queue"; public static final String ORDER_TRUCK_BIND_LAZY_QUEUE ="clx-order.truck.bind.lazy.queue";
public static final String ORDER_TRUCK_BIND_LAZY_ROUTE_KEY ="clx-order.truck.bind.lazy.route.key"; public static final String ORDER_TRUCK_BIND_LAZY_ROUTE_KEY ="clx-order.truck.bind.lazy.route.key";
public static final String OWNER_LOAN_EXCHANGE ="clx-performance.loan.exchange";
public static final String OWNER_LOAN_PAY_ROUTE_KEY ="clx-performance.loan.pay.route.key";
public static final String OWNER_LOAN_PAY_QUEUE ="clx-performance.loan.pay.queue";
public static final String OWNER_LOAN_THAW_ROUTE_KEY ="clx-performance.loan.thaw.route.key";
public static final String OWNER_LOAN_THAW_QUEUE ="clx-performance.loan.thaw.queue";
public static final String OWNER_REPAYMENT_QUEUE ="clx-performance.owner.repayment.queue";
public static final String OWNER_REPAYMENT_ROUTE_KEY ="clx-performance.owner.repayment.route.key";
} }
...@@ -10,4 +10,10 @@ public class RedissonConstants { ...@@ -10,4 +10,10 @@ public class RedissonConstants {
//货主违约结算单支付锁 //货主违约结算单支付锁
public static final String BREAK_CONTRACT_SETTLEMENT_OWNER_BATCH_PAY_ID_LOCK = "clx-performance:breakContractSettlementOwner:batchPay:id:"; public static final String BREAK_CONTRACT_SETTLEMENT_OWNER_BATCH_PAY_ID_LOCK = "clx-performance:breakContractSettlementOwner:batchPay:id:";
public static final String ORDER_CHILD_LOAN_OWNER_USERID_LOCK = "clx-performance:orderChild:loan:ownerUserId:";
public static final String ORDER_CHILD_LOAN_RECORD_LOAN_NO_LOCK = "clx-performance:loanRecordApprove:loanNo:";
public static final String OWNER_LOAN_EVENT_USERID_LOCK = "clx-performance:ownerLoanEvent:ownerUserId:";
} }
...@@ -5,8 +5,8 @@ import com.clx.performance.param.pc.owner.FrozenAccountParam; ...@@ -5,8 +5,8 @@ import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.param.pc.owner.ThawAccountParam; import com.clx.performance.param.pc.owner.ThawAccountParam;
import com.clx.performance.service.OwnerAccountService; import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.vo.pc.OwnerAccountAllVO; import com.clx.performance.vo.pc.OwnerAccountAllVO;
import com.clx.performance.vo.pc.OwnerLoanAccountVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -44,4 +44,10 @@ public class OwnerAccountFeignController { ...@@ -44,4 +44,10 @@ public class OwnerAccountFeignController {
public Result<OwnerAccountAllVO> accountInfo(@RequestParam Long userNo) { public Result<OwnerAccountAllVO> accountInfo(@RequestParam Long userNo) {
return Result.ok(ownerAccountService.accountInfo(userNo)); return Result.ok(ownerAccountService.accountInfo(userNo));
} }
@ApiOperation(value = "查询用户预付运费和保证金账户", notes = "<br>By:胡宇帆")
@GetMapping("/loanAccount")
public Result<OwnerLoanAccountVO> loanAccount(@RequestParam Long userNo) {
return Result.ok(ownerAccountService.loanAccount(userNo));
}
} }
...@@ -40,8 +40,6 @@ public class CarrierSettlementOwnerController { ...@@ -40,8 +40,6 @@ public class CarrierSettlementOwnerController {
return Result.ok(settlementOwnerService.getCarrierSettlementOwnerDetail(id)); return Result.ok(settlementOwnerService.getCarrierSettlementOwnerDetail(id));
} }
@ApiOperation(value = "承运端-结算单列表(货主)",notes = "<br>By:刘海泉") @ApiOperation(value = "承运端-结算单列表(货主)",notes = "<br>By:刘海泉")
@PostMapping("/pageCarrierSettlementOwner") @PostMapping("/pageCarrierSettlementOwner")
@UnitCovert(param = false) @UnitCovert(param = false)
......
package com.clx.performance.controller.pc.loan.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.*;
import com.clx.performance.service.loan.BorrowerConfigService;
import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/borrowerConfig")
@Validated
@Api(tags = "承运端-借出方借款配置")
@AllArgsConstructor
public class CarrierBorrowerConfigController {
private final BorrowerConfigService borrowerConfigService;
@ApiOperation(value = "新增借出方配置", notes = "<br>By:艾庆国")
@PostMapping("/saveBorrowerConfig")
@UnitCovert
public Result<Void> saveBorrowerConfig(@RequestBody @Validated BorrowerConfigAddParam param) {
borrowerConfigService.saveBorrowerConfig(param);
return Result.ok();
}
@ApiOperation(value = "更新借出方配置", notes = "<br>By:艾庆国")
@PostMapping("/updateBorrowerConfig")
public Result<Void> updateBorrowerConfig(@RequestBody @Validated BorrowerConfigUpdateParam param) {
borrowerConfigService.updateBorrowerConfig(param);
return Result.ok();
}
@ApiOperation(value = "更新借出方配置状态", notes = "<br>By:艾庆国")
@PostMapping("/updateStatus")
public Result<Void> updateStatus(@RequestBody @Validated BorrowerConfigStatusUpdateParam param) {
borrowerConfigService.updateStatus(param);
return Result.ok();
}
@ApiOperation(value = "更新删除借出方配置", notes = "<br>By:艾庆国")
@PostMapping("/updateDelete")
public Result<Void> updateDelete(@RequestBody @Validated BorrowerConfigDeleteUpdateParam param) {
borrowerConfigService.updateDelete(param);
return Result.ok();
}
@ApiOperation(value = "分页搜索借出方配置列表",notes = "<br>By:艾庆国")
@PostMapping("/pageBorrower")
public Result<PageData<BorrowerConfigVO>> pageBorrowerConfig(@RequestBody @Validated PageBorrowerConfigParam param) {
IPage<BorrowerConfigVO> page = borrowerConfigService.pageBorrowerConfig(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "查询所有借出方配置列表",notes = "<br>By:艾庆国")
@PostMapping("/ListBorrowerConfig")
public Result<List<BorrowerConfigVO>> ListBorrowerConfig() {
return Result.ok(borrowerConfigService.ListBorrowerConfig());
}
}
package com.clx.performance.controller.pc.loan.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.*;
import com.clx.performance.service.loan.BorrowerService;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/borrower")
@Validated
@Api(tags = "承运端-借出方配置")
@AllArgsConstructor
public class CarrierBorrowerController {
private final BorrowerService borrowerService;
@ApiOperation(value = "新增借出方", notes = "<br>By:艾庆国")
@PostMapping("/saveBorrower")
@UnitCovert
public Result<Void> saveBorrower(@RequestBody @Validated BorrowerAddParam param) {
borrowerService.saveBorrower(param);
return Result.ok();
}
@ApiOperation(value = "更新借出方", notes = "<br>By:艾庆国")
@PostMapping("/updateBorrower")
public Result<Void> updateBorrower(@RequestBody @Validated BorrowerUpdateParam param) {
borrowerService.updateBorrower(param);
return Result.ok();
}
@ApiOperation(value = "更新借出方状态", notes = "<br>By:艾庆国")
@PostMapping("/updateStatus")
public Result<Void> updateStatus(@RequestBody @Validated BorrowerStatusUpdateParam param) {
borrowerService.updateStatus(param);
return Result.ok();
}
@ApiOperation(value = "更新删除借出方", notes = "<br>By:艾庆国")
@PostMapping("/updateDelete")
public Result<Void> updateDelete(@RequestBody @Validated BorrowerDeleteUpdateParam param) {
borrowerService.updateDelete(param);
return Result.ok();
}
@ApiOperation(value = "分页搜索借出方列表",notes = "<br>By:艾庆国")
@PostMapping("/pageBorrower")
public Result<PageData<BorrowerVO>> pageBorrower(@RequestBody @Validated PageBorrowerParam param) {
IPage<BorrowerVO> page = borrowerService.pageBorrower(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "查询所有借出方列表",notes = "<br>By:艾庆国")
@PostMapping("/ListBorrower")
public Result<List<BorrowerVO>> ListBorrower() {
return Result.ok(borrowerService.ListBorrower());
}
}
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;
import com.msl.common.base.PageData;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName CarrierOwnerLoanAccountApproveController
* @Description
* @Author kavin
* @Date 2024/1/20 17:52
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanAccountApprove")
@Validated
@Api(tags = "承运端-运营管理")
@AllArgsConstructor
public class CarrierOwnerLoanAccountApproveController {
private final OwnerLoanAccountApproveService ownerLoanAccountApproveService;
@ApiOperation(value = "货主借款账户审核列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanAccountApprove")
public Result<PageData<OwnerLoanAccountApproveVO>> pageOwnerLoanAccountApprove(@RequestBody @Validated PageOwnerLoanAccountApproveParam param) {
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.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam;
import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerLoanAccountVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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/carrier/ownerLoanAccount")
@Validated
@Api(tags = "承运端-借款账户")
public class CarrierOwnerLoanAccountController {
@Autowired
private OwnerLoanAccountService ownerLoanAccountService;
@ApiOperation(value = "分页搜索货主借款账户列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOwnerLoanAccount")
@UnitCovert(param = false)
public Result<PageData<CarrierOwnerLoanAccountVO>> pageOwnerLoanAccount(@RequestBody @Validated PageOwnerLoanAccountParam param) {
IPage<CarrierOwnerLoanAccountVO> page = ownerLoanAccountService.pageOwnerLoanAccount(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.loan.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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/carrier/ownerLoanAccountWaterRecord")
@Validated
@Api(tags = "承运端-借款账户流水")
public class CarrierOwnerLoanAccountWaterRecordController {
@Autowired
private OwnerLoanAccountRunningWaterRecordService ownerLoanAccountRunningWaterRecordService;
@ApiOperation(value = "分页搜索货主借款账户流水列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOwnerLoanAccountWaterOfOwner")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanAccountRunningWaterRecordVO>> pageOwnerLoanAccountWaterOfOwner(@RequestBody @Validated PageOwnerLoanAccountWaterRecordOfOwnerParam param) {
IPage<OwnerLoanAccountRunningWaterRecordVO> page = ownerLoanAccountRunningWaterRecordService.pageOwnerLoanAccountWaterOfOwner(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.loan.carrier;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.constant.RedissonConstants;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.param.pc.loan.carrier.*;
import com.clx.performance.param.pc.loan.owner.ExportPaymentApplicationFormParam;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.CarrierCashierInfoVO;
import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerOrderPaymentDetailVO;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.carrier.CarrierTransferPaymentDetailVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.exception.ServiceSystemException;
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.apache.ibatis.annotations.Param;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.concurrent.TimeUnit;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanRecord")
@Validated
@Api(tags = "承运端-借款管理")
@AllArgsConstructor
public class CarrierOwnerLoanRecordController {
private final OwnerLoanRecordService ownerLoanRecordService;
private final RedissonClient redissonClient;
@ApiOperation(value = "借款审批列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRecord")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecord(@RequestBody @Validated PageCarrierOwnerLoanRecordParam param) {
IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecord(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "借款审批(虚拟币直接增加,资金需要跳收银台提交申请)",notes = "<br>By:胡宇帆")
@PostMapping("/ownerLoanRecordApprove")
public Result<Object> ownerLoanRecordApprove(@RequestBody @Validated CarrierOwnerLoanRecordApproveParam param) {
RLock lock = null;
try {
lock = redissonClient.getLock(RedissonConstants.ORDER_CHILD_LOAN_RECORD_LOAN_NO_LOCK + param.getLoanNo());
boolean flag = lock.tryLock(5, 4, TimeUnit.SECONDS);
if (!flag) {
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_PAYMENT_STATUS_ERROR);
}
ownerLoanRecordService.ownerLoanRecordApprove(param);
} catch (Exception e) {
log.info("借款审批异常,param:{}, lock:{}", param, JSONUtil.parse(lock));
throw new ServiceSystemException(PerformanceResultEnum.OWNER_LOAN_PAYMENT_STATUS_ERROR, e.getMessage());
} finally {
if (lock != null && lock.isLocked() && lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
return Result.ok();
}
@ApiOperation(value = "借款提交申请(调用宁波银行)",notes = "<br>By:胡宇帆")
@PostMapping("/ownerLoanRecordSubmitNbBank")
public Result<Object> ownerLoanRecordSubmitNbBank(@RequestBody @Validated CarrierOwnerLoanRecordApproveParam param) {
Integer id = ownerLoanRecordService.ownerLoanRecordSubmitNbBank(param);
return Result.ok(id);
}
@ApiOperation(value = "借款重新支付(只更改借款状态)",notes = "<br>By:胡宇帆")
@GetMapping("/ownerLoanRecordRetryPay")
public Result<Object> ownerLoanRecordRetryPay(@RequestParam(value = "loanNo") @NotBlank String loanNo) {
ownerLoanRecordService.ownerLoanRecordRetryPay(loanNo);
return Result.ok();
}
@ApiOperation(value = "取消支付",notes = "<br>By:胡宇帆")
@GetMapping("/ownerLoanRecordCancelPay")
public Result<Object> ownerLoanRecordCancelPay(@RequestParam(value = "loanNo") @NotBlank String loanNo) {
ownerLoanRecordService.ownerLoanRecordCancelPay(loanNo);
return Result.ok();
}
@ApiOperation(value = "分页搜索货主借款列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOwnerLoanRecordOfOwner")
@UnitCovert(param = false)
public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecordOfOwner(@RequestBody @Validated PageOwnerLoanRecordOfOwner param) {
IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecordOfOwner(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "收银台信息",notes = "<br>By:刘海泉")
@GetMapping("/getCashierInfo")
@UnitCovert(param = false)
public Result<CarrierCashierInfoVO> getCashierInfo(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) {
CarrierCashierInfoVO vo = ownerLoanRecordService.getCashierInfo(id);
return Result.ok(vo);
}
@ApiOperation(value = "订单支付详情",notes = "<br>By:刘海泉")
@GetMapping("/getOrderPaymentDetail")
@UnitCovert(param = false)
public Result<CarrierOwnerOrderPaymentDetailVO> getOrderPaymentDetail(@Param("id") @NotNull(message = "id不能为空") Integer id) {
CarrierOwnerOrderPaymentDetailVO vo = ownerLoanRecordService.getOrderPaymentDetail(id);
return Result.ok(vo);
}
@ApiOperation(value = "转账支付详情",notes = "<br>By:刘海泉")
@GetMapping("/getTransferPaymentDetail")
@UnitCovert(param = false)
public Result<CarrierTransferPaymentDetailVO> getTransferPaymentDetail(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) {
CarrierTransferPaymentDetailVO vo = ownerLoanRecordService.getTransferPaymentDetail(id);
return Result.ok(vo);
}
@ApiOperation(value = "生成付款申请单",notes = "<br>By:刘海泉")
@PostMapping("/savePaymentApplicationForm")
public Result<String> savePaymentApplicationForm(@RequestBody @Validated ExportPaymentApplicationFormParam param) {
String url = ownerLoanRecordService.savePaymentApplicationForm(param);
return Result.ok(url);
}
// @ApiOperation(value = "借款支付",notes = "<br>By:艾庆国")
// @PostMapping("/updateOwnerLoanRecordPay")
// public Result<Object> updateOwnerLoanRecordPay(@RequestBody @Validated CarrierOwnerLoanRecordPayParam param) {
// ownerLoanRecordService.updateOwnerLoanRecordPay(param);
// return Result.ok();
// }
// @ApiOperation(value = "借款重新支付",notes = "<br>By:艾庆国")
// @PostMapping("/updateOwnerLoanRecordRepay")
// public Result<Object> updateOwnerLoanRecordRepay(@RequestBody @Validated CarrierOwnerLoanRecordRepayParam param) {
// ownerLoanRecordService.updateOwnerLoanRecordRepay(param);
// return Result.ok();
// }
/* @ApiOperation(value = "借款支付取消",notes = "<br>By:艾庆国")
@PostMapping("/updateOwnerLoanRecordPayCancel")
public Result<Object> updateOwnerLoanRecordPayCancel(@RequestBody @Validated CarrierOwnerLoanRecordPayCancelParam param) {
ownerLoanRecordService.updateOwnerLoanRecordPayCancel(param);
return Result.ok();
}*/
@ApiOperation(value = "转账支付-借款短信", notes = "<br>By:姜文业")
@GetMapping("/sendLoanSms")
public Result<String> sendLoanSms(@RequestParam("mobile") @NotBlank(message = "通知的手机号码不能为空") String mobile,
@Param("loanNo") @NotNull(message = "借款单号不能为空") Long loanNo) {
String token = ownerLoanRecordService.sendLoanSms(mobile,loanNo);
return Result.ok(token);
}
@ApiOperation(value = "订单支付短信", notes = "<br>By:姜文业")
@GetMapping("/sendOrderPaySms")
public Result<String> sendOrderPaySms(@RequestParam("mobile") @NotBlank(message = "通知的手机号码不能为空") String mobile,
@Param("payee") @NotBlank(message = "收款方不能为空") String payee,
@Param("payeeAccount") @NotBlank(message = "收款账户不能为空") String payeeAccount) {
String token = ownerLoanRecordService.sendOrderPaySms(mobile,payee,payeeAccount);
return Result.ok(token);
}
}
package com.clx.performance.controller.pc.loan.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerPaymentParam;
import com.clx.performance.service.loan.OwnerPaymentService;
import com.clx.performance.vo.pc.loan.carrier.CarrierOwnerPaymentVO;
import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
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.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerPayment")
@Validated
@Api(tags = "承运端-借款管理")
@AllArgsConstructor
public class CarrierOwnerPaymentController {
private final OwnerPaymentService ownerPaymentService;
@ApiOperation(value = "付款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerPayment")
@UnitCovert(param = false)
public Result<PageData<OwnerPaymentVO>> pageOwnerPayment(@RequestBody @Validated PageCarrierOwnerPaymentParam param) {
IPage<OwnerPaymentVO> page = ownerPaymentService.pageOwnerPayment(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "付款详情",notes = "<br>By:刘海泉")
@GetMapping("/getOwnerPaymentDetail")
@UnitCovert(param = false)
public Result<CarrierOwnerPaymentVO> getOwnerPaymentDetail(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) {
CarrierOwnerPaymentVO vo = ownerPaymentService.getOwnerPaymentDetail(id);
return Result.ok(vo);
}
@ApiOperation(value = "付款",notes = "<br>By:胡宇帆")
@GetMapping("/pay")
@UnitCovert(param = false)
public Result<Object> pay(@RequestParam("id") @NotNull(message = "id不能为空") Integer id) {
ownerPaymentService.pay(id);
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();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论