
package com.tmerclub.cloud.delivery.dto;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.order.vo.OrderStationSpuDTO;
import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * 用户订单自提参数
 *
 * @author tmerclub
 * @date 2020-12-05 14:13:50
 */
public class OrderStationDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "自提门店id")
    private Long stationId;

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

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

    @Schema(description = "门店名称")
    private String stationName;

    @Schema(description = "店铺id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long shopId;


    /**
     * 用于门店库存判断
     */
    @Schema(description = "自提商品列表", requiredMode = Schema.RequiredMode.REQUIRED)
    List<OrderStationSpuDTO> stationSpuList;


    @Schema(description = "分页参数", requiredMode = Schema.RequiredMode.REQUIRED)
    private PageDTO pageDTO;

    /**
     * 用于订单门店列表查询
     */
    @Schema(description = "自提门店id列表")
    private List<Long> stationIds;


    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getLng() {
        return lng;
    }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public List<OrderStationSpuDTO> getStationSpuList() {
        return stationSpuList;
    }

    public void setStationSpuList(List<OrderStationSpuDTO> stationSpuList) {
        this.stationSpuList = stationSpuList;
    }

    public PageDTO getPageDTO() {
        return pageDTO;
    }

    public void setPageDTO(PageDTO pageDTO) {
        this.pageDTO = pageDTO;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public List<Long> getStationIds() {
        return stationIds;
    }

    public void setStationIds(List<Long> stationIds) {
        this.stationIds = stationIds;
    }

    @Override
    public String toString() {
        return "OrderStationDTO{" +
                "stationId=" + stationId +
                ", lat=" + lat +
                ", lng=" + lng +
                ", stationName='" + stationName + '\'' +
                ", shopId=" + shopId +
                ", stationSpuList=" + stationSpuList +
                ", pageDTO=" + pageDTO +
                ", stationIds=" + stationIds +
                '}';
    }
}
