package cn.iocoder.yudao.module.crm.dal.dataobject.cancellation; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.crm.enums.DictTypeConstants; 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.LocalDate; import java.time.LocalDateTime; /** * CRM 销户申请 DO * * @author 超级管理员 */ @TableName("crm_cancellation") @KeySequence("crm_cancellation_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class CrmCancellationDO extends BaseDO { @TableId private Long id; private String cancellationNo; private Long customerId; private String customerName; private Long contractId; private String contractNo; /** * 销户类型:用电销户/服务终止/合同到期(字典 crm_cancellation_type) */ private String cancellationType; private String cancelReason; private LocalDate expectedCancelDate; private LocalDate actualCancelDate; private BigDecimal refundAmount; private Long applyUserId; private String applyUserName; private LocalDateTime applyTime; /** * 审批状态 * * 枚举 {@link cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum} */ private Integer auditStatus; /** * 审核人用户编号 * * 审批人由「系统管理 - 审批配置」按业务类型统一配置(业务编码 cancellation_approve), * 提交时不指定;此处记录实际执行审核的用户。 */ private Long reviewerId; /** 审核人姓名(审核时冗余记录,避免列表展示再查用户) */ private String reviewerName; /** 审核时间 */ private LocalDateTime reviewTime; /** 审核意见(审核通过时的意见 / 审核不通过时的原因) */ private String reviewRemark; private String remark; }