package com.ycwl.basic.model.pc.order.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import lombok.Data;

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

/**
 * @Author：longbinbin
 * @Date：2024/12/3 14:17
 */
@Data
// 订单的新增或修改请求参数
public class OrderUpdateReq {
    // 订单id
    private Long id;
    // 用户id
    private Long memberId;
    /**
     * 微信openId
     */
    // 微信openId
    private Long openId;
    // 景区id
    private Long scenicId;
    /**
     * 价格
     */
    // 价格
    private BigDecimal price;
    /**
     * 实际支付价格
     */
    // 实际支付价格
    private BigDecimal payPrice;
    /**
     * 备注
     */
    // 备注
    private String remark;
    /**
     * 推客id
     */
    // 推客id
    private Long brokerId;
    /**
     * 推客优惠码
     */
    // 推客优惠码
    private String promoCode;
    // 订单商品类型 1成片，2源素材
    private Integer goodsType;
    /**
     * 退款原因
     */
    // 退款原因
    private String refundReason;
    /**
     * 退款状态，0未提出，1已通过，2待审核
     */
    // 退款状态，0未提出，1已通过，2待审核
    private Integer refundStatus;
    /**
     * 状态，0未支付，1已支付，2已退款，9已取消
     */
    // 状态，0未支付，1已支付，2已退款，9已取消
    private Integer status;
    /**
     * 订单创建时间
     */
    // 订单创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    /**
     * 订单更新时间
     */
    // 订单更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateAt;
    /**
     * 订单支付时间
     */
    // 订单支付时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payAt;
    /**
     * 订单取消时间
     */
    // 订单取消时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cancelAt;
    /**
     * 订单退款时间
     */
    // 订单退款时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundAt;
    // 订单商品明细
    private List<GoodsDetailVO> goodsItemList;
}
