package com.sqx.modules.bl.order.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sqx.modules.coupon.entity.CouponUser;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @description bl_user_package_order
 * 用户-服务包-订单-主表
 * @author caolei
 * @date 2024-6-8
 */
@Data
@TableName("bl_user_package_order")
public class UserPackageOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)

    /**
     * 订单id
     */
    private Long ordersId;

    /**
     * 订单号
     */
    private String ordersNo;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 姓名
     */
    @TableField(exist = false)
    private String userName;

    /**
     * 电话
     */
    @TableField(exist = false)
    private String phone;

    /**
     * 头像
     */
    @TableField(exist = false)
    private String avatar;

    /**
     * 会员优惠比例
     */
    private BigDecimal vipRate;

    /**
     * VIP减免金额
     */
    private BigDecimal vipReductionMoney;

    /**
     * 原总金额
     */
    private BigDecimal oldSumMoney;

    /**
     * 应付总金额
     */
    private BigDecimal sumMoney;

    /**
     * 实际支付金额
     */
    private BigDecimal payMoney;

    /**
     * 支付时间
     */
    private String payTime;

    /**
     * 支付方式
     */
    private Integer payWay;

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

    /**
     * 优惠券id，逗号拼接字符串
     */
    private String couponId;

    /**
     * 代金券数量
     */
    private Integer couponCount;

    /**
     * 代金券总金额
     */
    private BigDecimal couponMoney;

    /**
     * 退款时间
     */
    private String refundTime;

    /**
     * 退款金额
     */
    private BigDecimal refundMoney;

    /**
     * 团号
     */
    private String groupNo;

    /**
     * 代金券名称
     */
    @TableField(exist = false)
    private String couponName;

    /**
     * 用户优惠券id
     */
    @TableField(exist = false)
    private Long userCouponId;

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

    /**
     * 服务包类型
     */
    @TableField(exist = false)
    private Long type;

    /**
     * 开始时间
     */
    @TableField(exist = false)
    private String startTime;

    /**
     * 结束时间
     */
    @TableField(exist = false)
    private String endTime;

    /**
     * 是否只限新用户1是2否
     */
    @TableField(exist = false)
    private Integer isNewer;

    /**
     * 差几个人数
     */
    @TableField(exist = false)
    private Integer lessNum;

    @TableField(exist = false)
    private Integer page;

    @TableField(exist = false)
    private Integer limit;

    @TableField(exist = false)
    private List<UserPackageOrdersMapping> ordersPackageList;

    @TableField(exist = false)
    private List<CouponUser> couponUserList;

    @TableField(exist = false)
    private List<UserPackageOrder> orderList;

    public UserPackageOrder() {}
}
