package org.dromara.crm.domain; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; import java.math.BigDecimal; import java.time.LocalDate; /** * CRM合同产品明细对象 crm_contract_product * * @author AI Assistant * @date 2025-10-04 */ @Data @EqualsAndHashCode(callSuper = true) @TableName("crm_contract_product") public class CrmContractProduct extends TenantEntity { @Serial private static final long serialVersionUID = 1L; /** * 主键ID */ @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; /** * 合同ID */ private Long contractId; /** * 产品ID */ private Long productId; /** * 产品名称 */ private String productName; /** * 产品编号 */ private String productNo; /** * 产品分类ID */ private Long categoryId; /** * 产品分类名称 */ private String categoryName; /** * 规格型号 */ private String model; /** * 单位 */ private String unit; /** * 数量 */ private BigDecimal quantity; /** * 单价 */ private BigDecimal price; /** * 折扣(百分比) */ private BigDecimal discount; /** * 税率(%) */ private BigDecimal taxRate; /** * 税费金额 */ private BigDecimal taxAmount; /** * 小计金额 */ private BigDecimal subtotal; /** * 交付日期 */ private LocalDate deliveryDate; /** * 交付状态(pending-待交付/partial-部分交付/delivered-已交付) */ private String deliveryStatus; /** * 已交付数量 */ private BigDecimal deliveredQuantity; /** * 产品描述 */ private String description; /** * 包装规格 */ private String packageSpec; /** * 送货方式 */ private String deliveryMethod; /** * 排序号 */ private Integer sort; /** * 逻辑删除标志(0存在 1删除) */ @TableLogic private Integer delFlag; /** * 版本号 */ @Version private Integer version; /** * 备注 */ private String remark; }