
package com.tmerclub.cloud.api.product.dto;

import com.tmerclub.cloud.common.order.dto.AreaDTO;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

/**
 * DTO
 *
 * @author tmerclub
 * @date 2023-11-08 11:11:44
 */
@Data
public class WarehouseDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "仓库id")
    private Long warehouseId;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "仓库名称")
    private String warehouseName;

    @Schema(description = "仓库类型（0默认仓库，1区域仓库）")
    private Integer type;

    /**
     * 系统类型见SysTypeEnum 0.普通用户系统 1.商家端 2平台端 3供应商端
     */
    @Schema(description = "系统类型")
    private Integer sysType;

    @Schema(description = "仓库地址")
    private String address;

    @Schema(description = "管理人")
    private String manage;

    @Schema(description = "管理电话")
    private String phone;

    @Schema(description = "供应城市项")
    private List<AreaDTO> cityList;

    @Schema(description = "商品id")
    private Long spuId;

    @Schema(description = "skuId")
    private Long skuId;

    @Schema(description = "省ID")
    private Long provinceId;

    @Schema(description = "省")
    private String province;

    @Schema(description = "城市ID")
    private Long cityId;

    @Schema(description = "城市")
    private String city;

    @Schema(description = "区ID")
    private Long areaId;

    @Schema(description = "区")
    private String area;

    @Hidden
    @Schema(description = "仓库id集合")
    private List<Long> warehouseIds;

    @Hidden
    @Schema(description = "店铺id集合")
    private List<Long> shopIds;


    @Override
    public String toString() {
        return "WarehouseDTO{" +
                "warehouseId=" + warehouseId +
                ", shopId=" + shopId +
                ", warehouseName='" + warehouseName + '\'' +
                ", type=" + type +
                ", sysType=" + sysType +
                ", address='" + address + '\'' +
                ", manage='" + manage + '\'' +
                ", phone='" + phone + '\'' +
                ", cityList=" + cityList +
                ", spuId=" + spuId +
                ", skuId=" + skuId +
                ", warehouseIds=" + warehouseIds +
                ", provinceId=" + provinceId +
                ", province='" + province + '\'' +
                ", cityId=" + cityId +
                ", city='" + city + '\'' +
                ", areaId=" + areaId +
                ", area='" + area + '\'' +
                '}';
    }
}
