/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.bean.dto;

import com.yami.shop.bean.model.OrderItem;
import com.yami.shop.bean.model.OrderRefund;
import com.yami.shop.bean.model.OrderRefundRecord;
import com.yami.shop.bean.model.RefundDelivery;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
public class OrderRefundDto extends OrderRefund implements Serializable {

    /**
     * 退款单id
     */
    private Long refundId;

    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 退款单号
     */
    private String refundSn;

    /**
     * 实际总值
     */
    private Double orderAmount;

    /**
     * 支付单ID
     */
    private Long settlementId;

    /**
     * 支付单号
     */
    private String orderPayNo;

    /**
     * 收货地址对象
     */
    private RefundDelivery refundDelivery;

    /**
     * 门店ID
     */
    private Long shopId;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 订单支付时间
     */
    private Date orderPayTime;

    /**
     * 申请类型:1,仅退款,2退款退货
     */
    private Integer applyType;

    /**
     * 订单项
     */
    private List<OrderItem> orderItems = new ArrayList<>();
    /**
     * 退款流程
     */
    private List<OrderRefundRecord> records = new ArrayList<>();
    /**
     * 订单退款状态
     */
    private String refundStatus;
    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 订单类型 1团购订单 2秒杀订单 3积分订单
     */
    private Integer orderType;

    private Integer dvyType;

    /**
     * true:可以取消退款  false：不可以取消退款（待发货状态->非整单退款->所有商品已经申请退款->不可取消退款）
     */
    private Boolean isCancel;

    private Double freightAmount = 0.0;

    private Long offsetPoints = 0L;

    private Double goodsTotal;
    //过期的积分
    private Long refundExpiredScore = 0L;
}
