
package com.tmerclub.cloud.order.vo;

import com.tmerclub.cloud.common.order.vo.EsOrderItemVO;
import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * @author tmerclub
 */
@Schema(description = "我的订单-订单项")
public class MyOrderItemVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "商品图片", requiredMode = Schema.RequiredMode.REQUIRED)
    private String pic;

    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String spuName;

    @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long orderId;

    @Schema(description = "商品数量", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer count;

    @Schema(description = "商品价格", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long price;

    @Schema(description = "产品购买花费积分", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long useScore;

    @Schema(description = "skuId", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long skuId;

    @Schema(description = "skuName", requiredMode = Schema.RequiredMode.REQUIRED)
    private String skuName;

    @Schema(description = "订单项id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long orderItemId;

    @Schema(description = "商品id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long spuId;

    @Schema(description = "评论状态： 0 未评价  1 已评价", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer isComm;

    @Schema(description = "评论时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private Date commTime;

    @Schema(description = "退款状态 1.买家申请 2.卖家接受 3.买家发货 4.卖家收货 5.退款成功  -1.退款关闭")
    private Integer returnMoneySts;

    @Schema(description = "订单项退款状态（1:申请退款 2:退款成功 3:部分退款成功 4:退款失败）")
    private Integer refundStatus;

    @Schema(description = "退款单类型（1:整单退款,2:单个物品退款）")
    private Integer refundType;

    @Schema(description = "赠品列表")
    private List<MyOrderItemVO> giveawayList;

    @Schema(description = "订单类型1团购订单 2秒杀订单 3积分订单")
    private Integer orderType;

    @Schema(description = "主商品关联退款赠品id")
    private String returnGiveawayIds;

    /**
     * 活动id
     */
    private Long activityId;

    /**
     * 活动类型 OrderActivityType
     */
    private Integer activityType;
    @Schema(description = "组合商品列表")
    private List<MyOrderItemVO> comboList;

    public List<MyOrderItemVO> getComboList() {
        return comboList;
    }

    public void setComboList(List<MyOrderItemVO> comboList) {
        this.comboList = comboList;
    }

    public Long getActivityId() {
        return activityId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Integer getActivityType() {
        return activityType;
    }

    public void setActivityType(Integer activityType) {
        this.activityType = activityType;
    }

    public Integer getRefundType() {
        return refundType;
    }

    public void setRefundType(Integer refundType) {
        this.refundType = refundType;
    }

    public List<MyOrderItemVO> getGiveawayList() {
        return giveawayList;
    }

    public void setGiveawayList(List<MyOrderItemVO> giveawayList) {
        this.giveawayList = giveawayList;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getReturnGiveawayIds() {
        return returnGiveawayIds;
    }

    public void setReturnGiveawayIds(String returnGiveawayIds) {
        this.returnGiveawayIds = returnGiveawayIds;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Long getPrice() {
        return price;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public Long getUseScore() {
        return useScore;
    }

    public void setUseScore(Long useScore) {
        this.useScore = useScore;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Integer getReturnMoneySts() {
        return returnMoneySts;
    }

    public void setReturnMoneySts(Integer returnMoneySts) {
        this.returnMoneySts = returnMoneySts;
    }

    public Integer getIsComm() {
        return isComm;
    }

    public void setIsComm(Integer isComm) {
        this.isComm = isComm;
    }

    public Date getCommTime() {
        return commTime;
    }

    public void setCommTime(Date commTime) {
        this.commTime = commTime;
    }

    public Integer getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(Integer refundStatus) {
        this.refundStatus = refundStatus;
    }

    @Override
    public String toString() {
        return "MyOrderItemVO{" +
                "pic='" + pic + '\'' +
                ", spuName='" + spuName + '\'' +
                ", orderId=" + orderId +
                ", count=" + count +
                ", price=" + price +
                ", useScore=" + useScore +
                ", skuId=" + skuId +
                ", skuName='" + skuName + '\'' +
                ", orderItemId=" + orderItemId +
                ", spuId=" + spuId +
                ", isComm=" + isComm +
                ", commTime=" + commTime +
                ", returnMoneySts=" + returnMoneySts +
                ", refundStatus=" + refundStatus +
                ", refundType=" + refundType +
                ", giveawayList=" + giveawayList +
                ", orderType=" + orderType +
                ", returnGiveawayIds='" + returnGiveawayIds + '\'' +
                ", activityId=" + activityId +
                ", activityType=" + activityType +
                ", comboList=" + comboList +
                '}';
    }
}
