package com.cool.store.vo.order;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
public class MiniStoreWishlistDetailVO {

    @ApiModelProperty("店型ID")
    private Long storeTypeId;

    private String storeTypeName;

    @ApiModelProperty("版本号")
    private String versionNo;

    @ApiModelProperty("总金额")
    private BigDecimal totalAmount;

    private Long pointId;

    private Long shopId;

    private Integer storeType;

    private Long id;

    private Integer wishlistStatus;

    private Date createTime;

    private String partnerName;

    private String partnerMobile;

    private FeeInfoVO feeInfoVO;

    @ApiModelProperty("配置项列表")
    private List<OptionVO> options;

    @Data
    public static class OptionVO {
        @ApiModelProperty("配置项ID")
        private Long optionId;

        private String categoryCode ;

        private String categoryName;

        private String itemCode ;

        private String itemName;

        @ApiModelProperty("数量")
        private BigDecimal quantity;

        private BigDecimal defaultQuantity;

        private String optionUnit;

        private String optionRemark;

        @ApiModelProperty("选项名称")
        private String optionName;

        @ApiModelProperty("单价")
        private BigDecimal optionPrice;

        private BigDecimal originalOptionPrice;

        @ApiModelProperty("总价")
        private BigDecimal totalPrice;

        @ApiModelProperty("图片")
        private String imageUrl;
    }

    @Data
    public static class FeeInfoVO {
        @ApiModelProperty("加盟费")
        private BigDecimal franchiseFee;

        @ApiModelProperty("品牌使用费")
        private BigDecimal brandUsageFee;

        @ApiModelProperty("管理费")
        private BigDecimal managementFee;

        @ApiModelProperty("系统使用费")
        private BigDecimal systemUsageFee;

        @ApiModelProperty("合同保证金")
        private BigDecimal contractDeposit;

        @ApiModelProperty("设备保证金")
        private BigDecimal deviceDeposit;

        @ApiModelProperty("首次订货费用")
        private BigDecimal firstOrderFee;

        @ApiModelProperty("加盟类费用总计")
        private BigDecimal storeFixedAmount;

        @ApiModelProperty("设计费")
        private BigDecimal designFee;

        @ApiModelProperty("原设计费")
        private BigDecimal originalDesignFee;

        @ApiModelProperty("原加盟费")
        private BigDecimal originalFranchiseFee;

        @ApiModelProperty("原品牌使用费")
        private BigDecimal originalBrandUsageFee;

        @ApiModelProperty("原管理费")
        private BigDecimal originalManagementFee;

        @ApiModelProperty("原系统使用费")
        private BigDecimal originalSystemUsageFee;

        @ApiModelProperty("原合同保证金")
        private BigDecimal originalContractDeposit;

        @ApiModelProperty("原设备保证金")
        private BigDecimal originalDeviceDeposit;

        @ApiModelProperty("原首次订货费用")
        private BigDecimal originalFirstOrderFee;

        @ApiModelProperty("原加盟类费用总计")
        private BigDecimal originalStoreFixedAmount;
    }
}
