package com.ruoyi.controller.resp;

import com.ruoyi.frequency.mallevaluate.entity.MallEvaluate;
import com.ruoyi.frequency.mallorderaddress.entity.MallOrderAddress;
import com.ruoyi.frequency.mallordergoods.entity.MallOrderGoods;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author a
 * @date 2023/2/15 11:12
 */
@Data
public class MallOrderDetailResp {
    /**
     * 主键id
     */
    private Long id;

    /**
     * 创建时间time
     */
    private Date createTime;

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

    /**
     * 商品总价
     */
    private BigDecimal goodsPrice;

    /**
     * 支付价格
     */
    private BigDecimal payPrice;

    /**
     * 订单号(不作为支付订单号)
     */
    private String orderNo;

    /**
     * 支付状态1:未支付;2:成功，3；失败
     */
    private Integer payStatus;

    /**
     * 订单状态;具体看代码
     */
    private Integer orderStatus;

    /**
     * 支付时间time
     */
    private Date payTime;

    /**
     * 取消订单时间time
     */
    private Date cancelTime;

    /**
     * 发货时间time
     */
    private Date sendTime;

    /**
     * 收货时间time
     */
    private Date receiveTime;

    /**
     * 完成时间time
     */
    private Date completeTime;

    /**
     * 发货物流单号
     */
    private String sendComCourierId;

    /**
     * 发货物流公司
     */
    private String sendComLogistics;

    /**
     * 发货物流公司编码
     */
    private String sendComLogisticsCode;

    /**
     * 备注
     */
    private String remark;

    /**
     * 支付方式，1:支付宝;2微信3余额
     */
    private Integer payType;

    /**
     * 到账时间time
     */
    private Date arrivalTime;

    /**
     * 佣金
     */
    private BigDecimal commissionPrice;

    /**
     * 积分
     */
    private BigDecimal integralPrice;


    @ApiModelProperty("订单地址")
    private MallOrderAddress orderAddress;

    @ApiModelProperty("订单商品")
    private List<MallOrderGoods> orderGoodsList;

    @ApiModelProperty("自动确认收货时间")
    private Date voluntarilyReceiptTime;

    @ApiModelProperty("售后截止时间")
    private Date afterSalesTime;

    @ApiModelProperty("售后状态")
    private Integer refundStatus;

    @ApiModelProperty("评价")
    private MallEvaluate evaluate;

    private Date currentTime = new Date();
}
