package com.yc.ship.module.ota.dal.dataobject.distributorproduct;

import com.baomidou.mybatisplus.annotation.*;
import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 平台产品与分销商关系 DO
 *
 * @author 管理员
 */
@TableName("ota_distributor_product")
@KeySequence("ota_distributor_product_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DistributorProductDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 分销商ID
     */
    private Long distributorId;
    /**
     * 产品ID
     */
    private Long productId;
    /**
     * 产品skuID
     */
    private Long productSkuId;

    /**
     * 出现方案id
     */
    private Long routePlanId;
    /**
     * 规格类型
     */
    private String specType;
    /**
     * 成本价
     */
    private BigDecimal costPrice;
    /**
     * 销售价
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal salePrice;

    /**
     * 原始销售价
     */
    private BigDecimal salePriceRaw;
    /**
     * 库存
     */
    private Integer stock;
    /**
     * 是否启用
     */
    private Integer isUse;
    /**
     * 是否启用（租户控制）
     */
    private Integer isUseOtc;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime startDate;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime endDate;

    /**
     * 分销商商家ID
     */
//    private String externalAccountId;
//    /**
//     * 分销商门店ID
//     */
//    private String externalPoiIds;
//
//    private String externalTicketTypeId;
//
//    private String externalProductId;
//
//    private String externalSkuId;
//
//    private String externalCategoryId;
}
