|  |  | 
 |  |  |     public static final String HEADER_USER_TOKEN = "dm_user_token"; | 
 |  |  |     public static final String REDIS_TOKEN_KEY = "token_"; | 
 |  |  |     public static final String REDIS_HK_TOKEN_KEY = "hk_token_"; | 
 |  |  |     public static final String HK_TOKEN_VALIDITY = "HK_TOKEN_VALIDITY"; | 
 |  |  |     public static final String[]  ALL_SPELL_LIST_FIRST = new String[]{"A", "B", "C", "D", "E", "F", "G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; | 
 |  |  |     public static final int ZERO = 0 ; | 
 |  |  |     public static final int ONE = 1 ; | 
 |  |  |     public static final int TWO = 2 ; | 
 |  |  |     public static final String HK_PARAM ="HK_PARAM" ; | 
 |  |  |     public static final String LED_CONTENT_SPEED ="LED_CONTENT_SPEED" ; | 
 |  |  |     public static final String HK_HOST ="HK_HOST" ; | 
 |  |  |     public static final String HK_APPKEY ="HK_APPKEY" ; | 
 |  |  |     public static final String HK_APPSECRET ="HK_APPSECRET" ; | 
 |  |  | 
 |  |  |     public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ; | 
 |  |  |     public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ; | 
 |  |  |     public static final String PLATFORM ="PLATFORM" ; | 
 |  |  |     public static final String POWER_MINUTE ="POWER_MINUTE" ; | 
 |  |  |     public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ; | 
 |  |  |     public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ; | 
 |  |  |     public static final String SIGN_IN_PLACE_LNT ="SIGN_IN_PLACE_LNT" ; | 
 |  |  | 
 |  |  |     // 访客来访配置 | 
 |  |  |     public static final String VISIT_CONFIG = "VISIT_CONFIG"; | 
 |  |  |     public static final String MEMBER_IMG = "MEMBER_IMG"; | 
 |  |  |     public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG"; | 
 |  |  |     public static final String VISIT_NOTICE = "VISIT_NOTICE"; | 
 |  |  |     public static final String TIME_OUT_CONFIG = "TIME_OUT_CONFIG"; | 
 |  |  |  | 
 |  |  |     //健康证配置 | 
 |  |  |     public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD"; | 
 |  |  |     public static final String HEALTH_CARD = "HEALTH_CARD"; | 
 |  |  | 
 |  |  |     public static final String HK_NGINX_URL = "HK_NGINX_URL"; | 
 |  |  |     public static final String PLATFORM_BOOKING_TIPS = "PLATFORM_BOOKING_TIPS"; | 
 |  |  |     public static final String PLATFORM_GUIDEMAP = "PLATFORM_GUIDEMAP"; | 
 |  |  |     public static final String WMS_PARAM ="WMS_PARAM" ; | 
 |  |  |     public static final String WMS_INBOUND_PLATFROM_URL ="WMS_INBOUND_PLATFROM_URL" ; | 
 |  |  |     public static final String WMS_GET_INVENTORYLIST_URL ="WMS_GET_INVENTORYLIST_URL" ; | 
 |  |  |     public static final String WMS_OUTBOUND_PLATFROM_URL ="WMS_OUTBOUND_PLATFROM_URL" ; | 
 |  |  |     public static final String TSM_PARAM ="TSM_PARAM" ; | 
 |  |  |     public static final String TMS_ORDER_LIST_URL ="TMS_ORDER_LIST_URL" ; | 
 |  |  |     public static final String TMS_ORDER_DETAIL_URL ="TMS_ORDER_DETAIL_URL" ; | 
 |  |  |     public static final String TMS_LOCK_STATUS_URL ="TMS_LOCK_STATUS_URL" ; | 
 |  |  |     public static final String TMS_INTERFACE_URL_PREFIX ="TMS_INTERFACE_URL_PREFIX" ; | 
 |  |  |     public static  boolean DEALING_HK_SYNCPRIVILEGE= false; | 
 |  |  |     public static  boolean DEALING_HK_SYNCDEVICE = false; | 
 |  |  |     public static  boolean DEALING_HK_SYNCPLATFORM = false; | 
 |  |  | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *   判断是否为有效车牌号 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return s.substring(0,5)+"*******"+s.substring(l-6,l); | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static  String  carCodeTuominStr(String s){ | 
 |  |  |         if(StringUtils.isEmpty(s)){ | 
 |  |  |             return ""; | 
 |  |  |         } | 
 |  |  |         int l = s.length(); | 
 |  |  |         if(Constants.equalsInteger(l,7)){ | 
 |  |  |             return s.substring(0,3)+"***"+s.substring(l-1,l); | 
 |  |  |         } | 
 |  |  |         if(l <= 8){ | 
 |  |  |             return s.substring(0,3)+"****"+s.substring(l-1,l); | 
 |  |  |         } | 
 |  |  |         return s; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 切分逗号拼接的整形集合 | 
 |  |  | 
 |  |  |  | 
 |  |  |     public interface RedisKeys { | 
 |  |  |         public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER"; | 
 |  |  |         public static final String IMPORTING_GAS ="IMPORTING_GAS"; | 
 |  |  |         public static final String ERP_TOKEN ="ERP_TOKEN"; | 
 |  |  |         public static final long EXPIRE_TIME = 7200; | 
 |  |  |  | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  |         System.out.println(Constants.getVehiclePlateNo("皖AA10991").getDescription()); | 
 |  |  |         System.out.println(Constants.checkCarNo("皖A10991")); | 
 |  |  |         System.out.println(Constants.checkCarNo("皖AA10991")); | 
 |  |  | //        System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription()); | 
 |  |  | //        System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription()); | 
 |  |  |  | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public  enum NoticeType { | 
 |  |  |  | 
 |  |  |         ZERO(0, "待审核","","","待审核","待处理","处理中"), | 
 |  |  |         ONE(1, "企业待签署","","","工种待审核","","已结案"), | 
 |  |  |         TWO(2, "待出单","待审核","待审核","","",""), | 
 |  |  |         THREE(3, "申请退回","申请退回","申请退回","","",""), | 
 |  |  |         FOUR(4, "已退回","已退回","已退回","","","已撤销"), | 
 |  |  |         FIVE(5, "申请驳回","申请驳回","申请驳回","","",""), | 
 |  |  |         //续保通知 | 
 |  |  |         SIX(6, "","","","","",""), | 
 |  |  |         //商户端 委托保 - 投保待审核 加减保 换厂 待审核 | 
 |  |  |         SEVEN(7, "待审核","待审核","待审核","","",""), | 
 |  |  |         EIGHT(8, "","","","","",""), | 
 |  |  |         NINE(9, "","","","","",""), | 
 |  |  |         ; | 
 |  |  |     public  enum PlatformWarnEvent { | 
 |  |  |         STOP_TIMEOUT(0, "停靠超时","${carCode}月台停靠超时" ), | 
 |  |  |         STOP_ERROR(1, "停靠错误","${carCode}月台停靠错误" ), | 
 |  |  |         WORK_TIMEOUT(2, "作业超时","${carCode}作业超时" ); | 
 |  |  |  | 
 |  |  |         // 成员变量 | 
 |  |  |         private int status; | 
 |  |  |         private String insuranceApplyDetail; | 
 |  |  |         private String applyChangeDetail; | 
 |  |  |         private String changeFactoryDetail; | 
 |  |  |         private String dispatchUnitDetail; | 
 |  |  |         private String taxesDetail; | 
 |  |  |         private String settleClaimsDetail; | 
 |  |  |         private int key; | 
 |  |  |         private String name; | 
 |  |  |         private String info; | 
 |  |  |  | 
 |  |  |         // 构造方法 | 
 |  |  |         NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail | 
 |  |  |                 , String changeFactoryDetail,String dispatchUnitDetail | 
 |  |  |                 , String taxesDetail,String settleClaimsDetail) { | 
 |  |  |             this.status = status; | 
 |  |  |             this.insuranceApplyDetail = insuranceApplyDetail; | 
 |  |  |             this.applyChangeDetail = applyChangeDetail; | 
 |  |  |             this.changeFactoryDetail = changeFactoryDetail; | 
 |  |  |             this.dispatchUnitDetail = dispatchUnitDetail; | 
 |  |  |             this.taxesDetail = taxesDetail; | 
 |  |  |             this.settleClaimsDetail = settleClaimsDetail; | 
 |  |  |         PlatformWarnEvent(int key, String name,String info ) { | 
 |  |  |             this.key = key; | 
 |  |  |             this.info = info; | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |         public static String getName(int index) { | 
 |  |  |             for (PlatformWarnEvent c : PlatformWarnEvent.values()) { | 
 |  |  |                 if (c.getKey() == index) { | 
 |  |  |                     return c.name; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         // get set 方法 | 
 |  |  |         public int getStatus() { | 
 |  |  |             return status; | 
 |  |  |         public int getKey() { | 
 |  |  |             return key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setStatus(int status) { | 
 |  |  |             this.status = status; | 
 |  |  |         public void setKey(int key) { | 
 |  |  |             this.key = key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getInsuranceApplyDetail() { | 
 |  |  |             return insuranceApplyDetail; | 
 |  |  |         public String getName() { | 
 |  |  |             return name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setInsuranceApplyDetail(String name) { | 
 |  |  |             this.insuranceApplyDetail = insuranceApplyDetail; | 
 |  |  |         public void setName(String name) { | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getApplyChangeDetail() { | 
 |  |  |             return applyChangeDetail; | 
 |  |  |         public String getInfo() { | 
 |  |  |             return info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setApplyChangeDetail(String info) { | 
 |  |  |             this.applyChangeDetail = applyChangeDetail; | 
 |  |  |         public void setInfo(String info) { | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getChangeFactoryDetail() { | 
 |  |  |             return changeFactoryDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setChangeFactoryDetail(String info) { | 
 |  |  |             this.changeFactoryDetail = changeFactoryDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getDispatchUnitDetail() { | 
 |  |  |             return dispatchUnitDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setDispatchUnitDetail(String info) { | 
 |  |  |             this.dispatchUnitDetail = dispatchUnitDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getTaxesDetail() { | 
 |  |  |             return taxesDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setTaxesDetail(String info) { | 
 |  |  |             this.taxesDetail = taxesDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getSettleClaimsDetail() { | 
 |  |  |             return settleClaimsDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setSettleClaimsDetail(String info) { | 
 |  |  |             this.settleClaimsDetail = settleClaimsDetail; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |      * 0任务创建 1司机确认任务 2司机签到 3入园等待 4月台叫号 5开始作业 6作业完成 7月台转移 8任务挂起 9下发授权离园 10离园 | 
 |  |  |      */ | 
 |  |  |     public  enum PlatformJobLogType { | 
 |  |  |         CREATE(0, "任务创建","任务创建" ), | 
 |  |  |         CONFIRM_TASK(1, "司机确认任务","司机确认任务" ), | 
 |  |  |         SIGN(2, "司机签到","司机签到"), | 
 |  |  |         IN_WAIT(3, "入园等待","入园等待" ), | 
 |  |  |         CALLED(4, "月台叫号","月台叫号" ), | 
 |  |  |         WORKING(5, "开始作业","开始作业" ), | 
 |  |  |         DONE(6, "作业完成 ","作业完成 " ), | 
 |  |  |         TRANSFERING(7, "月台转移","月台转移" ), | 
 |  |  |         EXCEPTION(8, "任务挂起","任务挂起" ), | 
 |  |  |         CREATE(0, "任务创建","入园预约成功" ), | 
 |  |  |         CONFIRM_TASK(1, "司机确认任务","已完成时间确认" ), | 
 |  |  |         SIGN(2, "司机签到","排队等待叫号"), | 
 |  |  |         IN_WAIT(3, "入园等待","叫号入园等待" ), | 
 |  |  |         CALLED(4, "月台叫号","{data}叫号" ), | 
 |  |  |         WORKING(5, "开始作业","进入{data}开始作业" ), | 
 |  |  |         DONE(6, "作业完成 ","月台作业完成,驶离月台" ), | 
 |  |  |         TRANSFERING(7, "月台转移","{data}发起月台转移" ), | 
 |  |  |         EXCEPTION(8, "任务挂起","作业异常被挂起" ), | 
 |  |  |         AUTHED_LEAVE(9, "下发授权离园","下发授权离园" ), | 
 |  |  |         LEAVED(10, "已离园 ","已离园 " ), | 
 |  |  |         LEAVED(10, "已离园 ","车辆从{data}离场 " ), | 
 |  |  |         OVER_NUMBER(11, "已过号","超时未到指定月台自动过号" ), | 
 |  |  |         ; | 
 |  |  |  | 
 |  |  |         // 成员变量 | 
 |  |  | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |      | 
 |  |  |     /** | 
 |  |  |      * 月台作业大屏文案 状态 | 
 |  |  |      * 1、月台空闲:1号月台(月台名称) | 
 |  |  |      * 2、叫号中:1号月台 皖A12345  叫号中 | 
 |  |  |      * 3、作业中:1号月台 皖A12345 作业中 | 
 |  |  |      * 4、错误停靠:1号月台 皖A12345 当前车辆错误停靠,请尽快驶离 | 
 |  |  |      * 5、超时停靠:1号月台 皖A12345 当前车辆超时停靠,请尽快驶离 | 
 |  |  |      */ | 
 |  |  |     public  enum PlatformLedContent { | 
 |  |  |         IDEL_CONTNET(1, "空闲中","安泰物流有限责任公司" ), | 
 |  |  |         CALLING(2, "叫号中","${param} ${param2}  叫号中"), | 
 |  |  |         WORKING(3, "作业中","${param} ${param2} 作业中" ), | 
 |  |  |         WRONG_IN(4, "错误停靠","${param} ${param2} 当前车辆错误停靠,请尽快驶离" ), | 
 |  |  |         TIMEOUT_IN(5, "超时停靠","${param} ${param2} 当前车辆超时停靠,请尽快驶离" ), | 
 |  |  |         TIMEOUT_WORK(6, "作业超时","${param} ${param2} 当前车辆作业超时" ), | 
 |  |  |         DONE(7, "作业完成","${param} ${param2} 作业完成" ), | 
 |  |  |         ; | 
 |  |  |  | 
 |  |  |         // 成员变量 | 
 |  |  |         private int key; | 
 |  |  |         private String name; | 
 |  |  |         private String info; | 
 |  |  |  | 
 |  |  |         // 构造方法 | 
 |  |  |         PlatformLedContent(int key, String name,String info ) { | 
 |  |  |             this.key = key; | 
 |  |  |             this.info = info; | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |         public static String getName(int index) { | 
 |  |  |             for (PlatformLedContent c : PlatformLedContent.values()) { | 
 |  |  |                 if (c.getKey() == index) { | 
 |  |  |                     return c.name; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public int getKey() { | 
 |  |  |             return key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setKey(int key) { | 
 |  |  |             this.key = key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getName() { | 
 |  |  |             return name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setName(String name) { | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getInfo() { | 
 |  |  |             return info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setInfo(String info) { | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 广播通知内容 | 
 |  |  |      1. 叫号中:皖A12345请前往1号月台等待作业 | 
 |  |  |      2. 作业完成:皖A12345作业完成,请尽快驶离 | 
 |  |  |      3. 错误停靠:皖A12345月台停靠错误,请尽快驶离 | 
 |  |  |      4. 超时停靠:皖A12345月台停靠超时,请尽快驶离请尽快驶离 | 
 |  |  |      5. 作业超时:皖A12345月台停靠超时,请尽快驶离请尽快驶离 | 
 |  |  |      */ | 
 |  |  |     public  enum PlatformBroadcastContent { | 
 |  |  |         CALLING(1, "叫号中","${param}请前往${param2}等待作业"), | 
 |  |  |         DONE(2, "作业完成","${param}作业完成,请尽快驶离" ), | 
 |  |  |         WRONG_IN(3, "错误停靠","${param}月台停靠错误,请尽快驶离" ), | 
 |  |  |         TIMEOUT_IN(4, "超时停靠","${param}月台停靠超时,请尽快驶离请尽快驶离" ), | 
 |  |  |         TIMEOUT_WORK(5, "作业超时","${param}作业超时" ), | 
 |  |  |         ; | 
 |  |  |  | 
 |  |  |         // 成员变量 | 
 |  |  |         private int key; | 
 |  |  |         private String name; | 
 |  |  |         private String info; | 
 |  |  |  | 
 |  |  |         // 构造方法 | 
 |  |  |         PlatformBroadcastContent(int key, String name,String info ) { | 
 |  |  |             this.key = key; | 
 |  |  |             this.info = info; | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |         public static String getName(int index) { | 
 |  |  |             for (PlatformBroadcastContent c : PlatformBroadcastContent.values()) { | 
 |  |  |                 if (c.getKey() == index) { | 
 |  |  |                     return c.name; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public int getKey() { | 
 |  |  |             return key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setKey(int key) { | 
 |  |  |             this.key = key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getName() { | 
 |  |  |             return name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setName(String name) { | 
 |  |  |             this.name = name; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getInfo() { | 
 |  |  |             return info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setInfo(String info) { | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 月台作业 状态 | 
 |  |  |      * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 | 
 |  |  | 
 |  |  |     public  enum PlatformJobStatus { | 
 |  |  |         WAIT_CONFIRM(0, "待确认","待确认" ), | 
 |  |  |         WART_SIGN_IN(1, "待签到","待签到" ), | 
 |  |  |         WAIT_CALL(2, "已签到","已签到"), //等待叫号入园 | 
 |  |  |         IN_WAIT(3, "入园等待","入园等待" ),//已入园 未叫号进入月台 | 
 |  |  |         WAIT_CALL(2, "已签到","已签到"), | 
 |  |  |         IN_WAIT(3, "入园等待","入园等待" ), | 
 |  |  |         CALLED(4, "已叫号","已叫号" ), | 
 |  |  |         WORKING(5, "作业中","作业中" ), | 
 |  |  |         DONE(6, "作业完成 ","作业完成 " ), | 
 |  |  |         DONE(6, "作业完成 ","作业完成" ), | 
 |  |  |         TRANSFERING(7, "转移中","转移中" ), | 
 |  |  |         EXCEPTION(8, "异常挂起","异常挂起" ), | 
 |  |  |         AUTHED_LEAVE(9, "已授权离园","已授权离园" ), | 
 |  |  |         LEAVED(10, "已离园 ","已离园 " ), | 
 |  |  |         OVER_NUMBER(11, "已过号","已过号" ), | 
 |  |  |         CANCEL(12, "已取消","已取消" ), | 
 |  |  |         ; | 
 |  |  |  | 
 |  |  |         // 成员变量 |