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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

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