|  |  | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.net.URLDecoder; | 
 |  |  | import java.net.URLEncoder; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Arrays; | 
 |  |  | 
 |  |  |     public static final String SIGN_IN_PLACE_LNT ="SIGN_IN_PLACE_LNT" ; | 
 |  |  |     public static final String SIGN_IN_PLACE_DISTANCE ="SIGN_IN_PLACE_DISTANCE" ; | 
 |  |  |     public static final String SIGN_IN_QRCODE ="SIGN_IN_QRCODE" ; | 
 |  |  |     public static final String SIGN_IN_ATTENTION ="SIGN_IN_ATTENTION" ; | 
 |  |  |     public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) | 
 |  |  | 
 |  |  |     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 VISIT_REPORT_TIME_OUT_MOBILE = "VISIT_REPORT_TIME_OUT_MOBILE"; | 
 |  |  |     public static final String VISIT_TIME_OUT_MOBILE = "VISIT_TIME_OUT_MOBILE"; | 
 |  |  |  | 
 |  |  |     //健康证配置 | 
 |  |  |     public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD"; | 
 |  |  | 
 |  |  |     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 final String MYSQL_BACKUP_CDOE ="MYSQL_BACKUP_CDOE" ; | 
 |  |  |     public static final String MYSQL_BACKUP_DIR ="MYSQL_BACKUP_DIR" ; | 
 |  |  |     public static final String EVENT_FILES_PRIVATE_DOMAIN ="EVENT_FILES_PRIVATE_DOMAIN" ; | 
 |  |  |     public static final String EVENT_FILES_PUBLIC_DOMAIN ="EVENT_FILES_PUBLIC_DOMAIN" ; | 
 |  |  |     public static final String TEMPERATURE_HUMIDITY ="TEMPERATURE_HUMIDITY" ; | 
 |  |  |  | 
 |  |  |     public static final String HK_WXTOKEN_CONFIGID ="HK_WXTOKEN_CONFIGID" ; | 
 |  |  |     public static final String HK_WXTOKEN_TAGID ="HK_WXTOKEN_TAGID" ; | 
 |  |  |     public static final String WMS_TOTAL_STOCK_NUM ="WMS_TOTAL_STOCK_NUM" ; | 
 |  |  |     public static final String WMS_LIQUID_LEVEL ="WMS_LIQUID_LEVEL" ; | 
 |  |  |     public static final String WMS_PRESSURE_LEVEL ="WMS_PRESSURE_LEVEL" ; | 
 |  |  |     public static final String WX_REDIRECT_URL = "WX_REDIRECT_URL"; | 
 |  |  |     public static final String HK_CHANGNEI_SCREEN_INDEXCODES = "HK_CHANGNEI_SCREEN_INDEXCODES"; | 
 |  |  |     public static final String CITY_XH_REASON_ID ="CITY_XH_REASON_ID" ; | 
 |  |  |     public static final String ATWL_XH_PLATFORM_ID ="ATWL_XH_PLATFORM_ID" ; | 
 |  |  |     public static final String SCREEN_SEVENT_ARRIVAL_STARTDATE = "SCREEN_SEVENT_ARRIVAL_STARTDATE"; | 
 |  |  |     public static  boolean DEALING_HK_SYNCPRIVILEGE= false; | 
 |  |  |     public static  boolean DEALING_HK_SYNCDEVICE = false; | 
 |  |  |     public static  boolean DEALING_HK_SYNCPLATFORM = false; | 
 |  |  | 
 |  |  |     public static  boolean DEALING_HK_DEL_USER = false; | 
 |  |  |     public static  boolean DEALING_HK_VISIT = false; | 
 |  |  |     public static  boolean DEALING_HK_VISIT_EXPIRE = false; | 
 |  |  |     public static  boolean DEALING_HK_NOTICE_LIST = false; | 
 |  |  |     public static  boolean DEALING_FROM_HK_VISIT = false; | 
 |  |  |     public static  boolean DEALING_HK_EMPOWER = false; | 
 |  |  |     public static  boolean DEALING_HK_EMPOWER_DETAIL = false; | 
 |  |  | 
 |  |  |  | 
 |  |  |         return sb.toString(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取公众号跳转重定向业务地址 | 
 |  |  |      * @param code | 
 |  |  |      * @param paramCode | 
 |  |  |      * @param ywid | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static String getWxUrl(String code, WxUrlParams paramCode, String ywid) { | 
 |  |  |         String url = code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid); | 
 |  |  | //        try { | 
 |  |  | //            url = URLEncoder.encode(code,"UTF-8"); | 
 |  |  | //        }catch (Exception e){ | 
 |  |  | // | 
 |  |  | //        } | 
 |  |  |         return url; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public interface VisitIccmStatus{ | 
 |  |  |         //访客状态(0:未签到,1:已签到,2:已签退,3:滞留,4:未访问,5:自动签离,6:未签退) | 
 |  |  |         int waitSign = 0; | 
 |  |  | 
 |  |  |     public interface RedisKeys { | 
 |  |  |         public static final String IMPORTING_CARS ="IMPORTING_CARS"; | 
 |  |  |         public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER"; | 
 |  |  |         public static final String BIGSCREEN_UUID ="BIGSCREEN_UUID"; | 
 |  |  |         public static final String IMPORTING_GAS ="IMPORTING_GAS"; | 
 |  |  |         public static final String ERP_TOKEN ="ERP_TOKEN"; | 
 |  |  |         public static final long EXPIRE_TIME = 7200; | 
 |  |  | 
 |  |  |     int logisticsCarUse = 4;//物流车审批 | 
 |  |  |     int system = 5;//系统消息 | 
 |  |  |     int reason = 6;//入园原因 | 
 |  |  |     int hknotice = 7;//海康考勤代办 | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |         WAIT_CALL(2, "已签到","已签到"), | 
 |  |  |         IN_WAIT(3, "入园等待","入园等待" ), | 
 |  |  |         CALLED(4, "已叫号","已叫号" ), | 
 |  |  |         WORKING(5, "作业中","作业中" ), | 
 |  |  |          WORKING(5, "作业中","作业中" ), | 
 |  |  |         DONE(6, "作业完成 ","作业完成" ), | 
 |  |  |         TRANSFERING(7, "转移中","转移中" ), | 
 |  |  |         EXCEPTION(8, "异常挂起","异常挂起" ), | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |     public  enum WxUrlParams { | 
 |  |  |         BISCREEN_CODE(0,0, "0", "门口大屏二维码"), | 
 |  |  |         MEETING_CODE(1,2, "1","会议室大屏"), | 
 |  |  |         VISIT_RECORD_VISIT(2,1, "2","访客记录-访客"), | 
 |  |  |         VISIT_RECORD_USER(3,2, "2","访客记录-员工"), | 
 |  |  |         VISIT_REPORT_RECORD_USER(5,2, "3","访客报备记录-员工"), | 
 |  |  |         HIDDEN_DANGER(6,2, "4","隐患随手拍"), | 
 |  |  |         CAR_USE(7,2, "5","用车申请"), | 
 |  |  |         MEETING(8,2, "6","会议详情"), | 
 |  |  |         PLATFORM_BOOK_DRIVER(9,0, "7","物流车预约-司机"), | 
 |  |  |         PLATFORM_BOOK(10,2, "7","物流车预约-员工"), | 
 |  |  |         PLATFORM_JOB_DRIVER(11,0, "8","月台作业-司机"), | 
 |  |  |         ; | 
 |  |  |         // 成员变量 | 
 |  |  |         private int key; | 
 |  |  |         private int type;//用户类型 0司机 1访客 2员工 | 
 |  |  |         private String yw;//业务类型 | 
 |  |  |         private String info;//说明 | 
 |  |  |  | 
 |  |  |         // 构造方法 | 
 |  |  |         WxUrlParams(int key,int type, String yw,String  info) { | 
 |  |  |             this.yw = yw; | 
 |  |  |             this.key = key; | 
 |  |  |             this.type = type; | 
 |  |  |             this.info= info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         public int getKey() { | 
 |  |  |             return key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setKey(int key) { | 
 |  |  |             this.key = key; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public int getType() { | 
 |  |  |             return type; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setType(int type) { | 
 |  |  |             this.type = type; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getYw() { | 
 |  |  |             return yw; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setYw(String yw) { | 
 |  |  |             this.yw = yw; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public String getInfo() { | 
 |  |  |             return info; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void setInfo(String info) { | 
 |  |  |             this.info = info; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException { | 
 |  |  |         ObjectMapper mapper = new ObjectMapper(); | 
 |  |  |         mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); |