package com.ghy.payment.domain; import com.ghy.common.annotation.Excel; import com.ghy.common.core.domain.BaseEntity; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author clunt * 财务细单(可能是师傅分佣后的细单关联,也可能是分佣账单,平台提成账单等类型) */ @Data public class FinancialDetail extends BaseEntity { private static final long serialVersionUID = 1L; @Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC) private Long id; @Excel(name = "商户ID", cellType = Excel.ColumnType.NUMERIC) private Long deptId; @Excel(name = "编码", cellType = Excel.ColumnType.STRING) private String code; @Excel(name = "主财务单ID", cellType = Excel.ColumnType.NUMERIC) private Long financialMasterId; @Excel(name = "主财务单编码", cellType = Excel.ColumnType.STRING) private String financialMasterCode; @Excel(name = "子订单ID", cellType = Excel.ColumnType.NUMERIC) private Long orderDetailId; @Excel(name = "子订单编码", cellType = Excel.ColumnType.STRING) private String orderDetailCode; @Excel(name = "子单总金额", cellType = Excel.ColumnType.STRING) private BigDecimal totalMoney; @Excel(name = "优惠金额", cellType = Excel.ColumnType.STRING) private BigDecimal discountMoney; @Excel(name = "实付金额", cellType = Excel.ColumnType.STRING) private BigDecimal payMoney; @Excel(name = "财务子单类型,1师傅转派/2多级分销/3平台抽成", cellType = Excel.ColumnType.NUMERIC) private Integer financialDetailType; /** * 收款人ID * 当财务子单类型是师傅转派时 收款人ID是师傅或徒弟的workerId * 当财务子单类型是多级分销时 收款人ID是分销者的customerId * 当财务子单类型是平台抽成 无需填写收款人ID */ @Excel(name = "收款人ID", cellType = Excel.ColumnType.NUMERIC) private Long payeeId; @Excel(name = "支付方式,微信/支付宝/线下", cellType = Excel.ColumnType.NUMERIC) private Integer payType; @Excel(name = "支付状态, 未付款/已付款", cellType = Excel.ColumnType.NUMERIC) private Integer payStatus; @Excel(name = "付款时间", cellType = Excel.ColumnType.STRING) private Date payTime; public FinancialDetail() { } public FinancialDetail(Long financialMasterId) { this.financialMasterId = financialMasterId; } public FinancialDetail(String code, Long deptId, Long financialMasterId, String financialMasterCode, BigDecimal payMoney, Integer financialDetailType, Long payeeId) { this.deptId = deptId; this.code = code; this.financialMasterId = financialMasterId; this.financialMasterCode = financialMasterCode; this.payMoney = payMoney; this.financialDetailType = financialDetailType; this.payeeId = payeeId; } public FinancialDetail(Long deptId, String code, Long financialMasterId, String financialMasterCode, Long orderDetailId, String orderDetailCode, BigDecimal payMoney, Integer financialDetailType, Long payeeId, Integer payType, Integer payStatus, Date payTime) { this.deptId = deptId; this.code = code; this.financialMasterId = financialMasterId; this.financialMasterCode = financialMasterCode; this.orderDetailId = orderDetailId; this.orderDetailCode = orderDetailCode; this.payMoney = payMoney; this.financialDetailType = financialDetailType; this.payeeId = payeeId; this.payType = payType; this.payStatus = payStatus; this.payTime = payTime; } }