
package com.tmerclub.cloud.api.delivery.vo;

import com.tmerclub.cloud.common.bean.BmapPoint;
import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

/**
 * 同城配送信息VO
 *
 * @author tmerclub
 * @date 2020-12-16 15:33:57
 */
@Data
public class SameCityVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "同城配送")
    private Long samecityId;

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

    @Schema(description = "配送区域经纬度json")
    private String positionInfo;

    @Schema(description = "收费类型 1按区域收取固定配送费 2按距离收取配送费")
    private Integer chargeType;

    @Schema(description = "起送价 是优惠券/码和满减优惠抵扣前的商品金额，运费不计入起送价。")
    private Long startFee;

    @Schema(description = "配送费")
    private Long deliveryFee;

    @Schema(description = "默认距离(km)")
    private Double defaultDistance;

    @Schema(description = "每超出距离(km)")
    private Double overDistance;

    @Schema(description = "每超出距离费用")
    private Long overDistanceFee;

    @Schema(description = "免费重量")
    private Double freeWeight;

    @Schema(description = "续重重量")
    private Double overWeight;

    @Schema(description = "续重费用")
    private Long overWeightFee;

    @Schema(description = "启用状态 1启用 0未启用")
    private Integer status;

    @Schema(description = "经度")
    private Double lng;

    @Schema(description = "纬度")
    private Double lat;

    @Schema(description = "后台坐标点数组")
    private List<BmapPoint> polygonPath;

    @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;

    @Schema(description = "详细地址")
    private String detailAddress;

    @Schema(description = "店铺所在经度")
    private String shopLng;

    @Schema(description = "店铺所在纬度")
    private String shopLat;


    @Override
    public String toString() {
        return "SameCityVO{" +
                "samecityId=" + samecityId +
                ", shopId=" + shopId +
                ", positionInfo='" + positionInfo + '\'' +
                ", chargeType=" + chargeType +
                ", startFee=" + startFee +
                ", deliveryFee=" + deliveryFee +
                ", defaultDistance=" + defaultDistance +
                ", overDistance=" + overDistance +
                ", overDistanceFee=" + overDistanceFee +
                ", freeWeight=" + freeWeight +
                ", overWeight=" + overWeight +
                ", overWeightFee=" + overWeightFee +
                ", status=" + status +
                ", lng=" + lng +
                ", lat=" + lat +
                ", polygonPath=" + polygonPath +
                ", provinceId=" + provinceId +
                ", province='" + province + '\'' +
                ", cityId=" + cityId +
                ", city='" + city + '\'' +
                ", areaId=" + areaId +
                ", area='" + area + '\'' +
                ", detailAddress='" + detailAddress + '\'' +
                ", shopLng='" + shopLng + '\'' +
                ", shopLat='" + shopLat + '\'' +
                '}';
    }
}
