package com.yami.shop.groupbuy.comment.api.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yami.shop.bean.app.dto.UserAddrDto;
import com.yami.shop.common.serializer.json.ImgJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 拼团用户订单
 */
@Data
@ApiModel("拼团用户订单对象")
public class ApiGroupUserOrderDto {

    @ApiModelProperty(value = "商品图片", required = true)
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String prodPic;

    @ApiModelProperty(value = "规格图片", required = true)
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String skuPic;

    @ApiModelProperty(value = "商品名称", required = true)
    private String prodName;

    @ApiModelProperty(value = "规格名称", required = true)
    private String skuName;

    @ApiModelProperty(value = "商品原价(单价)", required = true)
    private Double price;

    @ApiModelProperty(value = "商品拼团价", required = true)
    private Double actPrice;

    @ApiModelProperty(value = "商品总数", required = true)
    private Integer prodTotalCount;

    @ApiModelProperty(value = "商品总值", required = true)
    private Double prodTotalPrice;

    @ApiModelProperty(value = "运费", required = true)
    private Double transfee;

    @ApiModelProperty(value = "订单总额", required = true)
    private Double orderTotalPrice;

    @ApiModelProperty(value = "优惠金额", required = true)
    private Double discountPrice;

    @ApiModelProperty("店铺id")
    private Long shopId;

    @ApiModelProperty("店铺名称")
    private String shopName;

    @ApiModelProperty("规格id")
    private Long skuId;

    @ApiModelProperty("商品id")
    private Long prodId;

    @ApiModelProperty(value = "用户地址信息", required = true)
    private UserAddrDto userAddrDto;

    @ApiModelProperty("拼团活动id")
    @JsonIgnore
    private Long groupActivityId;

    @ApiModelProperty("拼团团队id")
    @JsonIgnore
    private Long groupTempId;

    @ApiModelProperty("拼团商品id")
    @JsonIgnore
    private Long groupProdId;

    @ApiModelProperty("拼团商品规格id")
    @JsonIgnore
    private Long groupSkuId;

    @ApiModelProperty("团长价格")
    private Double leaderPrice;

    @ApiModelProperty(value = "是否享受团长优惠")
    private Integer hasLeaderPrice;

}
