package com.xiaoniu.system.order.storeorder.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 订单信息表
 * </p>
 *
 * @author haoxuyang
 * @since 2024-10-16 09:11:47
 */
@Getter
@Setter
@TableName("tb_order_info")
@Schema(name = "TbOrderInfo", description = "订单信息表")
public class TbOrderInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @Schema(description = "订单编号")
    private String orderNo;

    @Schema(description = "门店id")
    private Long storeId;

    @Schema(description = "预约时间")
    private String reservationTime;

    @Schema(description = "下单手机号")
    private String phone;

    @Schema(description = "订单状态 0待支付 1待发货 2待使用 3已完成 4待评价 5退款/售后 6已结算 7未成团 8已成团 9进行中 10已评论 90已取消")
    private Integer status;

    @Schema(description = "删除标志（0-正常 2-删除）")
    private Integer delFlag;

    @Schema(description = "支付时间")
    private Date payTime;

    @Schema(description = "支付方式（1-微信支付）")
    private Integer trading;

    @Schema(description = "订单金额")
    private BigDecimal orderAmount;

    @Schema(description = "订单实际金额")
    private BigDecimal actualAmount;

    @Schema(description = "积分数量")
    private Integer pointsNum;

    @Schema(description = "完成时间")
    private Date completionTime;

    @Schema(description = "用户id")
    private Long userId;

    @Schema(description = "创建者id")
    private Long createById;

    @Schema(description = "创建者")
    private String createBy;

    @Schema(description = "创建",hidden = true)
    private Date createTime;

    @Schema(description = "更新者id")
    private Long updateById;

    @Schema(description = "更新者")
    private String updateBy;

    @Schema(description = "更新时间",hidden = true)
    private Date updateTime;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "用户车辆id")
    private Long userCarId;

    @Schema(description = "类型（1-商品 2-会员权益 3-团购商品 4-积分商品 5-优惠券 6-投诉）")
    private Integer type;

    @Schema(description = "订单类型")
    private String orderType;

    @Schema(description = "原因")
    private String reason;

    @Schema(description = "积分商品id")
    private Long pointsGoodsId;

    @Schema(description = "大订单id")
    private String largeOrderId;

    @Schema(description = "核销门店id")
    private Long verifyStoreId;

    @Schema(description = "拉卡拉对账单流水号")
    private String logNo;
}
