package com.tmerclub.cloud.search.bo;

import com.tmerclub.cloud.common.constant.Constant;
import com.tmerclub.cloud.search.canal.annotation.CanalModel;
import com.tmerclub.cloud.search.canal.common.FieldNamingPolicy;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author gaozijie
 * @since 2023-11-24
 */
@Data
@ToString
@CanalModel(database = "tmerclub" + Constant.UNDERLINE_ENV + "_order", table = "allot_order", fieldNamingPolicy = FieldNamingPolicy.LOWER_UNDERSCORE)
public class AllotOrderBO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 调拨订单id
     */
    private Long allotOrderId;

    /**
     * 调出点仓库id
     */
    private Long outWarehouseId;

    /**
     * 调出点库存点类型
     * @see com.tmerclub.cloud.common.product.constant.StockPointType
     */
    private Integer outStockPointType;

    /**
     * 调入点仓库id
     */
    private Long inWarehouseId;

    /**
     * 调入点库存点类型
     * @see com.tmerclub.cloud.common.product.constant.StockPointType
     */
    private Integer inStockPointType;

    /**
     * 物流公司id
     */
    private Long dvyCompanyId;

    /**
     * 物流方式
     * @see com.tmerclub.cloud.common.order.constant.DeliveryType
     */
    private Integer dvyType;

    /**
     * 物流单号
     */
    private String dvyOrderNumber;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 总调拨数量
     */
    private Integer totalAllotCount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 系统类型
     * @see com.tmerclub.cloud.common.constant.SysTypeEnum
     */
    private Integer sysType;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    public AllotOrderBO() {
    }


}
