package cn.iocoder.yudao.module.aftersales.dal.dataobject.compensation; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.aftersales.enums.AfterSaleCompensationAuditStatusEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * 售后赔付/服务补偿单 DO * * 对应 xlsx 售后 2「故障赔付、服务补偿…全流程追溯」 */ @TableName("after_sale_compensation") @KeySequence("after_sale_compensation_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class AfterSaleCompensationDO extends BaseDO { /** * 赔付单编号 */ @TableId private Long id; /** * 赔付单号 */ private String compensationNo; /** * 赔付类型: 1-故障赔付 2-服务补偿 */ private Integer compensationType; /** * 关联售后工单编号,关联 after_sale_ticket.id */ private Long ticketId; /** * 客户编号 */ private Long customerId; /** * 关联销售订单编号 */ private Long saleOrderId; /** * 赔付金额 */ private BigDecimal amount; /** * 赔付对象 */ private String payee; /** * 赔付原因 */ private String reason; /** * 审批状态 * * 只由业务流程驱动,不接受前端直接赋值:创建时固定为未提交,提交审批后置为审批中, * 审核通过 / 不通过由 * {@link cn.iocoder.yudao.module.aftersales.service.compensation.AfterSaleCompensationService#auditCompensation} * 推进。 * * 枚举 {@link AfterSaleCompensationAuditStatusEnum} */ private Integer auditStatus; /** * 审核人用户编号 * * 审批人由「系统管理 - 审批配置」按业务类型统一配置(业务编码 compensation_approve), * 提交时不指定;此处记录实际执行审核的用户。 */ private Long reviewerId; /** * 审核人姓名(审核时冗余记录,避免列表展示再查用户) */ private String reviewerName; /** * 审核时间 */ private LocalDateTime reviewTime; /** * 审核意见(审核通过时的意见 / 审核不通过时的原因) */ private String reviewRemark; /** * 支付状态(账务联动预留,接财务后使用) */ private Integer payStatus; /** * 备注 */ private String remark; }