package com.thinkunion.park.service.common.constant;

public class ParkingConstant {

    public interface YesOrNo {
        Integer YES = 1;
        Integer NO = 0;
    }

    public interface BaseSql {
        String GET_ONE = "LIMIT 1";
    }

    public final class EventType {
        public static final String ENTER_DETECT_EVENT = "car_in_on_line_event";
        public static final String ENTER_PASS_EVENT = "car_in_event";
        public static final String EXIT_DETECT_EVENT = "car_out_on_line_event";
        public static final String EXIT_PASS_EVENT = "car_out_event";
    }

    public final class FreePass {
        public static final int OFF = 0;
        public static final int ON = 1;
    }

    public final class SpecialPlate {
        public static final String STANDARD_CIVILIAN_CAR = "标准民用车";
        public static final String TYPE_02_CIVIL_LICENSE_PLATE = "02式民用车牌";
        public static final String ARMED_POLICE_VEHICLE_LICENSE_PLATE = "武警车车牌";
        public static final String THE_POLICE_CAR_LICENSE_PLATE = "警车车牌";
        public static final String CIVIL_CAR_DOUBLE_ROW_TAIL_PLATE = "民用车双行尾牌";
        public static final String THE_EMBASSY_OF_THE_LICENSE_PLATE = "使馆车牌";
        public static final String LICENSE_PLATE_OF_AGRICULTURAL_VEHICLE = "农用车车牌";
        public static final String MOTORBIKE = "摩托车";
        public static final String NEW_ENEGRY_VEHICLE = "新能源车";
        public static final String MILITARY_VEHICLES_LICENSE_PLATE = "军车车牌";
    }


    public final class Direction {
        public static final int Enter = 0;
        public static final String Enter_String = "0";
        public static final int Exit = 1;
        public static final String Exit_String = "1";
    }

    public final class RealTimeBillType {
        //实时账单类型：1-月卡车场内失效 2-固定车场内失效
        public static final int MothlyExpired = 1;
        public static final int GroupExpired = 2;
        public static final int TeamTemporary = 3;
        public static final int TimeFreeTemporary = 4;
        public static final int TimeFreeExpired = 5;
    }

    public final class SubBillType {
        /**
         * 团队车
         */
        public static final int TeamTemporary = 1;
        public static final int TimeFreeTemporary = 2;
        /**
         * 12-AB车位
         */
        public static final int SharePlace = 12;

        /**
         * 23-访客车
         */
        public static final int VisitorCar = 23;

    }

    public final class Payment {
        public static final int Clear = 1;
        public static final int Billable = 0;
    }

    public final class BillType {
        // 账单类型：1-临停 2-月卡 3-无牌车，4-特殊车，5-节假日，6-群组,7-异常，8--------放行规则提供，10-团队车，20-错时车
        public static final int unknown = 0;
        /**
         * 1-临停
         */
        public static final int Temporary = 1;
        /**
         * 2-月卡
         */
        public static final int MonthlyCard = 2;
        /**
         * 3-无牌车
         */
        public static final int Anonymous = 3;
        /**
         * 4-特殊车
         */
        public static final int Special = 4;
        /**
         * 5-节假日
         */
        public static final int Holidays = 5;
        /**
         * 6-群组
         */
        public static final int Group = 6;
        /**
         * 7-异常
         */
        public static final int Exception = 7;
        /**
         * 8-黑名单
         */
        public static final int BlackListCar = 8;
        /**
         * 9-充电黑名单
         */
        public static final int SpcBlackListCar = 9;
        /**
         * 10-团队车
         */
        public static final int Team = 10;
        /**
         * 11-车组
         */
        public static final int VehicleGroup = 11;
        /**
         * 12-AB车位
         */
        public static final int SharePlace = 12;
        /**
         * 13-团队车位
         */
        public static final int TeamPlace = 13;
        /**
         * 20-错时车
         */
        public static final int TimeFree = 20;
        /**
         * 21-产权车
         */
        public static final int PropertyRight = 21;
        /**
         * 22-内部车
         */
        public static final int InsideCar = 22;
        /**
         * 23-访客车
         */
        public static final int VisitorCar = 23;
        /**
         * 24-免费
         */
        public static final int Free = 24;

        /**
         * 26-充电 (钱包支付）
         */
        public static final int chargePay = 26;

        /**
         * 28-钱包
         */
        public static final int walletPay = 28;

        /**
         * 30-占位费
         */
        public static final int occupyFeePay = 30;

        /**
         * 40-物业费
         */
        public static final int propertyFeePay = 40;
        /**
         * 41-物业预存款缴费
         */
        public static final int propertyPrepaymentFeePay = 41;
        /**
         * 40-装修押金
         */
        public static final int decorationDeposit = 42;
    }

    public final class PassRule {
        /**
         * 固定车自动放行
         */
        public static final int TIME_PERIOD_PASS = 101;
        /**
         * 临时车自动放行
         */
        public static final int TEMPORARY_PASS = 202;
        /**
         * 节假日自动放行
         */
        public static final int HOLIDAYS_PASS = 303;
        /**
         * 特殊车辆自动放行
         */
        public static final int SPECIAL_PASS = 404;
        /**
         * 黑名单不放行
         */
        public static final int FIVE = 505;
        /**
         * 群组车自动放行
         */
        public static final int SIX = 606;
        /**
         * 车位满了禁止放行
         */
        public static final int SEVEN = 707;
        /**
         * 收费为0禁止放行
         */
        public static final int EIGHT = 808;
        /**
         * 未知原因
         */
        public static final int NINE = 909;
        /**
         * 无牌车自动放行
         */
        public static final int TEN = 1010;
        /**
         * 未交费不放行
         */
        public static final int ELEVEN = 1111;
    }

    public final class BillStatus {
        //账单状态：0-未结清状态，1-已结算（已出停车场）  ----每一次变动添加一条记录
        public static final int WAIT_FOR_PAYMENT = 0;
        public static final int PAID = 1;
    }

    public final class GroupPassRule {
        //0：出场不放行，1：出场控制放行 按 日 周 时段
        public static final int Forbid = 0;
        public static final int Limit = 1;
    }

    /**
     * 是否放行
     */
    public final class Pass {
        /**
         * 0：不放行
         */
        public static final int Forbid = 0;
        /**
         * 1：放行
         */
        public static final int Allow = 1;
    }

    public final class AnonymousPassRule {
        //0：不放行，1：放行
        public static final int Forbid = 0;
        public static final int Limit = 1;
    }

    // 放行时段（0：全天候，1：按日，2：按周）
    public final class GroupPassTime {
        public static final int AnyDay = 0;
        public static final int SpecialDay = 1;
        public static final int SpecialWeek = 2;
    }

    // 车位满是否放行（0：不放行，1：放行）
    public final class TruckSpaceFull {
        public static final int Forbid = 0;
        public static final int Allow = 1;
    }

    public final class GatewayCommand {
        public static final String Open = "1";
        public static final String Close = "0";
    }
}
