package com.yuchen.saas.parking.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yuchen.saas.parking.api.vo.ReleaseTimeDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 车辆群组通过规则表
 *
 * @author 黄辉
 * @version 1.0
 * @date 2021-05-22 16:58:51
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "车辆群组通过规则表", description = "车辆群组通过规则表")
@TableName("pmg_bat_vehicle_group_pass_rule")
public class PmgBatVehicleGroupPassRule extends TenantEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 车辆群组id
     */
    @ApiModelProperty(name = "vehicleGroupId", value = "车辆群组id")
    private Long vehicleGroupId;
    /**
     * 入场(0:入场不放行，1：入场控制放行 按 日 周 时段)
     */
    @ApiModelProperty(name = "marchIn", value = "入场(0:入场不放行，1：入场控制放行 按 日 周 时段)")
    private Integer marchIn;
    /**
     * 放行时段（0：全天候，1：按日，2：按周）
     */
    @ApiModelProperty(name = "releaseTimeIn", value = "放行时段（0：全天候，1：按日，2：按周）")
    private Integer releaseTimeIn;
    /**
     * 车位满是否放行（0：不放行，1：放行）
     */
    @ApiModelProperty(name = "truckSpaceFull", value = "车位满是否放行（0：不放行，1：放行）")
    private Integer truckSpaceFull;
    /**
     * 出场（0：出场不放行，1：出场控制放行 按 日 周 时段）
     */
    @ApiModelProperty(name = "marchOut", value = "出场（0：出场不放行，1：出场控制放行 按 日 周 时段）")
    private Integer marchOut;
    /**
     * 放行时段（0：全天候，1：按日，2：按周）
     */
    @ApiModelProperty(name = "releaseTimeOut", value = "放行时段（0：全天候，1：按日，2：按周）")
    private Integer releaseTimeOut;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    /**
     * 停车场id
     */
    @NotNull
    @ApiModelProperty(name = "parkingId", value = "停车场id")
    private Long parkingId;

    @TableField(exist = false)
    @ApiModelProperty(name = "inReleaseTimeDetail", value = "入场时间")
    private List<ReleaseTimeDetail> inReleaseTimeDetail;

    @TableField(exist = false)
    @ApiModelProperty(name = "inReleaseTimeDetail", value = "出场时间")
    private List<ReleaseTimeDetail> outReleaseTimeDetail;

    @TableField(exist = false)
    @ApiModelProperty(name = "inList", value = "inList 入场")
    private List<Integer> inList;

    @TableField(exist = false)
    @ApiModelProperty(name = "outList", value = "outList  出场")
    private List<Integer> outList;
}
