refactor(payment): 更新对账付款相关实体和查询参数

- 将账户类别和账户类型字段从Boolean改为枚举类型
- 重命名回款时间为支付时间(paidAt),回款金额为支付金额(paidAmount)
- 新增支付凭证字段用于存储回款凭证列表
- 在查询参数中新增经销商ID、公司ID、账户名称、账户号码等筛选条件
- 添加订单供应商查询中的名称、发货日期、发票日期筛选功能
- 在供应商发票查询中支持按订单供应商ID、订单ID和登记时间筛选
- 更新数据访问层实现以支持新的查询条件和关联查询
- 修改SQL映射文件中的字段名称和查询逻辑
- 在费用记录网关中新增车辆数量和记录日期字段
This commit is contained in:
shenyifei 2026-01-14 11:50:13 +08:00
parent b582d62a7b
commit e02645531a
16 changed files with 168 additions and 27 deletions

View File

@ -3,6 +3,7 @@ package com.xunhong.erp.turbo.biz.app.assembler;
import com.xunhong.erp.turbo.api.biz.dto.vo.ReconciliationPaymentVO;
import com.xunhong.erp.turbo.biz.domain.entity.ReconciliationPayment;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
/**
@ -11,5 +12,7 @@ import org.mapstruct.NullValueCheckStrategy;
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface ReconciliationPaymentAssembler {
@Mapping(target = "dealerVO", source = "dealer")
@Mapping(target = "companyVO", source = "company")
ReconciliationPaymentVO toReconciliationPaymentVO(ReconciliationPayment reconciliationPayment);
}

View File

@ -2,11 +2,14 @@ package com.xunhong.erp.turbo.biz.domain.entity;
import com.alibaba.cola.domain.Entity;
import com.alibaba.cola.dto.DTO;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountCategoryEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author shenyifei
@ -44,12 +47,12 @@ public class ReconciliationPayment extends DTO {
/**
* 账户类别1_对公账户2_私人账户
*/
private Boolean accountCategory;
private CompanyPaymentAccountCategoryEnum accountCategory;
/**
* 账户类型1_银行卡2_支付宝3_微信
*/
private Boolean accountType;
private CompanyPaymentAccountTypeEnum accountType;
/**
* 银行名称
@ -74,12 +77,17 @@ public class ReconciliationPayment extends DTO {
/**
* 回款时间
*/
private LocalDateTime returnAt;
private LocalDateTime paidAt;
/**
* 回款金额
*/
private BigDecimal returnAmount;
private BigDecimal paidAmount;
/**
* 回款凭证
*/
private List<String> paidCredentials;
/**
* 备注
@ -91,5 +99,9 @@ public class ReconciliationPayment extends DTO {
*/
private LocalDateTime createdAt;
private Dealer dealer;
private Company company;
}

View File

@ -15,14 +15,20 @@ import org.mapstruct.NullValueCheckStrategy;
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface ReconciliationPaymentConvert {
@Mapping(target = "dealer", source = "dealerDO")
@Mapping(target = "company", source = "companyDO")
ReconciliationPayment toReconciliationPayment(ReconciliationPaymentDO reconciliationPaymentDO);
@Mapping(target = "dealerDO", ignore = true)
@Mapping(target = "companyDO", ignore = true)
@Mapping(target = "version", ignore = true)
@Mapping(target = "updatedAt", ignore = true)
@Mapping(target = "isDelete", ignore = true)
@Mapping(target = "createdAt", ignore = true)
ReconciliationPaymentDO toReconciliationPaymentDO(ReconciliationPaymentCreateCmd reconciliationPaymentCreateCmd);
@Mapping(target = "dealerDO", ignore = true)
@Mapping(target = "companyDO", ignore = true)
@Mapping(target = "version", ignore = true)
@Mapping(target = "updatedAt", ignore = true)
@Mapping(target = "isDelete", ignore = true)

View File

@ -19,7 +19,7 @@ import java.util.List;
* @author shenyifei
*/
@Data
@TableName(value = "reconciliation_payment")
@TableName(value = "reconciliation_payment", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
public class ReconciliationPaymentDO extends BaseDO<ReconciliationPaymentDO> {
@ -113,5 +113,11 @@ public class ReconciliationPaymentDO extends BaseDO<ReconciliationPaymentDO> {
@TableField(value = "remark")
private String remark;
@TableField(exist = false)
private DealerDO dealerDO;
@TableField(exist = false)
private CompanyDO companyDO;
}

View File

@ -255,6 +255,8 @@ public class ExpenseRecordGatewayImpl implements ExpenseRecordGateway {
expenseRecord.setTotalProvision(orderCostDO.getPrice());
expenseRecord.setTotalExpense(BigDecimal.ZERO);
expenseRecord.setDailyProfit(orderCostDO.getPrice());
expenseRecord.setTotalVehicleCount(1);
expenseRecord.setRecordDate(today);
expenseRecord.setCreatedAt(LocalDateTime.now());
expenseRecordMapper.insert(expenseRecord);
} else {
@ -263,6 +265,7 @@ public class ExpenseRecordGatewayImpl implements ExpenseRecordGateway {
BigDecimal newDailyProfit = newTotalProvision.subtract(expenseRecord.getTotalExpense());
expenseRecord.setTotalProvision(newTotalProvision);
expenseRecord.setDailyProfit(newDailyProfit);
expenseRecord.setTotalVehicleCount(expenseRecord.getTotalVehicleCount() + 1);
expenseRecordMapper.updateById(expenseRecord);
}

View File

@ -1,6 +1,7 @@
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -44,6 +45,7 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
@Override
public IPage<OrderSupplier> page(OrderSupplierPageQry orderSupplierPageQry) {
LambdaQueryWrapper<OrderSupplierDO> queryWrapper = Wrappers.lambdaQuery(OrderSupplierDO.class);
queryWrapper.eq(StrUtil.isNotBlank(orderSupplierPageQry.getName()), OrderSupplierDO::getName, orderSupplierPageQry.getName());
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getInvoiceUpload()), OrderSupplierDO::getInvoiceUpload, orderSupplierPageQry.getInvoiceUpload());
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getInvoiceId()), OrderSupplierDO::getInvoiceId, orderSupplierPageQry.getInvoiceId());
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getIsPaid()), OrderSupplierDO::getIsPaid, orderSupplierPageQry.getIsPaid());

View File

@ -1,5 +1,7 @@
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -13,12 +15,21 @@ import com.xunhong.erp.turbo.api.biz.dto.qry.ReconciliationPaymentShowQry;
import com.xunhong.erp.turbo.biz.domain.entity.ReconciliationPayment;
import com.xunhong.erp.turbo.biz.domain.gateway.ReconciliationPaymentGateway;
import com.xunhong.erp.turbo.biz.infrastructure.convert.ReconciliationPaymentConvert;
import com.xunhong.erp.turbo.biz.infrastructure.entity.CompanyDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.ReconciliationPaymentDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.CompanyMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.DealerMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.ReconciliationPaymentMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author shenyifei
@ -29,6 +40,10 @@ public class ReconciliationPaymentGatewayImpl implements ReconciliationPaymentGa
private final ReconciliationPaymentMapper reconciliationPaymentMapper;
private final ReconciliationPaymentConvert reconciliationPaymentConvert;
private final DealerMapper dealerMapper;
private final CompanyMapper companyMapper;
@Override
public ReconciliationPayment save(ReconciliationPaymentCreateCmd reconciliationPaymentCreateCmd) {
ReconciliationPaymentDO reconciliationPaymentDO = reconciliationPaymentConvert.toReconciliationPaymentDO(reconciliationPaymentCreateCmd);
@ -40,11 +55,32 @@ public class ReconciliationPaymentGatewayImpl implements ReconciliationPaymentGa
@Override
public IPage<ReconciliationPayment> page(ReconciliationPaymentPageQry reconciliationPaymentPageQry) {
LambdaQueryWrapper<ReconciliationPaymentDO> queryWrapper = Wrappers.lambdaQuery(ReconciliationPaymentDO.class);
queryWrapper.eq(Objects.nonNull(reconciliationPaymentPageQry.getDealerId()), ReconciliationPaymentDO::getDealerId, reconciliationPaymentPageQry.getDealerId());
queryWrapper.eq(Objects.nonNull(reconciliationPaymentPageQry.getCompanyId()), ReconciliationPaymentDO::getCompanyId, reconciliationPaymentPageQry.getCompanyId());
queryWrapper.like(StrUtil.isNotBlank(reconciliationPaymentPageQry.getAccountName()), ReconciliationPaymentDO::getAccountName, reconciliationPaymentPageQry.getAccountName());
queryWrapper.like(StrUtil.isNotBlank(reconciliationPaymentPageQry.getAccountNumber()), ReconciliationPaymentDO::getAccountNumber, reconciliationPaymentPageQry.getAccountNumber());
queryWrapper.eq(Objects.nonNull(reconciliationPaymentPageQry.getAccountCategory()), ReconciliationPaymentDO::getAccountCategory, reconciliationPaymentPageQry.getAccountCategory());
queryWrapper.eq(Objects.nonNull(reconciliationPaymentPageQry.getAccountType()), ReconciliationPaymentDO::getAccountType, reconciliationPaymentPageQry.getAccountType());
queryWrapper.orderByDesc(ReconciliationPaymentDO::getCreatedAt);
IPage<ReconciliationPaymentDO> page = new Page<>(reconciliationPaymentPageQry.getPageIndex(), reconciliationPaymentPageQry.getPageSize());
page = reconciliationPaymentMapper.selectPage(page, queryWrapper);
Set<Long> dealerIdList = page.getRecords().stream().map(ReconciliationPaymentDO::getDealerId).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(dealerIdList)) {
List<DealerDO> dealerDOList = dealerMapper.selectByIds(dealerIdList);
Map<Long, DealerDO> dealerDOMap = dealerDOList.stream().collect(Collectors.toMap(DealerDO::getDealerId, Function.identity()));
page.getRecords().forEach(reconciliationPaymentDO -> reconciliationPaymentDO.setDealerDO(dealerDOMap.get(reconciliationPaymentDO.getDealerId())));
}
Set<Long> companyIdList = page.getRecords().stream().map(ReconciliationPaymentDO::getCompanyId).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(companyIdList)) {
List<CompanyDO> companyDOList = companyMapper.selectByIds(companyIdList);
Map<Long, CompanyDO> companyDOMap = companyDOList.stream().collect(Collectors.toMap(CompanyDO::getCompanyId, Function.identity()));
page.getRecords().forEach(reconciliationPaymentDO -> reconciliationPaymentDO.setCompanyDO(companyDOMap.get(reconciliationPaymentDO.getCompanyId())));
}
return page.convert(reconciliationPaymentConvert::toReconciliationPayment);
}

View File

@ -62,6 +62,15 @@ public class SupplierInvoiceGatewayImpl implements SupplierInvoiceGateway {
public IPage<SupplierInvoice> page(SupplierInvoicePageQry supplierInvoicePageQry) {
LambdaQueryWrapper<SupplierInvoiceDO> queryWrapper = Wrappers.lambdaQuery(SupplierInvoiceDO.class);
queryWrapper.eq(Objects.nonNull(supplierInvoicePageQry.getSupplierId()), SupplierInvoiceDO::getSupplierId, supplierInvoicePageQry.getSupplierId());
if (Objects.nonNull(supplierInvoicePageQry.getOrderSupplierId())) {
queryWrapper.apply("JSON_CONTAINS(JSON_EXTRACT(si.order_supplier_invoice, '$[*].supplierId'), '" + supplierInvoicePageQry.getOrderSupplierId() + "', '$')");
}
if (Objects.nonNull(supplierInvoicePageQry.getOrderId())) {
queryWrapper.apply("JSON_CONTAINS(JSON_EXTRACT(si.order_supplier_invoice, '$[*].orderId'), '" + supplierInvoicePageQry.getOrderId() + "', '$')");
}
if (CollUtil.isNotEmpty(supplierInvoicePageQry.getRegistrationTime())) {
queryWrapper.between(SupplierInvoiceDO::getRegistrationTime, supplierInvoicePageQry.getRegistrationTime().get(0), supplierInvoicePageQry.getRegistrationTime().get(1));
}
queryWrapper.orderByDesc(SupplierInvoiceDO::getCreatedAt);
IPage<SupplierInvoiceDO> page = new Page<>(supplierInvoicePageQry.getPageIndex(), supplierInvoicePageQry.getPageSize());

View File

@ -53,8 +53,8 @@
<association property="supplierInvoiceDO"
javaType="com.xunhong.erp.turbo.biz.infrastructure.entity.SupplierInvoiceDO">
<result property="supplierInvoiceId" column="supplier_invoice_id"/>
<result property="supplierId" column="supplier_id"/>
<result property="supplierName" column="supplier_name"/>
<result property="supplierId" column="invoice_supplier_id"/>
<result property="supplierName" column="invoice_supplier_name"/>
<result property="invoiceSn" column="invoice_sn"/>
<result property="invoiceImg" column="invoice_img"
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
@ -67,7 +67,7 @@
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO"
resultMap="BaseResultMap">
SELECT
os.*, si.supplier_invoice_id, si.supplier_id, si.supplier_name,
os.*, si.supplier_invoice_id, si.supplier_id as invoice_supplier_id, si.supplier_name as invoice_supplier_name,
si.invoice_sn, si.invoice_img, si.registration_time,
po.state as po_state
FROM order_supplier os
@ -79,9 +79,13 @@
LEFT JOIN `order` po ON os.order_id = po.order_id AND po.is_delete = 0
<where>
os.is_delete = 0
<if test="query.deliveryTime != null and query.deliveryTime.size() == 2">
AND ov.delivery_time BETWEEN #{query.deliveryTime[0]} AND
#{query.deliveryTime[1]}
<if test="query.shippingDate != null and query.shippingDate.size() == 2">
AND ov.delivery_time BETWEEN #{query.shippingDate[0]} AND
#{query.shippingDate[1]}
</if>
<if test="query.invoiceDate != null and query.invoiceDate.size() == 2">
AND si.registration_time BETWEEN #{query.invoiceDate[0]} AND
#{query.invoiceDate[1]}
</if>
<if test="query.supplierId != null">
AND os.supplier_id = #{query.supplierId}
@ -117,7 +121,7 @@
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO"
resultMap="BaseResultMap">
SELECT
os.*, si.supplier_invoice_id, si.supplier_id, si.supplier_name,
os.*, si.supplier_invoice_id, si.supplier_id as invoice_supplier_id, si.supplier_name as invoice_supplier_name,
si.invoice_sn, si.invoice_img, si.registration_time
FROM order_supplier os
LEFT JOIN supplier_invoice si ON os.invoice_id = si.supplier_invoice_id

View File

@ -12,7 +12,8 @@
<result property="isRounding" column="is_rounding"/>
<result property="roundingAmount" column="rounding_amount"/>
<result property="roundingRemark" column="rounding_remark"/>
<result property="reconciliationAmount" column="reconciliation_amount"/>
<result property="reconciliationAmount" column="reconciliation_amount"
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
<result property="state" column="state"/>
<result property="remark" column="remark"/>
<result property="createdAt" column="created_at"/>

View File

@ -17,8 +17,10 @@
<result property="branchName" column="branch_name"/>
<result property="accountName" column="account_name"/>
<result property="accountNumber" column="account_number"/>
<result property="returnAt" column="return_at"/>
<result property="returnAmount" column="return_amount"/>
<result property="paidAt" column="paid_at"/>
<result property="paidAmount" column="paid_amount"/>
<result property="paidCredentials" column="paid_credentials"
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
<result property="remark" column="remark"/>
<result property="createdAt" column="created_at"/>
<result property="createdAt" column="created_at"/>

View File

@ -1,5 +1,7 @@
package com.xunhong.erp.turbo.api.biz.dto.cmd;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountCategoryEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountTypeEnum;
import com.xunhong.erp.turbo.base.dto.Command;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -7,6 +9,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author shenyifei
@ -50,13 +53,13 @@ public class ReconciliationPaymentCreateCmd extends Command {
* 账户类别1_对公账户2_私人账户
*/
@Schema(title = "账户类别1_对公账户2_私人账户", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean accountCategory;
private CompanyPaymentAccountCategoryEnum accountCategory;
/**
* 账户类型1_银行卡2_支付宝3_微信
*/
@Schema(title = "账户类型1_银行卡2_支付宝3_微信", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean accountType;
private CompanyPaymentAccountTypeEnum accountType;
/**
* 银行名称
@ -86,13 +89,19 @@ public class ReconciliationPaymentCreateCmd extends Command {
* 回款时间
*/
@Schema(title = "回款时间")
private LocalDateTime returnAt;
private LocalDateTime paidAt;
/**
* 回款金额
*/
@Schema(title = "回款金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal returnAmount;
private BigDecimal paidAmount;
/**
* 回款凭证
*/
@Schema(title = "回款凭证")
private List<String> paidCredentials;
/**
* 备注

View File

@ -7,9 +7,8 @@ import com.xunhong.erp.turbo.base.dto.PageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.util.List;
/**
@ -23,6 +22,9 @@ public class OrderSupplierPageQry extends PageQuery {
@Schema(title = "订单供应商ID", type = "string")
private Long orderSupplierId;
@Schema(title = "名称", type = "string")
private String name;
@Schema(title = "订单ID", type = "string")
private Long orderId;
@ -30,8 +32,7 @@ public class OrderSupplierPageQry extends PageQuery {
private Long supplierId;
@Schema(title = "发货日期")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private List<LocalDateTime> deliveryTime;
private List<LocalDate> shippingDate;
@Schema(title = "瓜农发票上传", type = "boolean")
private Boolean invoiceUpload;
@ -53,5 +54,8 @@ public class OrderSupplierPageQry extends PageQuery {
@Schema(title = "发票ID", type = "string")
private Long invoiceId;
@Schema(title = "发票日期")
private List<LocalDate> invoiceDate;
}

View File

@ -1,5 +1,7 @@
package com.xunhong.erp.turbo.api.biz.dto.qry;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountCategoryEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountTypeEnum;
import com.xunhong.erp.turbo.base.dto.PageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -15,5 +17,23 @@ public class ReconciliationPaymentPageQry extends PageQuery {
@Schema(title = "对账付款ID", type = "string")
private Long reconciliationPaymentId;
@Schema(title = "经销商ID", type = "string")
private Long dealerId;
@Schema(title = "公司ID", type = "string")
private Long companyId;
@Schema(title = "账户类型1_银行卡2_支付宝3_微信", type = "string")
private CompanyPaymentAccountTypeEnum accountType;
@Schema(title = "账户类别1_对公账户2_私人账户", type = "string")
private CompanyPaymentAccountCategoryEnum accountCategory;
@Schema(title = "开户公司名称/支付宝昵称/微信号", type = "string")
private String accountName;
@Schema(title = "银行账号/支付宝账号/微信账号", type = "string")
private String accountNumber;
}

View File

@ -32,5 +32,14 @@ public class SupplierInvoicePageQry extends PageQuery {
@Schema(title = "订单状态")
private List<OrderStateEnum> poStates;
@Schema(title = "订单供应商ID")
private Long orderSupplierId;
@Schema(title = "订单ID")
private Long orderId;
@Schema(title = "登记时间")
private List<String> registrationTime;
}

View File

@ -1,12 +1,15 @@
package com.xunhong.erp.turbo.api.biz.dto.vo;
import com.alibaba.cola.dto.DTO;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountCategoryEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CompanyPaymentAccountTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author shenyifei
@ -50,13 +53,13 @@ public class ReconciliationPaymentVO extends DTO {
* 账户类别1_对公账户2_私人账户
*/
@Schema(title = "账户类别1_对公账户2_私人账户", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean accountCategory;
private CompanyPaymentAccountCategoryEnum accountCategory;
/**
* 账户类型1_银行卡2_支付宝3_微信
*/
@Schema(title = "账户类型1_银行卡2_支付宝3_微信", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean accountType;
private CompanyPaymentAccountTypeEnum accountType;
/**
* 银行名称
@ -86,13 +89,19 @@ public class ReconciliationPaymentVO extends DTO {
* 回款时间
*/
@Schema(title = "回款时间")
private LocalDateTime returnAt;
private LocalDateTime paidAt;
/**
* 回款金额
*/
@Schema(title = "回款金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal returnAmount;
private BigDecimal paidAmount;
/**
* 回款凭证
*/
@Schema(title = "回款凭证")
private List<String> paidCredentials;
/**
* 备注
@ -106,5 +115,11 @@ public class ReconciliationPaymentVO extends DTO {
@Schema(title = "创建时间")
private LocalDateTime createdAt;
@Schema(title = "经销商")
private DealerVO dealerVO;
@Schema(title = "公司")
private CompanyVO companyVO;
}