| package com.doumee.core.constants; | 
|   | 
| import lombok.AllArgsConstructor; | 
| import lombok.Getter; | 
|   | 
| import java.util.*; | 
|   | 
| /** | 
|  * 框架级常量 | 
|  * @author  dm | 
|  * @since 2025/03/31 16:44 | 
|  */ | 
| public class Constants { | 
|   | 
|     public static final String AZURE_BLOB ="AZURE_BLOB" ; | 
|     public static final String AZURE_BLOB_ACCESSNAME ="AZURE_BLOB_ACCESSNAME" ; | 
|     public static final String AZURE_BLOB_ACCESSKEY ="AZURE_BLOB_ACCESSKEY" ; | 
|     public static final String AZURE_BLOB_ENDPOINT ="AZURE_BLOB_ENDPOINT" ; | 
|     public static final String AZURE_BLOB_CONTAINER ="AZURE_BLOB_CONTAINER" ; | 
|     public static final String FTP ="FTP" ; | 
|     public static final String FTP_HOST ="FTP_HOST" ; | 
|     public static final String FTP_PORT ="FTP_PORT" ; | 
|     public static final String FTP_USERNAME ="FTP_USERNAME" ; | 
|     public static final String FTP_PWD ="FTP_PWD" ; | 
|     public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ; | 
|     public static final String FTP_LOCAL_RESOURCE_PATH ="FTP_LOCAL_RESOURCE_PATH" ; | 
|     public static final String QYWX_CORPID = "QYWX_CORPID"; | 
|     public static final String QYWX_SECRET = "QYWX_SECRET"; | 
|     public static final String QYWX_TOKEN = "QYWX_TOKEN"; | 
|     public static final String QYWX_AGENTID = "QYWX_AGENTID"; | 
|     public static final String QYWX_JS_API_TICKET = "QYWX_JS_API_TICKET"; | 
|     public static final String JUMP_OUT_URL = "JUMP_OUT_URL"; | 
|     public static final String SYSTEM ="SYSTEM" ; | 
|     public static final String IMG_DIR = "IMG_DIR"; | 
|     public static final String FILE_DIR ="FILE_DIR" ; | 
|     public static final String FOOT_IMGURL ="FOOT_IMGURL" ; | 
|     public static final String LINK_PHONE ="LINK_PHONE" ; | 
|     public static final String LINK_MOBILE ="LINK_MOBILE" ; | 
|     public static final String SERVER_TIME ="SERVER_TIME" ; | 
|     public static final String ADDRESS ="ADDRESS" ; | 
|     public static final String SOLVE_SCHEME ="SOLVE_SCHEME" ; | 
|     public static final String WISDOM_SYSTEM ="WISDOM_SYSTEM" ; | 
|     public static final String FOOT_WORDS ="FOOT_WORDS" ; | 
|   | 
|   | 
|     public static final String QYWX = "QYWX"; | 
|     public static final  Integer ONE = 1; | 
|     public static final Integer TWO = 2; | 
|     public static final Integer ZERO = 0; | 
|     public static final Integer THREE = 3; | 
|     public static final Integer FOUR = 4; | 
|     public static final Integer SIX = 6; | 
|     public static final Integer FIVE = 5; | 
|     public static boolean WORKORDER_SHE_EMAIL_SENDING = false; | 
|     public static  boolean DEALING_COMPANY_SYNC = false ; | 
|     public static  boolean DEALING_MEMBER_SYNC = false ; | 
|     public static final String WORKORDER_FILE_PATH ="WORKORDER_FILE_PATH" ; | 
|     public static final String WORKORDER_LOG_FILE_PATH ="WORKORDER_LOG_FILE_PATH" ; | 
|   | 
|     public static final String REDIS_TOKEN_KEY = "token_"; | 
|     public interface   uploadType{ | 
|         String blob = "blob"; | 
|         String ftp = "ftp"; | 
|     } | 
|   | 
|     /** | 
|      * 缓存Key | 
|      */ | 
|     interface CacheKey { | 
|     } | 
|     public interface RedisKeys { | 
|         public static final String IMPORTING_CATEGORY = "IMPORTING_CATEGORY"; | 
|     } | 
|     /** | 
|      * 操作类型,用于做接口验证分组 | 
|      */ | 
|    public interface OperaType { | 
|   | 
|         /** | 
|          * 创建 | 
|          */ | 
|         interface Create {} | 
|   | 
|         /** | 
|          * 修改 | 
|          */ | 
|         interface Update {} | 
|   | 
|         /** | 
|          * 修改状态 | 
|          */ | 
|         interface UpdateStatus {} | 
|     } | 
|   | 
|   | 
|     public static boolean equalsInteger(Integer a, Integer b) { | 
|         if (formatIntegerNum(a) == formatIntegerNum(b)) { | 
|             return true; | 
|         } | 
|         return false; | 
|     } | 
|   | 
|     public static int formatIntegerNum(Integer d) { | 
|         if (d == null) { | 
|             d = 0; | 
|         } | 
|         return d.intValue(); | 
|     } | 
|   | 
|     public static long formatLongNum(Long d) { | 
|         if (d == null) { | 
|             d = 0L; | 
|         } | 
|         return d.longValue(); | 
|     } | 
|   | 
|     /** | 
|      * Job常量 | 
|      */ | 
|     public interface Job { | 
|   | 
|         // jobId在JOB实例中的存储参数键 | 
|         String JOB_DATA_MAP_JOB_ID = "JOB_ID"; | 
|   | 
|         /** | 
|          * JOB状态 | 
|          */ | 
|         @Getter | 
|         @AllArgsConstructor | 
|         enum JobStatus { | 
|             PAUSE( -1, "暂停"), | 
|             READY(  0, "已准备"), | 
|             RUNNING( 1, "运行中"), | 
|             ; | 
|             private int code; | 
|             private String remark; | 
|         } | 
|   | 
|         /** | 
|          * 分片状态 | 
|          */ | 
|         @Getter | 
|         @AllArgsConstructor | 
|         enum SnippetStatus { | 
|             READY((int) 0, "已准备"), | 
|             RUNNING((int) 1, "运行中"), | 
|             SUCCESS((int) 2, "执行成功"), | 
|             FAILED((int) -2, "执行失败"), | 
|             ; | 
|             private int code; | 
|             private String remark; | 
|         } | 
|   | 
|         /** | 
|          * 分片状态 | 
|          */ | 
|         @Getter | 
|         @AllArgsConstructor | 
|         enum LogStatus { | 
|             FAILED((int) 0, "执行失败"), | 
|             SUCCESS((int) 1, "执行成功"), | 
|             IGNORE((int) 2, "跳过"), | 
|             NONE((int) -1, "执行中"), | 
|             ; | 
|             private int code; | 
|             private String remark; | 
|         } | 
|   | 
|         /** | 
|          * 触发类型 | 
|          */ | 
|         @Getter | 
|         @AllArgsConstructor | 
|         enum TriggerType { | 
|             SYSTEM("SYSTEM", "系统"), | 
|             MANUAL("MANUAL", "手动"), | 
|             ; | 
|             private String code; | 
|             private String remark; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 跟踪日志异常等级 | 
|      */ | 
|     @Getter | 
|     @AllArgsConstructor | 
|   public  enum ExceptionLevel { | 
|         DANGER((int)10, "高"), | 
|         WARN((int)5, "中"), | 
|         LOW((int)0, "低"), | 
|         ; | 
|   | 
|         private int level; | 
|   | 
|         private String remark; | 
|     } | 
|   | 
|     /** | 
|      * MyBatis自动注入忽略 | 
|      */ | 
|     public interface Ignore { | 
|         /** | 
|          * 忽略时间,当不需要更新createTime/updateTime时,可使用该常量进行填充。 | 
|          */ | 
|         Date IGNORE_TIME = new IgnoreDate(); | 
|   | 
|         /** | 
|          * 忽略用户,当不需要更新createUser/updateUser时,可使用该常量进行填充。 | 
|          */ | 
|         Integer IGNORE_USER = -1; | 
|   | 
|         /** | 
|          * 忽略时间类 | 
|          */ | 
|         class IgnoreDate extends Date {} | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 文件附件类型 | 
|      */ | 
|     public interface multiFileType{ | 
|         //0问题上报 1跌绊滑上报 2跌绊滑处理 3分配物业主管 4分配处理人 5DCA风险上报 6DCA风险处理 7DCA问题工单图片 | 
| //        int sheUpload = 0; | 
| //        int dbhUpload = 1; | 
| //        int dbhDeal = 2; | 
| //        int dbhAllocation = 3; | 
| //        int dbhDealUser = 4; | 
| //        int dcaUpload = 5; | 
| //        int dcaDeal = 6; | 
| //        int dcaWorkOrder= 7; | 
|   | 
|         //0工单上报 1工单处理 2工单转交 | 
|         int  upload = 0; | 
|         int deal = 1; | 
|         int passOn = 2; | 
|     } | 
|   | 
|   | 
|     public enum WorkOrderStatus{ | 
|         waitConfirm( 0, "待分配WTS","{title}上报","","待分配WTS" ), | 
|         waitAllocation(1, "待分配任务","待分配任务","","待分配任务"), | 
|         waitDeal(2, "待处理","待处理","","待工程师处理"), | 
|         sheClose(3, "已解决","SHE已关闭","","SHE已关闭"), | 
|         wtsClose(4, "已解决","WTS已关闭","","WTS已关闭"), | 
|         close(5, "已解决","已解决","","工程师关闭"), | 
|         urge (6, "催促","","","") | 
|         ; | 
|   | 
|         private int status; | 
|         private String statusInfo; | 
|         private String statusName; | 
|         private String logTitle; | 
|         private String noticeContent; | 
|   | 
|         // 构造方法 | 
|         WorkOrderStatus(int status, String statusInfo,String logTitle,String noticeContent,String statusName ) { | 
|             this.status = status; | 
|             this.statusInfo = statusInfo; | 
|             this.logTitle = logTitle; | 
|             this.noticeContent = noticeContent; | 
|             this.statusName = statusName; | 
|         } | 
|         public static String getName(int index) { | 
|             for (WorkOrderStatus c : WorkOrderStatus.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.statusInfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|         public static String getStatusName(int index) { | 
|             for (WorkOrderStatus c : WorkOrderStatus.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.statusName; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return status; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.status = status; | 
|         } | 
|   | 
|         public int getStatus() { | 
|             return status; | 
|         } | 
|   | 
|         public void setStatus(int status) { | 
|             this.status = status; | 
|         } | 
|   | 
|         public String getStatusName() { | 
|             return statusName; | 
|         } | 
|   | 
|         public void setStatusName(String statusName) { | 
|             this.statusName = statusName; | 
|         } | 
|   | 
|         public String getStatusInfo() { | 
|             return statusInfo; | 
|         } | 
|   | 
|         public void setStatusInfo(String statusInfo) { | 
|             this.statusInfo = statusInfo; | 
|         } | 
|   | 
|         public String getLogTitle() { | 
|             return logTitle; | 
|         } | 
|   | 
|         public void setLogTitle(String logTitle) { | 
|             this.logTitle = logTitle; | 
|         } | 
|   | 
|         public String getNoticeContent() { | 
|             return noticeContent; | 
|         } | 
|   | 
|         public void setNoticeContent(String noticeContent) { | 
|             this.noticeContent = noticeContent; | 
|         } | 
|     } | 
| } |