package com.younike.service.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.younike.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;

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

    /** 订单id */
    @TableId(type = IdType.ASSIGN_UUID)
    private String orderId;

    /** 订单编号 */
    private String orderIndex;

    /** 下单会员用户ID（关联app_member） */
    private String appMemberId;

    /** 订单类型；枚举：001-代金券、002-团购套餐等 */
    private String orderType;

    /** 门店ID(关联store) */
    private String storeId;

    /** 订单总金额 */
    private BigDecimal orderAmount;

    /** 订单实付金额 */
    private BigDecimal totalAmount;

    /** 优惠金额 */
    private BigDecimal couponAmount;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String orderTime;

    /** 订单中购买商品数量（优惠券张数或套餐的份数) */
    private Long orderGoodsTotalQty;

    /** 订单中未核销/未使用商品数量（未核销的优惠券张数或套餐的份数） */
    private Long orderGoodsRemainingQty;

    /** 当前订单状态；枚举：001-待支付、099-已取消、002-待核销、003-部分核销、004-核销完成、005-申请退款、006-部分退款、007-已退款 */
    private String orderStatus;

    /** 是否待评价 (0-待评价；1-已评价；默认0；订单状态为“核销完成”时，更新该字段为0，客户评价后，更新该字段为1) */
    private String isPendingEvaluate;

    /** 支付方式；枚举：001-微信、002-支付宝 */
    private String payWay;

    /** 支付状态  (0-待支付；1-已支付；默认0) */
    private String isPaid;

    /** 商家分账金额 */
    private BigDecimal shopAmount;

    /** 平台分账金额 */
    private BigDecimal platformAmount;

    /** 删除人ID （关联表app_member) */
    private String delBy;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String delTime;

    /** 删除标签(0-正常；1-已删除；默认0) */
    private String delFlag;

    /** 创建人ID */
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String createdTime;

    /** 更新人ID */
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String updatedTime;

    /** 版本号(默认0) */
    @Version
    private Long version;



}
