package com.xindazhou.vehicle.enums;

import com.xindazhou.framework.common.exception.ErrorCode;

/**
 * Vehicle 错误码枚举类
 *
 * vehicle 模块，使用 1-005-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 车辆信息 1-005-000-000 ==========
    ErrorCode VEHICLE_NOT_EXISTS = new ErrorCode(1_005_000_001, "车辆不存在");
    ErrorCode VEHICLE_VIN_DUPLICATE = new ErrorCode(1_005_000_002, "车辆 VIN 码重复");
    ErrorCode VEHICLE_PLATE_NUMBER_DUPLICATE = new ErrorCode(1_005_000_003, "车牌号重复");

    // ========== 车辆绑定 1-005-001-000 ==========
    ErrorCode VEHICLE_BIND_NOT_EXISTS = new ErrorCode(1_005_001_000, "车辆绑定关系不存在");
    ErrorCode VEHICLE_BIND_ALREADY_EXISTS = new ErrorCode(1_005_001_001, "车辆已绑定该用户");
    ErrorCode VEHICLE_BIND_USER_NOT_EXISTS = new ErrorCode(1_005_001_002, "绑定的用户不存在");

    // ========== 车辆控制 1-005-002-000 ==========
    ErrorCode VEHICLE_CONTROL_FAILED = new ErrorCode(1_005_002_000, "车辆控制失败");
    ErrorCode VEHICLE_OFFLINE = new ErrorCode(1_005_002_001, "车辆离线，无法控制");
    ErrorCode VEHICLE_CONTROL_NO_PERMISSION = new ErrorCode(1_005_002_002, "没有控制该车辆的权限");

    // ========== 车辆状态 1-005-003-000 ==========
    ErrorCode VEHICLE_STATUS_NOT_EXISTS = new ErrorCode(1_005_003_000, "车辆状态不存在");

    // ========== 车辆位置 1-005-004-000 ==========
    ErrorCode VEHICLE_LOCATION_NOT_EXISTS = new ErrorCode(1_005_004_000, "车辆位置不存在");

}

