提交 52f2cb25 authored 作者: liuhaiquan's avatar liuhaiquan

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

Former-commit-id: 19f83bf7
...@@ -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;
......
...@@ -113,6 +113,14 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -113,6 +113,14 @@ public enum PerformanceResultEnum implements ResultEnum {
SLIDER_CHECK_FAIL(1911, "滑块验证错误"), SLIDER_CHECK_FAIL(1911, "滑块验证错误"),
ORDER_CHILD_SYNC_ERROR(2001, "承运同步网络货运异常"), ORDER_CHILD_SYNC_ERROR(2001, "承运同步网络货运异常"),
BORROWER_NAME_EXIST(1701, "数据重复,请核实后重新提交"),
BORROWER_CONFIG_BORROWER_ID_EXIST(1701, "数据重复,请核实后重新提交"),
NB_BANK_API_ERROR(1800, "宁波银行api调用失败"),
NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"),
NB_BANK_PAY_TYPE_ERROR(1802, "支付方式不支持"),
NB_BANK_ORDER_PAY_ERROR(1803, "宁波银行订单支付失败"),
; ;
private final int code; private final int code;
private final String msg; private final String msg;
......
...@@ -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.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(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);
}
}
@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.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(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);
}
}
@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.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(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int 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.Optional;
public enum OwnerLoanRecordEnum {
;
//“待审批”,“审批通过”,“审批拒绝”,“付款中”,“付款成功”,“付款失败”
@Getter
@AllArgsConstructor
public enum Status {
APPROVE_WAIT(10, "待审批"),
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(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);
}
}
//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(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(LoanType::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
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(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int 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.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(int code) {
return Arrays.stream(values()).filter(e -> 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 Channel {
ORDER(10, "订单支付"),
TRANSFER(20, "转账支付"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerRePaymentEnum.Channel> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(OwnerRePaymentEnum.Channel::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(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int 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);
}
}
}
...@@ -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.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;
}
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 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 = "借款天数不能为空")
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.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 = "借款天数不能为空")
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;
}
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;
}
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 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 待审批 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;
/**
* @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;
}
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("待审批 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 Long runningWaterNo;
@ApiModelProperty(value = "运单编号", example = "10000")
private String childNo;
@ApiModelProperty(value = "流水类型 70:运单核销 80:借款", 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 待审批 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 com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OwnerLoanRecordParam {
@ApiModelProperty(value = "借款金额", example = "张三")
@NotNull(message = "借款金额不能为空")
@MoneyInConvert
private BigDecimal loanBalance;
@ApiModelProperty(value = "借款方", example = "伟华煤炭运销公司")
@NotBlank(message = "借款方不能为空")
private String borrower;
@ApiModelProperty(value = "借出方", example = "诚联信网络科技有限公司")
@NotBlank(message = "借出方不能为空")
private String lendingParty;
@ApiModelProperty(value = "借出方账户", example = "诚联信银行账户")
@NotBlank(message = "借出方不能为空")
private String paymentAccount;
@ApiModelProperty(value = "借出时效(天)", example = "2")
@NotNull(message = "借出时效(天)不能为空")
private Integer expireDay;
}
package com.clx.performance.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;
}
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 = "")
private Long opUserNo;
@ApiModelProperty(value = "操作人", example = "")
private String opUserName;
@ApiModelProperty(value = "操作时间", example = "")
private String opTime;
@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;
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 BorrowerVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "借出方", example = "")
private String name;
@ApiModelProperty(value = "所属银行", example = "")
private String bankName;
@ApiModelProperty(value = "银行账号", example = "")
private String bankCardNo;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "")
private Integer status;
@ApiModelProperty(value = "操作人编码", example = "")
private Long opUserNo;
@ApiModelProperty(value = "操作人", example = "")
private String opUserName;
@ApiModelProperty(value = "操作时间", example = "")
private String opTime;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
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 Integer accountType;
@ApiModelProperty("待审批 10,审批成功 20,审批拒绝 30")
private Integer status;
@ApiModelProperty("审批时间")
private LocalDateTime approveTime;
@ApiModelProperty("审批人")
private String approveBy;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
}
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.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @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 = "流水类型 70:运单核销 80:借款", example = "10")
private Integer runningWaterType;
@ApiModelProperty(value = "金额", example = "1.23")
private BigDecimal alterationBalance;
@ApiModelProperty(value = "账户余额", example = "1.23")
private BigDecimal accountBalance;
@ApiModelProperty(value = "创建人", example = "张三")
private String createBy;
@ApiModelProperty(value = "创建时间", example = "")
private LocalDateTime createTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.loan.carrier;
import com.fasterxml.jackson.annotation.JsonIgnore;
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 OwnerLoanAccountVO {
@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 = "账户余额 (元) ", example = "1.23")
private BigDecimal amount;
public BigDecimal getAmount() {
return BigDecimal.ZERO.add(fundingAmount==null? BigDecimal.ZERO : fundingAmount).add(virtuallyAmount==null? BigDecimal.ZERO : virtuallyAmount);
}
@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 = "1.23", hidden = true)
private BigDecimal fundingAmount;
@JsonIgnore
@ApiModelProperty(value = "虚拟币金额", example = "1.23", hidden = true)
private BigDecimal virtuallyAmount;
@JsonIgnore
@ApiModelProperty(value = "资金欠款", example = "1.23", hidden = true)
private BigDecimal fundingArrears;
@JsonIgnore
@ApiModelProperty(value = "虚拟币欠款", example = "1.23", hidden = true)
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 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 Long runningWaterOpenNo;
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("借款类型 1:虚拟货币 2:资金")
private Integer loanType;
@ApiModelProperty("借款类型 虚拟货币 资金")
private String loanTypeMsg;
public String getLoanTypeMsg(){
return OwnerLoanRecordEnum.LoanType.getMsgByCode(loanType);
}
@ApiModelProperty("借款金额")
private BigDecimal loanBalance;
@ApiModelProperty("借款方")
private String borrower;
@ApiModelProperty("借出方")
private String lendingParty;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("10 待审批 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
@ApiModelProperty("10 待审批 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private String statusMsg;
public String getStatusMsg(){
return OwnerLoanRecordEnum.Status.getMsgByCode(status);
}
@ApiModelProperty("审批时间")
private LocalDateTime approveTime;
@ApiModelProperty("审批人")
private String approveBy;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("借款归还时间")
private LocalDateTime loanRepaymentTime;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import com.clx.performance.enums.loan.OwnerPaymentEnum;
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 Long runningWaterOpenNo;
@ApiModelProperty("付款单号")
private Long paymentNo;
@ApiModelProperty("还款单号")
private Long repaymentNo;
@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("默认财资 30 ")
private Integer payChannel;
@ApiModelProperty("财资")
private String payChannelMsg;
public String getPayChannelMsg(){
return "财资";
}
@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.OwnerRePaymentEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @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 Long runningWaterOpenNo;
@ApiModelProperty("还款单号")
private Long repaymentNo;
@ApiModelProperty("还款金额")
private BigDecimal repaymentBalance;
@ApiModelProperty("付款方")
private String payment;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("收款方")
private String payee;
@ApiModelProperty("收款账户")
private String payeeAccount;
@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("支付渠道 10 订单支付 20 转账支付")
private Integer payChannel;
@ApiModelProperty("支付渠道 10 订单支付 20 转账支付")
private String payChannelMsg;
public String getPayChannelMsg(){
return OwnerRePaymentEnum.Channel.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;
}
package com.clx.performance.vo.pc.loan.owner;
/**
* @ClassName TestController
* @Description
* @Author kavin
* @Date 2024/1/22 10:20
* @Version 1.0
*/
public class TestController {
}
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;
}
\ 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 = "交易状态", example = "")
private Integer transStatus;
}
\ No newline at end of file
...@@ -263,6 +263,12 @@ ...@@ -263,6 +263,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>
......
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 = "77667c76_3503_4c04_95f7_fc10938c7942";
private String merId = "EFT33021200556315";
}
...@@ -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));
}
} }
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.OwnerLoanAccountVO;
import com.msl.common.base.PageData;
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")
public Result<PageData<OwnerLoanAccountVO>> pageOwnerLoanAccount(@RequestBody @Validated PageOwnerLoanAccountParam param) {
IPage<OwnerLoanAccountVO> 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.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")
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 com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.loan.carrier.CarrierOwnerLoanRecordApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.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;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanRecord")
@Validated
@Api(tags = "承运端-借款管理")
@AllArgsConstructor
public class CarrierOwnerLoanRecordController {
private final OwnerLoanRecordService ownerLoanRecordService;
@ApiOperation(value = "借款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRecord")
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) {
ownerLoanRecordService.ownerLoanRecordApprove(param);
return Result.ok();
}
@ApiOperation(value = "分页搜索货主借款列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOwnerLoanRecordOfOwner")
public Result<PageData<OwnerLoanRecordVO>> pageOwnerLoanRecordOfOwner(@RequestBody @Validated PageOwnerLoanRecordOfOwner param) {
IPage<OwnerLoanRecordVO> page = ownerLoanRecordService.pageOwnerLoanRecordOfOwner(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.PageCarrierOwnerPaymentParam;
import com.clx.performance.service.loan.OwnerPaymentService;
import com.clx.performance.vo.pc.loan.carrier.OwnerPaymentVO;
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;
@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")
public Result<PageData<OwnerPaymentVO>> pageOwnerPayment(@RequestBody @Validated PageCarrierOwnerPaymentParam param) {
IPage<OwnerPaymentVO> page = ownerPaymentService.pageOwnerPayment(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.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.service.loan.OwnerRepaymentService;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
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;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerRepayment")
@Validated
@Api(tags = "承运端-借款管理")
@AllArgsConstructor
public class CarrierOwnerRepaymentController {
private final OwnerRepaymentService ownerRepaymentService;
@ApiOperation(value = "还款列表",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerRepayment")
public Result<PageData<OwnerRepaymentVO>> pageOwnerRepayment(@RequestBody @Validated PageCarrierOwnerRepaymentParam param) {
IPage<OwnerRepaymentVO> page = ownerRepaymentService.pageOwnerRepayment(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "分页搜索货主还款列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOwnerRepaymentOfOwner")
public Result<PageData<OwnerRepaymentVO>> pageOwnerRepaymentOfOwner(@RequestBody @Validated PageOwnerRepaymentOfOwner param) {
IPage<OwnerRepaymentVO> page = ownerRepaymentService.pageOwnerRepaymentOfOwner(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.loan.owner;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanAccountApprove")
@Validated
@Api(tags = "货主端-资金管理")
@AllArgsConstructor
public class OwnerLoanAccountController {
private final OwnerLoanAccountApproveService ownerLoanAccountApproveService;
private final OwnerLoanRecordService ownerLoanRecordService;
@ApiOperation(value = "货主借款账户开通",notes = "<br>By:胡宇帆")
@GetMapping("/openOwnerLoanAccount")
public Result<Object> openOwnerLoanAccount() {
ownerLoanAccountApproveService.openOwnerLoanAccountApprove();
return Result.ok();
}
@ApiOperation(value = "货主借款申请",notes = "<br>By:胡宇帆")
@PostMapping("/ownerLoanRecordSubmit")
public Result<Object> ownerLoanRecordSubmit(@RequestBody OwnerLoanRecordParam param) {
ownerLoanRecordService.ownerLoanRecordSubmit(param);
return Result.ok();
}
}
package com.clx.performance.controller.pc.loan.owner;
/**
* @ClassName TestController
* @Description
* @Author kavin
* @Date 2024/1/22 10:34
* @Version 1.0
*/
public class TestController {
}
package com.clx.performance.controller.thirdparty; package com.clx.performance.controller.thirdparty;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.clx.performance.service.thirdparty.nbbank.NbBankNotifyService;
import com.nbopen.api.*; import com.nbopen.api.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/nbbank") @RequestMapping(value="/nbbank")
@Api(tags = "宁波银行回调") @Api(tags = "宁波银行回调 (易付通)")
public class NbBankController { public class NbBankController {
static { @Autowired
ClassPathResource classPathResource = new ClassPathResource("bank/config-nbbank.json"); private NbBankNotifyService nbBankNotifyService;
InputStream inputStream = null;
try {
inputStream = classPathResource.getInputStream();
boolean initResult = NBOpenSDK.init(inputStream);
log.info("NBSDK初始化状态:{}", initResult);
log.info("sdk版本信息:{}", NBOpenSDK.getVersionInfo());
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 解密后
* {
* "data": {
* "clearDate": "20231205",
* "merId": "EFT33021200556315",
* "merSeqNo": "20231205165038",
* "payMethod": "L",
* "pyerInfList": [
* {
* "coreSeqNo": "",
* "customerId": "",
* "pyerAcctBankName": "",
* "pyerAcctBankNo": "",
* "pyerAcctName": "黑玫瑰",
* "pyerAcctNo": "86041110000076809",
* "signNo": "00",
* "transAmt": "0.01",
* "transDtTm": "2023-12-05 16:54:22"
* }
* ],
* "realTrxAmt": "0.01",
* "transDate": "20231205",
* "transSeqNo": "2023120516503906838128gg6DOzjP",
* "transStatus": "00",
* "trxAmt": "0.01"
* },
* "head": {
* "rqsJrnlNo": "16071726224843844",
* "rspCode": "000000",
* "rspDate": "2023-12-05",
* "rspMsg": "处理成功",
* "rspTime": "17:13:43:943"
* }
* }
*/
@ApiOperation(value = "notify", notes = "<br>By:艾庆国") @ApiOperation(value = "notify", notes = "<br>By:艾庆国")
@RequestMapping(value = "/notify", method = RequestMethod.POST) @RequestMapping(value = "/notify", method = RequestMethod.POST)
public Object notify(@RequestBody Map<String, Object> body) throws Exception { public Object notify(@RequestBody Map<String, Object> body) throws Exception {
log.info("宁波银行回调, data:{}", JSON.toJSONString(body));
try { try {
RequestApiData requestApiData = new RequestApiData();
requestApiData.setAppkey("77667c76_3503_4c04_95f7_fc10938c7942");
requestApiData.setData(JSON.parseObject(JSON.toJSONString(body)));
requestApiData.setServiceId("notifyMerchant");
RequestHead requestHead = new RequestHead();
requestHead.setRqsJrnlNo(NBOpenSDK.getRandom());
SDKRequest request = new SDKRequest();
request.setData(requestApiData);
request.setHead(requestHead);
System.out.println("SDK请求内容: " + JSON.toJSONString(request));
SDKResponse result = NBOpenSDK.decryptMessage(request);
System.out.println("SDK响应结果: " + JSON.toJSONString(result));
nbBankNotifyService.payNotify(JSON.toJSONString(body));
return getResultSuc();
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
return getResultFail(); return getResultFail();
} }
return getResultSuc();
} }
private Object getResultSuc() throws Exception { private Object getResultSuc() throws Exception {
...@@ -128,6 +62,7 @@ public class NbBankController { ...@@ -128,6 +62,7 @@ public class NbBankController {
return result.getData(); return result.getData();
} }
private Object getResultFail() throws Exception { private Object getResultFail() throws Exception {
Map<String, String> data = new HashMap<>(); Map<String, String> data = new HashMap<>();
......
...@@ -17,7 +17,8 @@ public class OwnerBindCardRecordDaoImpl extends BaseDaoImpl<OwnerBindCardRecordM ...@@ -17,7 +17,8 @@ public class OwnerBindCardRecordDaoImpl extends BaseDaoImpl<OwnerBindCardRecordM
@Override @Override
public OwnerBindCardRecord getOwnerBindCardByUserNo(Long userNo) { public OwnerBindCardRecord getOwnerBindCardByUserNo(Long userNo) {
return super.getOne(lQrWrapper() return super.getOne(lQrWrapper()
.eq(OwnerBindCardRecord::getOwnerUserNo, userNo) .eq(OwnerBindCardRecord::getOwnerUserNo, userNo).eq(OwnerBindCardRecord::getCreateItem, "绑定银行卡")
.orderByDesc(OwnerBindCardRecord::getId)
.last("limit 1") .last("limit 1")
); );
} }
......
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.BorrowerConfigDao;
import com.clx.performance.enums.loan.BorrowerConfigEnum;
import com.clx.performance.mapper.loan.BorrowerConfigMapper;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerConfigParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 借款配置
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Repository
public class BorrowerConfigDaoImpl extends BaseDaoImpl<BorrowerConfigMapper, BorrowerConfig, Integer> implements BorrowerConfigDao {
@Override
public boolean update(BorrowerConfig item) {
return update(lUdWrapper()
.eq(BorrowerConfig::getId, item.getId())
.set(BorrowerConfig::getBorrowerId, item.getBorrowerId())
.set(BorrowerConfig::getBorrowerName, item.getBorrowerName())
.set(BorrowerConfig::getType, item.getType())
.set(BorrowerConfig::getDay, item.getDay())
.set(BorrowerConfig::getOpUserNo, item.getOpUserNo())
.set(BorrowerConfig::getOpUserName, item.getOpUserName())
.set(BorrowerConfig::getOpTime, item.getOpTime())
);
}
@Override
public boolean updateStatus(BorrowerConfig item) {
return update(lUdWrapper()
.eq(BorrowerConfig::getId, item.getId())
.set(BorrowerConfig::getStatus, item.getStatus())
.set(BorrowerConfig::getOpUserNo, item.getOpUserNo())
.set(BorrowerConfig::getOpUserName, item.getOpUserName())
.set(BorrowerConfig::getOpTime, item.getOpTime())
);
}
@Override
public boolean updateDelete(BorrowerConfig item) {
return update(lUdWrapper()
.eq(BorrowerConfig::getId, item.getId())
.set(BorrowerConfig::getDeleteStatus, item.getDeleteStatus())
.set(BorrowerConfig::getOpUserNo, item.getOpUserNo())
.set(BorrowerConfig::getOpUserName, item.getOpUserName())
.set(BorrowerConfig::getOpTime, item.getOpTime())
);
}
@Override
public Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type) {
return Optional.of(borrowerId)
.map(item -> lQrWrapper()
.eq(BorrowerConfig::getBorrowerId, item)
.eq(BorrowerConfig::getType, type)
.eq(BorrowerConfig::getDeleteStatus, BorrowerConfigEnum.DeleteStatus.NO.getCode())
.last("limit 1")
)
.map(super::getOne);
}
@Override
public List<BorrowerConfig> listEnable() {
return list(lQrWrapper()
.eq(BorrowerConfig::getDeleteStatus, BorrowerConfigEnum.DeleteStatus.NO.getCode())
.eq(BorrowerConfig::getStatus, BorrowerConfigEnum.Status.ENABLE.getCode())
);
}
@Override
public IPage<BorrowerConfigVO> pageByParam(PageBorrowerConfigParam param) {
Page<BorrowerConfigVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.loan.BorrowerEnum;
import com.clx.performance.mapper.loan.BorrowerMapper;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Repository
public class BorrowerDaoImpl extends BaseDaoImpl<BorrowerMapper, Borrower, Integer> implements BorrowerDao {
@Override
public boolean update(Borrower item) {
return update(lUdWrapper()
.eq(Borrower::getId, item.getId())
.set(Borrower::getName, item.getName())
.set(Borrower::getBankName, item.getBankName())
.set(Borrower::getBankCardNo, item.getBankCardNo())
.set(Borrower::getOpUserNo, item.getOpUserNo())
.set(Borrower::getOpUserName, item.getOpUserName())
.set(Borrower::getOpTime, item.getOpTime())
);
}
@Override
public boolean updateStatus(Borrower item) {
return update(lUdWrapper()
.eq(Borrower::getId, item.getId())
.set(Borrower::getStatus, item.getStatus())
.set(Borrower::getOpUserNo, item.getOpUserNo())
.set(Borrower::getOpUserName, item.getOpUserName())
.set(Borrower::getOpTime, item.getOpTime())
);
}
@Override
public boolean updateDelete(Borrower item) {
return update(lUdWrapper()
.eq(Borrower::getId, item.getId())
.set(Borrower::getDeleteStatus, item.getDeleteStatus())
.set(Borrower::getOpUserNo, item.getOpUserNo())
.set(Borrower::getOpUserName, item.getOpUserName())
.set(Borrower::getOpTime, item.getOpTime())
);
}
@Override
public Optional<Borrower> selectByName(String name) {
return Optional.of(name)
.map(item -> lQrWrapper()
.eq(Borrower::getName, item)
.eq(Borrower::getDeleteStatus, BorrowerEnum.DeleteStatus.NO.getCode())
.last("limit 1")
)
.map(super::getOne);
}
@Override
public List<Borrower> listEnable() {
return list(lQrWrapper()
.eq(Borrower::getDeleteStatus, BorrowerEnum.DeleteStatus.NO.getCode())
.eq(Borrower::getStatus, BorrowerEnum.Status.ENABLE.getCode())
);
}
@Override
public IPage<BorrowerVO> pageByParam(PageBorrowerParam param) {
Page<BorrowerVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountApproveDao;
import com.clx.performance.mapper.loan.OwnerLoanAccountApproveMapper;
import com.clx.performance.model.loan.OwnerLoanAccountApprove;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Repository
public class OwnerLoanAccountApproveDaoImpl extends BaseDaoImpl<OwnerLoanAccountApproveMapper, OwnerLoanAccountApprove, Integer> implements OwnerLoanAccountApproveDao {
@Override
public IPage<OwnerLoanAccountApprove> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param) {
LambdaQueryWrapper<OwnerLoanAccountApprove> query = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(param.getOwnerUserNo())){
query.eq(OwnerLoanAccountApprove :: getOwnerUserNo,param.getOwnerUserNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserName())){
query.like(OwnerLoanAccountApprove :: getOwnerUserName,param.getOwnerUserName());
}
if(Objects.nonNull(param.getStatus())){
query.like(OwnerLoanAccountApprove :: getStatus,param.getStatus());
}
query.orderByDesc(OwnerLoanAccountApprove :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.mapper.loan.OwnerLoanAccountMapper;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import com.msl.common.utils.DateUtils;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Repository
public class OwnerLoanAccountDaoImpl extends BaseDaoImpl<OwnerLoanAccountMapper, OwnerLoanAccount, Integer> implements OwnerLoanAccountDao {
@Override
public Integer updateAccountCAS(OwnerLoanAccount account, LocalDateTime now, boolean flag) {
String nowStr = DateUtils.formatDateTime(now).get();
if (flag) {
return baseMapper.addAccount(account, nowStr);
} else {
return null;
// return baseMapper.subAccount(account, nowStr);
}
}
@Override
public IPage<OwnerLoanAccountVO> pageByParam(PageOwnerLoanAccountParam param) {
Page<OwnerLoanAccountVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao;
import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Repository
public class OwnerLoanAccountRunningWaterRecordDaoImpl extends BaseDaoImpl<OwnerLoanAccountRunningWaterRecordMapper, OwnerLoanAccountRunningWaterRecord, Integer> implements OwnerLoanAccountRunningWaterRecordDao {
@Override
public IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(PageOwnerLoanAccountWaterRecordOfOwnerParam param) {
Page<OwnerLoanAccountRunningWaterRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanRecordDao;
import com.clx.performance.mapper.loan.OwnerLoanRecordMapper;
import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
@Repository
public class OwnerLoanRecordDaoImpl extends BaseDaoImpl<OwnerLoanRecordMapper, OwnerLoanRecord, Integer> implements OwnerLoanRecordDao {
@Override
public IPage<OwnerLoanRecord> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param) {
LambdaQueryWrapper<OwnerLoanRecord> query = new LambdaQueryWrapper<>();
if(Objects.nonNull(param.getLoanType())){
query.eq(OwnerLoanRecord :: getLoanType,param.getLoanType());
}
if(StringUtils.isNotBlank(param.getOwnerUserNo())){
query.eq(OwnerLoanRecord :: getOwnerUserNo,param.getOwnerUserNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserName())){
query.like(OwnerLoanRecord :: getOwnerUserName,param.getOwnerUserName());
}
if(StringUtils.isNotBlank(param.getMobile())){
query.like(OwnerLoanRecord :: getMobile,param.getMobile());
}
if(Objects.nonNull(param.getLoanNo())){
query.like(OwnerLoanRecord :: getLoanNo,param.getLoanNo());
}
if(Objects.nonNull(param.getStatus())){
query.like(OwnerLoanRecord :: getStatus,param.getStatus());
}
query.orderByDesc(OwnerLoanRecord :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
@Override
public IPage<OwnerLoanRecordVO> pageByParam(PageOwnerLoanRecordOfOwner param) {
Page<OwnerLoanRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerPaymentDao;
import com.clx.performance.mapper.loan.OwnerPaymentMapper;
import com.clx.performance.model.loan.OwnerPayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerPaymentParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Repository
public class OwnerPaymentDaoImpl extends BaseDaoImpl<OwnerPaymentMapper, OwnerPayment, Integer> implements OwnerPaymentDao {
@Override
public IPage<OwnerPayment> pageOwnerPayment(PageCarrierOwnerPaymentParam param) {
LambdaQueryWrapper<OwnerPayment> query = new LambdaQueryWrapper<>();
if(Objects.nonNull(param.getRepaymentNo())){
query.eq(OwnerPayment :: getRepaymentNo,param.getRepaymentNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserNo())){
query.eq(OwnerPayment :: getOwnerUserNo,param.getOwnerUserNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserName())){
query.like(OwnerPayment :: getOwnerUserName,param.getOwnerUserName());
}
if(StringUtils.isNotBlank(param.getMobile())){
query.like(OwnerPayment :: getMobile,param.getMobile());
}
if(Objects.nonNull(param.getPaymentNo())){
query.like(OwnerPayment :: getPaymentNo,param.getPaymentNo());
}
if(Objects.nonNull(param.getStatus())){
query.like(OwnerPayment :: getStatus,param.getStatus());
}
query.orderByDesc(OwnerPayment :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
}
package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerRepaymentDao;
import com.clx.performance.mapper.loan.OwnerRepaymentMapper;
import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Repository
public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, OwnerRepayment, Integer> implements OwnerRepaymentDao {
@Override
public IPage<OwnerRepayment> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param) {
LambdaQueryWrapper<OwnerRepayment> query = new LambdaQueryWrapper<>();
if(Objects.nonNull(param.getRepaymentNo())){
query.eq(OwnerRepayment :: getRepaymentNo,param.getRepaymentNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserNo())){
query.eq(OwnerRepayment :: getOwnerUserNo,param.getOwnerUserNo());
}
if(StringUtils.isNotBlank(param.getOwnerUserName())){
query.like(OwnerRepayment :: getOwnerUserName,param.getOwnerUserName());
}
if(StringUtils.isNotBlank(param.getMobile())){
query.like(OwnerRepayment :: getMobile,param.getMobile());
}
if(Objects.nonNull(param.getLoanNo())){
query.like(OwnerRepayment :: getLoanNo,param.getLoanNo());
}
if(Objects.nonNull(param.getStatus())){
query.like(OwnerRepayment :: getStatus,param.getStatus());
}
if(Objects.nonNull(param.getBeOverdue())){
query.like(OwnerRepayment :: getBeOverdue,param.getBeOverdue());
}
query.orderByDesc(OwnerRepayment :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
@Override
public IPage<OwnerRepaymentVO> pageByParam(PageOwnerRepaymentOfOwner param) {
Page<OwnerRepaymentVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.nbbank;
import com.clx.performance.dao.nbbank.NbBankRecordDao;
import com.clx.performance.mapper.nbbank.NbBankRecordMapper;
import com.clx.performance.model.nbbank.NbBankRecord;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Repository
public class NbBankRecordRecordDaoImpl extends BaseDaoImpl<NbBankRecordMapper, NbBankRecord, Integer> implements NbBankRecordDao {
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.BorrowerConfigMapper;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerConfigParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 借款配置
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
public interface BorrowerConfigDao extends BaseDao<BorrowerConfigMapper, BorrowerConfig, Integer> {
boolean update(BorrowerConfig item);
boolean updateStatus(BorrowerConfig item);
boolean updateDelete(BorrowerConfig item);
Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type);
List<BorrowerConfig> listEnable();
IPage<BorrowerConfigVO> pageByParam(PageBorrowerConfigParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.BorrowerMapper;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
public interface BorrowerDao extends BaseDao<BorrowerMapper, Borrower, Integer> {
boolean update(Borrower item);
boolean updateStatus(Borrower item);
boolean updateDelete(Borrower item);
Optional<Borrower> selectByName(String name);
List<Borrower> listEnable();
IPage<BorrowerVO> pageByParam(PageBorrowerParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanAccountApproveMapper;
import com.clx.performance.model.loan.OwnerLoanAccountApprove;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountApproveDao extends BaseDao<OwnerLoanAccountApproveMapper, OwnerLoanAccountApprove, Integer> {
IPage<OwnerLoanAccountApprove> pageOwnerLoanAccountApprove(PageOwnerLoanAccountApproveParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanAccountMapper;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import com.msl.common.dao.BaseDao;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountDao extends BaseDao<OwnerLoanAccountMapper, OwnerLoanAccount, Integer> {
Integer updateAccountCAS(OwnerLoanAccount account, LocalDateTime now, boolean flag);
IPage<OwnerLoanAccountVO> pageByParam(PageOwnerLoanAccountParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoanAccountRunningWaterRecordMapper, OwnerLoanAccountRunningWaterRecord, Integer> {
IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(PageOwnerLoanAccountWaterRecordOfOwnerParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanRecordMapper;
import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
public interface OwnerLoanRecordDao extends BaseDao<OwnerLoanRecordMapper, OwnerLoanRecord, Integer> {
IPage<OwnerLoanRecord> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param);
IPage<OwnerLoanRecordVO> pageByParam(PageOwnerLoanRecordOfOwner param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerPaymentMapper;
import com.clx.performance.model.loan.OwnerPayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerPaymentParam;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerPaymentDao extends BaseDao<OwnerPaymentMapper, OwnerPayment, Integer> {
IPage<OwnerPayment> pageOwnerPayment(PageCarrierOwnerPaymentParam param);
}
package com.clx.performance.dao.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerRepaymentMapper;
import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerRepaymentParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerRepaymentDao extends BaseDao<OwnerRepaymentMapper, OwnerRepayment, Integer> {
IPage<OwnerRepayment> pageOwnerRepayment(PageCarrierOwnerRepaymentParam param);
IPage<OwnerRepaymentVO> pageByParam(PageOwnerRepaymentOfOwner param);
}
package com.clx.performance.dao.nbbank;
import com.clx.performance.mapper.nbbank.NbBankRecordMapper;
import com.clx.performance.model.nbbank.NbBankRecord;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
public interface NbBankRecordDao extends BaseDao<NbBankRecordMapper, NbBankRecord, Integer> {
}
...@@ -89,7 +89,11 @@ public class OrderChildSyncTransportInvoiceExceptionJob { ...@@ -89,7 +89,11 @@ public class OrderChildSyncTransportInvoiceExceptionJob {
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail); SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
}else if (ObjectUtil.equal(status, 2)){ }else if (ObjectUtil.equal(status, 2)){
orderChildPaySync.transportOrderChildProcess(orderChild); // orderChildPaySync.transportOrderChildProcess(orderChild);
dto.setStatus(2);
bean.setData(dto);
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
} else { } else {
Object riskReason = json.getByPath("riskReason"); Object riskReason = json.getByPath("riskReason");
OrderChildSyncTransportInvoiceRecord entity = new OrderChildSyncTransportInvoiceRecord(); OrderChildSyncTransportInvoiceRecord entity = new OrderChildSyncTransportInvoiceRecord();
......
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerConfigParam;
import com.clx.performance.sqlProvider.borrower.BorrowerConfigSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 借款配置
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Mapper
public interface BorrowerConfigMapper extends BaseMapper<BorrowerConfig> {
/**
* @see BorrowerConfigSqlProvider#pageByParam(Page, PageBorrowerConfigParam)
*/
@SelectProvider(type = BorrowerConfigSqlProvider.class, method = "pageByParam")
IPage<BorrowerConfigVO> pageByParam(@Param("page") Page<BorrowerConfigVO> page, @Param("param") PageBorrowerConfigParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.sqlProvider.borrower.BorrowerSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Mapper
public interface BorrowerMapper extends BaseMapper<Borrower> {
/**
* @see BorrowerSqlProvider#pageByParam(Page, PageBorrowerParam)
*/
@SelectProvider(type = BorrowerSqlProvider.class, method = "pageByParam")
IPage<BorrowerVO> pageByParam(@Param("page") Page<BorrowerVO> page, @Param("param") PageBorrowerParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.loan.OwnerLoanAccountApprove;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountApproveMapper extends BaseMapper<OwnerLoanAccountApprove> {
}
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam;
import com.clx.performance.sqlProvider.borrower.OwnerLoanAccountSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountMapper extends BaseMapper<OwnerLoanAccount> {
@Update("update owner_loan_account set funding_amount = funding_amount + #{account.fundingAmount}"
+ ",virtually_amount = virtually_amount + #{account.virtuallyAmount}"
+ ",modified_time= #{now}"
+ "where id = #{account.id} and modified_time = #{account.modifiedTime}"
)
Integer addAccount(@Param("account") OwnerLoanAccount account, @Param("now") String nowStr);
// @Update("update owner_account set funding_amount = funding_amount - #{account.fundingAmount}," +
// "frozen_balance = frozen_balance + #{account.frozenBalance},account_balance = account_balance - #{account.accountBalance}," +
// "modified_time=#{now}"
// + "where id = #{account.id} and modified_time = #{account.modifiedTime}"
// )
// Integer subAccount(@Param("account") OwnerAccount account, @Param("now") String now);
/**
* @see OwnerLoanAccountSqlProvider#pageByParam(Page, PageOwnerLoanAccountParam)
*/
@SelectProvider(type = OwnerLoanAccountSqlProvider.class, method = "pageByParam")
IPage<OwnerLoanAccountVO> pageByParam(@Param("page") Page<OwnerLoanAccountVO> page, @Param("param") PageOwnerLoanAccountParam param);
}
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.sqlProvider.borrower.OwnerLoanAccountRunningWaterRecordSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerLoanAccountRunningWaterRecordMapper extends BaseMapper<OwnerLoanAccountRunningWaterRecord> {
/**
* @see OwnerLoanAccountRunningWaterRecordSqlProvider#pageByParam(Page, PageOwnerLoanAccountWaterRecordOfOwnerParam)
*/
@SelectProvider(type = OwnerLoanAccountRunningWaterRecordSqlProvider.class, method = "pageByParam")
IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(@Param("page") Page<OwnerLoanAccountRunningWaterRecordVO> page, @Param("param") PageOwnerLoanAccountWaterRecordOfOwnerParam param);
}
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.OwnerLoanRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.sqlProvider.borrower.OwnerLoanRecordSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
public interface OwnerLoanRecordMapper extends BaseMapper<OwnerLoanRecord> {
/**
* @see OwnerLoanRecordSqlProvider#pageByParam(Page, PageOwnerLoanRecordOfOwner)
*/
@SelectProvider(type = OwnerLoanRecordSqlProvider.class, method = "pageByParam")
IPage<OwnerLoanRecordVO> pageByParam(@Param("page") Page<OwnerLoanRecordVO> page, @Param("param") PageOwnerLoanRecordOfOwner param);
}
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.loan.OwnerPayment;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerPaymentMapper extends BaseMapper<OwnerPayment> {
}
package com.clx.performance.mapper.loan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.loan.OwnerRepayment;
import com.clx.performance.param.pc.loan.carrier.PageOwnerRepaymentOfOwner;
import com.clx.performance.sqlProvider.borrower.OwnerRepaymentSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.OwnerRepaymentVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public interface OwnerRepaymentMapper extends BaseMapper<OwnerRepayment> {
/**
* @see OwnerRepaymentSqlProvider#pageByParam(Page, PageOwnerRepaymentOfOwner)
*/
@SelectProvider(type = OwnerRepaymentSqlProvider.class, method = "pageByParam")
IPage<OwnerRepaymentVO> pageByParam(@Param("page") Page<OwnerRepaymentVO> page, @Param("param") PageOwnerRepaymentOfOwner param);
}
package com.clx.performance.mapper.nbbank;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.nbbank.NbBankRecord;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: aiqinguo
* @Description: 宁波银行请求记录
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Mapper
public interface NbBankRecordMapper extends BaseMapper<NbBankRecord> {
}
\ No newline at end of file
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class Borrower implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private String name; //借出方
private String bankName; //所属银行
private String bankCardNo; //银行账号
private Integer deleteStatus; //删除状态: 0-否;1-是
private Integer status; //状态:1启用 2禁用
private Long opUserNo; //操作人编码
private String opUserName; //操作人
private LocalDateTime opTime; //操作时间
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 借款配置
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class BorrowerConfig implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Integer borrowerId; //借出方id
private String borrowerName; //借出方
private Integer type; //类型:1资金 2虚拟货币
private Integer day; //借款天数
private Integer deleteStatus; //删除状态: 0-否;1-是
private Integer status; //状态:1启用 2禁用
private Long opUserNo; //操作人编码
private String opUserName; //操作人
private LocalDateTime opTime; //操作时间
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_loan_account")
public class OwnerLoanAccount implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("account_type")
@ApiModelProperty("账户类型: 默认3 借款账户")
private Integer accountType;
@TableField("funding_amount")
@ApiModelProperty("资金金额")
private BigDecimal fundingAmount;
@TableField("virtually_amount")
@ApiModelProperty("虚拟币金额")
private BigDecimal virtuallyAmount;
@TableField("funding_arrears")
@ApiModelProperty("资金欠款")
private BigDecimal fundingArrears;
@TableField("virtually_arrears")
@ApiModelProperty("虚拟币欠款")
private BigDecimal virtuallyArrears;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_loan_account_approve")
public class OwnerLoanAccountApprove implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("account_type")
@ApiModelProperty("账户类型 默认3 借款账户")
private Integer accountType;
@TableField("status")
@ApiModelProperty("待审批 10,审批成功 20,审批拒绝 30")
private Integer status;
@TableField("approve_time")
@ApiModelProperty("审批时间")
private LocalDateTime approveTime;
@TableField("approve_by")
@ApiModelProperty("审批人")
private String approveBy;
@TableField("reject_reason")
@ApiModelProperty("拒绝原因")
private String rejectReason;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_loan_account_running_water_record")
public class OwnerLoanAccountRunningWaterRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("running_water_no")
@ApiModelProperty("流水号")
private Long runningWaterNo;
@TableField("loan_no")
@ApiModelProperty("借款单号")
private Long loanNo;
@TableField("child_no")
@ApiModelProperty("运单编号")
private String childNo;
@TableField("running_water_type")
@ApiModelProperty("流水类型 70:运单核销 80:借款")
private Integer runningWaterType;
@TableField("alteration_balance")
@ApiModelProperty("金额")
private BigDecimal alterationBalance;
@TableField("account_balance")
@ApiModelProperty("账户余额")
private BigDecimal accountBalance;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 17:05
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_loan_record")
public class OwnerLoanRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("running_water_open_no")
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@TableField("merchant_running_water_no")
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@TableField("loan_no")
@ApiModelProperty("借款单号")
private Long loanNo;
@TableField("loan_type")
@ApiModelProperty("借款类型 1:虚拟货币 2:资金")
private Integer loanType;
@TableField("loan_balance")
@ApiModelProperty("借款金额")
private BigDecimal loanBalance;
@TableField("borrower")
@ApiModelProperty("借款方")
private String borrower;
@ApiModelProperty("借款方账户")
@TableField("borrower_account")
private String borrowerAccount;
@TableField("lending_party")
@ApiModelProperty("借出方")
private String lendingParty;
@TableField("payment_account")
@ApiModelProperty("付款账户")
private String paymentAccount;
@TableField("payee")
@ApiModelProperty("收款方")
private String payee;
@TableField("payee_account")
@ApiModelProperty("收款账户")
private String payeeAccount;
@TableField("status")
@ApiModelProperty("10 待审批 20 审批通过 30 审批拒绝 40 付款中 50 付款成功 60 付款失败 ")
private Integer status;
@TableField("approve_time")
@ApiModelProperty("审批时间")
private LocalDateTime approveTime;
@TableField("approve_by")
@ApiModelProperty("审批人")
private String approveBy;
@TableField("reject_reason")
@ApiModelProperty("拒绝原因")
private String rejectReason;
@TableField("loan_repayment_time")
@ApiModelProperty("借款归还时间")
private LocalDateTime loanRepaymentTime;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_payment")
public class OwnerPayment implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("running_water_open_no")
@ApiModelProperty("交易流水号(第三方)")
private Long runningWaterOpenNo;
@TableField("payment_no")
@ApiModelProperty("付款单号")
private Long paymentNo;
@TableField("repayment_no")
@ApiModelProperty("还款单号")
private Long repaymentNo;
@TableField("payment_balance")
@ApiModelProperty("付款金额")
private BigDecimal paymentBalance;
@TableField("payment")
@ApiModelProperty("付款方")
private String payment;
@TableField("payment_account")
@ApiModelProperty("付款账户")
private String paymentAccount;
@TableField("payee")
@ApiModelProperty("收款方")
private String payee;
@TableField("payee_account")
@ApiModelProperty("收款账户")
private String payeeAccount;
@TableField("status")
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@TableField("pay_channel")
@ApiModelProperty("默认财资 30 ")
private Integer payChannel;
@TableField("operate_time")
@ApiModelProperty("操作时间")
private LocalDateTime operateTime;
@TableField("operate_by")
@ApiModelProperty("操作人")
private String operateBy;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.loan;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("owner_repayment")
public class OwnerRepayment implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("owner_user_no")
@ApiModelProperty("货主编码")
private Long ownerUserNo;
@TableField("owner_user_name")
@ApiModelProperty("货主名称")
private String ownerUserName;
@TableField("mobile")
@ApiModelProperty("联系电话")
private String mobile;
@TableField("running_water_open_no")
@ApiModelProperty("交易流水号(第三方)")
private String runningWaterOpenNo;
@TableField("merchant_running_water_no")
@ApiModelProperty("商户流水号")
private String merchantRunningWaterNo;
@TableField("repayment_no")
@ApiModelProperty("还款单号")
private Long repaymentNo;
@TableField("repayment_balance")
@ApiModelProperty("还款金额")
private BigDecimal repaymentBalance;
@TableField("payment")
@ApiModelProperty("付款方")
private String payment;
@TableField("payment_account")
@ApiModelProperty("付款账户")
private String paymentAccount;
@TableField("payee")
@ApiModelProperty("收款方")
private String payee;
@TableField("payee_account")
@ApiModelProperty("收款账户")
private String payeeAccount;
@TableField("loan_no")
@ApiModelProperty("借款单号")
private Long loanNo;
@TableField("status")
@ApiModelProperty("10 待付款 40 付款中 50 付款成功 60 付款失败")
private Integer status;
@TableField("pay_channel")
@ApiModelProperty("支付渠道 10 订单支付 20 转账支付")
private Integer payChannel;
@TableField("be_overdue")
@ApiModelProperty("10 未逾期 20 已逾期")
private Integer beOverdue;
@TableField("loan_repayment_time")
@ApiModelProperty("借款归还时间")
private LocalDateTime loanRepaymentTime;
@TableField("operate_time")
@ApiModelProperty("操作时间")
private LocalDateTime operateTime;
@TableField("operate_by")
@ApiModelProperty("操作人")
private String operateBy;
@TableField("create_by")
@ApiModelProperty("创建人")
private String createBy;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.nbbank;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 宁波银行请求记录
* @Date: 2024/01/20 13:28:28
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class NbBankRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Integer type; //类型:1转账直连下单 2银联订单支付收款模式 3交易结果查询 4异步通知交易结果
private String merId; //商户号
private String merSeqNo; //商户号流水号
private LocalDateTime merDtTm; //商户交易时间
private String transSeqNo; //第三方流水号
private Integer amount; //金额 (分)
private String param; //参数
private String result; //方法
private String errorCode; //错误码
private String errorMsg; //错误信息
private String transStatus; //交易状态
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
...@@ -16,6 +16,7 @@ import com.clx.performance.param.pc.owner.ThawAccountParam; ...@@ -16,6 +16,7 @@ import com.clx.performance.param.pc.owner.ThawAccountParam;
import com.clx.performance.vo.pc.OwnerAccountAllVO; import com.clx.performance.vo.pc.OwnerAccountAllVO;
import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.OwnerAccountVO; import com.clx.performance.vo.pc.OwnerAccountVO;
import com.clx.performance.vo.pc.OwnerLoanAccountVO;
import com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam; import com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam;
import com.clx.user.vo.pc.owner.OwnerBindCardVO; import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
...@@ -101,4 +102,6 @@ public interface OwnerAccountService { ...@@ -101,4 +102,6 @@ public interface OwnerAccountService {
String checkBusinessLicenseNumber(InformationParam param); String checkBusinessLicenseNumber(InformationParam param);
void resetPassword(ResetPasswordParam param); void resetPassword(ResetPasswordParam param);
OwnerLoanAccountVO loanAccount(Long userNo);
} }
...@@ -15,11 +15,13 @@ import com.clx.performance.config.ClxMessageConfig; ...@@ -15,11 +15,13 @@ import com.clx.performance.config.ClxMessageConfig;
import com.clx.performance.constant.RabbitKeyConstants; import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.constant.RedisConstants; import com.clx.performance.constant.RedisConstants;
import com.clx.performance.dao.*; import com.clx.performance.dao.*;
import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.enums.IdTypeEnum; import com.clx.performance.enums.IdTypeEnum;
import com.clx.performance.enums.OwnerAccountEnum; import com.clx.performance.enums.OwnerAccountEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.extranal.user.OwnerInfoService; import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.*; import com.clx.performance.model.*;
import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.param.app.CheckMobileParam; import com.clx.performance.param.app.CheckMobileParam;
import com.clx.performance.param.app.InformationParam; import com.clx.performance.param.app.InformationParam;
import com.clx.performance.param.app.ResetPasswordParam; import com.clx.performance.param.app.ResetPasswordParam;
...@@ -33,6 +35,7 @@ import com.clx.performance.param.pc.owner.FrozenAccountParam; ...@@ -33,6 +35,7 @@ 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.struct.OwnerAccountStruct; import com.clx.performance.struct.OwnerAccountStruct;
import com.clx.performance.struct.loan.OwnerLoanAccountStruct;
import com.clx.performance.utils.MyMD5Util; import com.clx.performance.utils.MyMD5Util;
import com.clx.performance.utils.excel.ExcelData; import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField; import com.clx.performance.utils.excel.ExcelField;
...@@ -41,6 +44,7 @@ import com.clx.performance.utils.excel.ExcelUtil; ...@@ -41,6 +44,7 @@ import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.OwnerAccountAllVO; import com.clx.performance.vo.pc.OwnerAccountAllVO;
import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.OwnerAccountVO; import com.clx.performance.vo.pc.OwnerAccountVO;
import com.clx.performance.vo.pc.OwnerLoanAccountVO;
import com.clx.user.enums.owner.FreezeSettingEnum; import com.clx.user.enums.owner.FreezeSettingEnum;
import com.clx.user.feign.OwnerFeign; import com.clx.user.feign.OwnerFeign;
import com.clx.user.feign.OwnerInfoFeign; import com.clx.user.feign.OwnerInfoFeign;
...@@ -111,6 +115,10 @@ public class OwnerAccountServiceImpl implements OwnerAccountService { ...@@ -111,6 +115,10 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
private final OwnerInfoService ownerInfoService; private final OwnerInfoService ownerInfoService;
private final OwnerLoanAccountDao ownerLoanAccountDao;
private final OwnerLoanAccountStruct ownerLoanAccountStruct;
@Override @Override
public IPage<OwnerAccountVO> pageList(PageOwnerAccountListParam param) { public IPage<OwnerAccountVO> pageList(PageOwnerAccountListParam param) {
return ownerAccountDao.pageList(param); return ownerAccountDao.pageList(param);
...@@ -249,7 +257,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService { ...@@ -249,7 +257,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
entity.setCaseOutBalance(caseOutBalance); entity.setCaseOutBalance(caseOutBalance);
entity.setOwnerUserNo(param.getOwnerUserNo()); entity.setOwnerUserNo(param.getOwnerUserNo());
entity.setStatus(OwnerAccountEnum.CaseOutStatus.PENDING_PAYMENT.getCode()); entity.setStatus(OwnerAccountEnum.CaseOutStatus.PENDING_PAYMENT.getCode());
entity.setCaseOutBank(param.getOwnerAccountBank()); entity.setCaseOutBank(param.getOwnerOpenBank());
entity.setCaseOutBankNumber(param.getOwnerBankAccount()); entity.setCaseOutBankNumber(param.getOwnerBankAccount());
entity.setCreateBy(loginUserInfo.getUserName()); entity.setCreateBy(loginUserInfo.getUserName());
...@@ -1213,5 +1221,13 @@ public class OwnerAccountServiceImpl implements OwnerAccountService { ...@@ -1213,5 +1221,13 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
} }
} }
@Override
public OwnerLoanAccountVO loanAccount(Long userNo) {
OwnerLoanAccount ownerLoanAccount = ownerLoanAccountDao.getOneByField(OwnerLoanAccount::getOwnerUserNo, userNo).orNull();
if (ownerLoanAccount == null) {
return null;
}
return ownerLoanAccountStruct.convert(ownerLoanAccount);
}
} }
package com.clx.performance.service.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.loan.BorrowerConfigDao;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.BorrowerConfigEnum;
import com.clx.performance.model.loan.Borrower;
import com.clx.performance.model.loan.BorrowerConfig;
import com.clx.performance.param.pc.loan.carrier.*;
import com.clx.performance.service.loan.BorrowerConfigService;
import com.clx.performance.struct.borrower.BorrowerConfigStruct;
import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
* @Author: aiqinguo
* @Description: 借出方
* @Date: 2024/01/17 13:42:57
* @Version: 1.0
*/
@Slf4j
@Service
public class BorrowerConfigServiceImpl implements BorrowerConfigService {
@Autowired
private BorrowerDao borrowerDao;
@Autowired
private BorrowerConfigDao borrowerConfigDao;
@Autowired
private BorrowerConfigStruct borrowerConfigStruct;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveBorrowerConfig(BorrowerConfigAddParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
// 重复验证
Optional<BorrowerConfig> borrowerConfigOptional = borrowerConfigDao.selectByBorrowerIdAndType(param.getBorrowerId(), param.getType());
if (borrowerConfigOptional.isPresent()) {
throw new ServiceSystemException(PerformanceResultEnum.BORROWER_CONFIG_BORROWER_ID_EXIST);
}
Borrower borrower = borrowerDao.getEntityByKey(param.getBorrowerId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
BorrowerConfig borrowerConfig = new BorrowerConfig();
borrowerConfig.setBorrowerId(borrower.getId());
borrowerConfig.setBorrowerName(borrower.getName());
borrowerConfig.setType(param.getType());
borrowerConfig.setDay(param.getDay());
borrowerConfig.setOpUserNo(loginUserInfo.getUserNo());
borrowerConfig.setOpUserName(loginUserInfo.getUserName());
borrowerConfig.setOpTime(LocalDateTime.now());
borrowerConfigDao.saveEntity(borrowerConfig);
}
@Override
public void updateBorrowerConfig(BorrowerConfigUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
BorrowerConfig borrowerConfig = borrowerConfigDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 重复验证
Optional<BorrowerConfig> borrowerConfigOptional = borrowerConfigDao.selectByBorrowerIdAndType(param.getBorrowerId(), param.getType());
if (borrowerConfigOptional.isPresent() && !Objects.equals(borrowerConfig.getId(), borrowerConfigOptional.get().getId())) {
throw new ServiceSystemException(PerformanceResultEnum.BORROWER_CONFIG_BORROWER_ID_EXIST);
}
Borrower borrower = borrowerDao.getEntityByKey(param.getBorrowerId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
borrowerConfig.setBorrowerId(borrower.getId());
borrowerConfig.setBorrowerName(borrower.getName());
borrowerConfig.setType(param.getType());
borrowerConfig.setDay(param.getDay());
borrowerConfig.setOpUserNo(loginUserInfo.getUserNo());
borrowerConfig.setOpUserName(loginUserInfo.getUserName());
borrowerConfig.setOpTime(LocalDateTime.now());
borrowerConfigDao.update(borrowerConfig);
}
@Override
public void updateStatus(BorrowerConfigStatusUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
BorrowerConfig borrowerConfig = borrowerConfigDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
borrowerConfig.setStatus(param.getStatus());
borrowerConfig.setOpUserNo(loginUserInfo.getUserNo());
borrowerConfig.setOpUserName(loginUserInfo.getUserName());
borrowerConfig.setOpTime(LocalDateTime.now());
borrowerConfigDao.updateStatus(borrowerConfig);
}
@Override
public void updateDelete(BorrowerConfigDeleteUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
BorrowerConfig borrowerConfig = borrowerConfigDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
borrowerConfig.setDeleteStatus(BorrowerConfigEnum.DeleteStatus.YES.getCode());
borrowerConfig.setOpUserNo(loginUserInfo.getUserNo());
borrowerConfig.setOpUserName(loginUserInfo.getUserName());
borrowerConfig.setOpTime(LocalDateTime.now());
borrowerConfigDao.updateDelete(borrowerConfig);
}
@Override
public IPage<BorrowerConfigVO> pageBorrowerConfig(PageBorrowerConfigParam param) {
return borrowerConfigDao.pageByParam(param);
}
@Override
public List<BorrowerConfigVO> ListBorrowerConfig() {
return borrowerConfigStruct.convert(borrowerConfigDao.listEnable());
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论