package com.younike.system.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.younike.common.annotation.Excel;
import com.younike.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单主对象 order
 *
 * @author elev
 * @date 2022-01-07
 */
@Data
public class Order extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long orderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderIndex;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long memberId;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long merchantId;

    /** 商铺名 */
    @Excel(name = "商铺名")
    private String merchantName;

    /** 订单类型 code */
    @Excel(name = "订单类型 code")
    private String orderType;

    /** 订单状态 code */
    @Excel(name = "订单状态 code")
    private String orderState;

    /** 评价状态 code */
    @Excel(name = "评价状态 code")
    private String commentState;

    /** 预约起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime appointmentStartTime;

    /** 预约结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime appointmentEndTime;

    /** 服务实际起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "服务实际起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date serviceStartTime;

    /** 服务实际结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "服务实际结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date serviceEndTime;

    /** 服务打卡经度 */
    @Excel(name = "服务打卡经度")
    private BigDecimal serviceLongitude;

    /** 服务打卡纬度 */
    @Excel(name = "服务打卡纬度")
    private BigDecimal serviceLatitude;

    /** 店铺可得 */
    @Excel(name = "店铺可得")
    private BigDecimal shopAmount;

    /** 是否已结算 */
    @Excel(name = "是否已结算")
    private Integer isSettle;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /** 优金豆抵扣 */
    @Excel(name = "优金豆抵扣")
    private Integer beanAmount;

    /** 用户优惠券ID */
    @Excel(name = "用户优惠券ID")
    private String memberCouponId;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal couponAmount;

    /** 实付总价 */
    @Excel(name = "实付总价")
    private BigDecimal totalAmount;

    /** 追加服务金额 */
    @Excel(name = "追加服务金额")
    private BigDecimal addAmount;

    /**
     * 追加服务付款方式
     */
    @Excel(name = "追加服务付款方式")
    private String addPayWay;

    /**
     *
     */
    private Integer AddPayStatus;

    /**
     * 维修/配件费
     */
    private BigDecimal maintenanceAmount;

    /**
     * 说明
     */
    private String maintenanceRemark;

    /** 支付方式 code */
    @Excel(name = "支付方式 code")
    private String payWay;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String memo;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 最后登录IP */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginDate;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String column1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String column2;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String column3;


}
