/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package cn.ysk.cashier.dto.order;

import cn.ysk.cashier.pojo.order.TbOrderDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.List;

/**
* @website https://eladmin.vip
* @description /
* @author lyf
* @date 2024-03-02
**/
@Data
public class TbOrderInfoDto implements Serializable {

    private Integer id;

    /** 订单编号 */
    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    /** 商户结算金额 */
    private BigDecimal settlementAmount;

    /** 包装费 */
    private BigDecimal packFee;

    /** 订单原金额 */
    private BigDecimal originAmount;

    /** 商品售价 */
    private BigDecimal productAmount;

    /** 最终金额---退单后，金额变动 */
    private BigDecimal amount;

    /** 退单金额 */
    private BigDecimal refundAmount;

    /** 支付金额 */
    private BigDecimal payAmount;

    /** 订单邮递费用 */
    private BigDecimal freightAmount;

    /** 折扣金额 */
    private BigDecimal discountAmount;

    /** 台桌Id */
    private String tableId;

    /** 订单抹零 */
    private BigDecimal smallChange;

    /** 发货类型 */
    private String sendType;

    /** 订单类型-cash收银-miniapp小程序-offline线下 */
    private String orderType;

    /** 订单里面商品的类型 */
    private String productType;

    /** 状态: unpaid 待支付unsend待发货  closed 订单完成   send 已发refunding申请退单refund退单cancelled取消订单merge合台 */
    private String status;

    /** orderType为union-minor时，parentId生效，为其上级合单id */
    private String billingId;

    /** 对于平台订单,是收款商户Id */
    private String merchantId;

    /** 店铺Id */
    private String shopId;

    /** 是否vip订单 */
    private Integer isVip;

    /** 商户会员Id */
    private String memberId;

    /** 用户Id */
    private String userId;

    /** 该订单商品赠送的积分 */
    private Integer productScore;

    /** 抵扣积分 */
    private Integer deductScore;

    /** 用户使用的卡券 */
    private String userCouponId;

    /** 优惠券抵扣金额 */
    private BigDecimal userCouponAmount;

    /** 如果为退单时，主单号 */
    private String masterId;

    /** 是否支持退款，1支持退单， 0不支持退单 */
    private Integer refundAble;

    /** 支付时间 */
    private Long paidTime;

    /** 是否生效，若订单合单之后，则原订单不会生效 */
    private Integer isEffect;

    /** 是否合台 */
    private Integer isGroup;

    private Long updatedAt;

    /** 系统时间 */
    private Long systemTime;

    private Long createdAt;

    /** 收银台是否已接单 */
    private Integer isAccepted;

    /** 支付类型 */
    private String payType;

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

    /** 折扣比例 */
    private BigDecimal discountRatio;

    /** 支付订单号 */
    private String payOrderNo;

    private String tradeDay;

    private Integer source;

    private String remark;

    private List<TbOrderDetail> detailList;

    private String payRemark;

    private Integer isRefund;

    private String tableName;

    private String isBuyCoupon;

    private String isUseCoupon;
}