SystemConstant.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. package com.qmth.teachcloud.common.contant;
  2. import com.qmth.boot.core.uid.service.UidService;
  3. import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
  4. import java.io.File;
  5. import java.nio.charset.Charset;
  6. import java.util.Objects;
  7. import java.util.StringJoiner;
  8. import java.util.UUID;
  9. /**
  10. * @Description: 系统常量
  11. * @Param:
  12. * @return:
  13. * @Author: wangliang
  14. * @Date: 2019/10/11
  15. */
  16. public class SystemConstant {
  17. /**
  18. * 系统常量
  19. */
  20. public static final String CHARSET_NAME = "UTF-8";
  21. public static final Charset CHARSET = Charset.forName(CHARSET_NAME);
  22. public static final String MD5 = "MD5";
  23. public static final String SUCCESS = "success";
  24. public static final String EXTEND_COLUMN = "extendColumn";
  25. public static final String USER_DIR = "user.dir";
  26. public static final String PDF_TEMP = "pdf-temp";
  27. public static final String FILE_TEMP = "file-temp";
  28. public static final String DOWNLOAD_TEMP = "download-temp";
  29. public static final String SESSION = "session:";
  30. public static final String TASK = "task";
  31. public static final String USER = "account";
  32. public static final String SCHOOL_ID = "schoolId";
  33. public static final String SCHOOL = "school";
  34. public static final String ORG = "org";
  35. public static final String ERROR = "/error";
  36. public static final String METHOD = "post";
  37. public static final String DEFAULT_PASSWORD = "MTIzNDU2";
  38. public static final String DEFAULT_MOBILE_NUMBER = "11111111111";
  39. public static final String UPDATE_TIME = "updateTime";
  40. public static final String PATH = "path";
  41. public static final String PDF_PATH = "pdfPath";
  42. public static final String HTML_PATH = "htmlPath";
  43. public static final String TYPE = "type";
  44. public static final String LOCAL = "local";
  45. public static final String OSS = "oss";
  46. public static final String LOGO = "logo";
  47. public static final String UPLOAD_TYPE = "uploadType";
  48. public static final String HTTP = "http://";
  49. public static final String ID = "id";
  50. public static final String FILE = "file";
  51. public static final String SIZE = "size";
  52. public static final String HTML_PREFIX = ".html";
  53. public static final String PDF_PREFIX = ".pdf";
  54. public static final String FTL_PREFIX = ".ftl";
  55. public static final String ZIP_PREFIX = ".zip";
  56. public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
  57. public static final int PAGE_NUMBER = 0;
  58. public static final int PAGE_SIZE = 10000000;
  59. public static final int ALL_CARD = -1;
  60. public static final String MANUAL = "manual";
  61. public static final String DELIMITER = ":";
  62. public static final int FINAL_SCALE = 1;
  63. public static final int CALCULATE_SCALE = 4;
  64. public static final int OPER_SCALE = 8;
  65. public static final String HYPHEN = "-";
  66. public static final String DEFAULT_SIGN = "#";
  67. public static final String PARENT_ORG = "武汉大学教务处";
  68. public static final String SCHOOL_CODE = "wdfx";
  69. // public static final int MAX_RETRY_CREATE_PDF_COUNT = 5;
  70. /**
  71. * oss url过期时间
  72. */
  73. public static final int OSS_URL_EXPIRE = 5 * 60 * 1000;//过期时间5分钟
  74. /**
  75. * 缓存配置
  76. */
  77. public static final String USER_OAUTH_CACHE = "user:oauth:cache";
  78. public static final String USER_ACCOUNT_CACHE = "user:account:cache";
  79. public static final String SCHOOL_CACHE = "school:cache";
  80. public static final String SCHOOL_CODE_CACHE = "school:code:cache";
  81. public static final String ORG_CACHE = "org:cache";
  82. public static final String PRIVILEGE_URL_CACHE = "privilege:url:cache";
  83. public static final String ROLE_PRIVILEGE_CACHE = "role:privilege:cache";
  84. public static final String USER_ROLE_PRIVILEGE_CACHE = "user:role:privilege:cache";
  85. /**
  86. * 报表缓存
  87. */
  88. public static final String EXAM_STUDENT_REPORT = "report:cache:examStudent";
  89. public static final String COLLEGE_DEAN_REPORT = "report:cache:collegeDean";
  90. public static final String COLLEGE_COURSE_REPORT = "report:cache:collegeCourse";
  91. public static final String SURVEY_TEACHER_VIEW_REPORT = "report:cache:surveyTeacherView";
  92. public static final String TEACHER_VIEW_REPORT = "report:cache:teacherView";
  93. public static final String TEACHER_ANSWER_VIEW_REPORT = "report:cache:teacherAnswerView";
  94. /**
  95. * 鉴权
  96. */
  97. public static final String HEADER_AUTHORIZATION = "Authorization";
  98. public static final String HEADER_TIME = "time";
  99. public static final String HEADER_PLATFORM = "platform";
  100. public static final String HEADER_DEVICE_ID = "deviceId";
  101. public static final String TOKEN = "token";
  102. /**
  103. * redis
  104. */
  105. public static final int DEFAULT_SESSION_EXPIRE = 1;//过期时间1天
  106. public static final long REDIS_DEFAULT_EXPIRE_TIME = 24 * 60L * 60L;//过期时间24小时
  107. public static final long REDIS_CREATE_PDF_EXPIRE_TIME = 1 * 60L * 60L;//过期时间1小时
  108. public static final long REDIS_WHU_USER_AUTH_EXPIRE_TIME = 2 * 60L;//过期时间2分钟
  109. /**
  110. * redis lock
  111. */
  112. public static final int MAX_RETRY_COUNT = 30;
  113. public static final long REDIS_CACHE_TIME_OUT = 60L;
  114. /**
  115. * aes相关
  116. */
  117. public static final String AES = "AES";
  118. public static final String AES_MODE_PKCS5 = "AES/CBC/PKCS5Padding";//用这个模式,规则必须为16位
  119. public static final String AES_MODE_PKCS7 = "AES/CBC/PKCS7Padding";//用这个模式,规则必须为16位
  120. public static final String AES_RULE = "1234567890123456";//aes密钥
  121. /**
  122. * 变量
  123. */
  124. public static String TEMP_FILES_DIR;
  125. public static String PDF_TEMP_FILES_DIR;
  126. /**
  127. * excel相关
  128. */
  129. public static String XLSX = "xlsx";
  130. public static String XLS = "xls";
  131. /**
  132. * 线程池配置
  133. */
  134. public static final String THREAD_POOL_NAME = "taskThreadPool";
  135. // public static final int THREAD_POOL_CORE_POOL_SIZE = 5;
  136. // public static final int THREAD_POOL_MAX_POOL_SIZE = 100;
  137. public static final int THREAD_POOL_KEEP_ALIVE_SECONDS = 10;
  138. public static final int THREAD_POOL_QUEUE_CAPACITY = 500;
  139. /**
  140. * 初始化附件文件路径
  141. */
  142. public static void initTempFiles() {
  143. StringJoiner localPath = new StringJoiner("").add(System.getProperty(USER_DIR));
  144. String mkdir = localPath.toString().substring(0, localPath.toString().lastIndexOf(File.separator));
  145. File fileTempDir = new File(new StringBuffer(mkdir).append(File.separator).append(FILE_TEMP).toString());
  146. if (!fileTempDir.exists()) {
  147. fileTempDir.mkdirs();
  148. }
  149. File pdfTempDir = new File(new StringBuffer(mkdir).append(File.separator).append(PDF_TEMP).toString());
  150. if (!pdfTempDir.exists()) {
  151. pdfTempDir.mkdirs();
  152. }
  153. TEMP_FILES_DIR = fileTempDir.getPath();
  154. PDF_TEMP_FILES_DIR = pdfTempDir.getPath();
  155. }
  156. /**
  157. * id转换为long
  158. *
  159. * @return
  160. */
  161. public static Long convertIdToLong(String id) {
  162. return Objects.nonNull(id) && id.length() > 0 ? Long.parseLong(id) : null;
  163. }
  164. /**
  165. * 获取全局uuid
  166. *
  167. * @return
  168. */
  169. public static String getUuid() {
  170. return String.valueOf(UUID.randomUUID()).replaceAll("-", "");
  171. }
  172. /**
  173. * 获取数据库uuid
  174. *
  175. * @return
  176. */
  177. public static Long getDbUuid() {
  178. UidService uidservice = SpringContextHolder.getBean(UidService.class);
  179. return uidservice.getId();
  180. }
  181. /**
  182. * enable转换
  183. *
  184. * @return
  185. */
  186. public static Boolean convertEnable(Boolean enable) {
  187. return Objects.nonNull(enable) ? enable : true;
  188. }
  189. /**
  190. * 试卷类型转换
  191. *
  192. * @param paperType
  193. * @return
  194. */
  195. public static String convertPaperType(String paperType) {
  196. paperType = paperType.toLowerCase();
  197. int ascii = (int) paperType.charAt(0);
  198. return String.valueOf(ascii + 704);
  199. }
  200. /**
  201. * 模糊查询时调用以去除符号"%","_"特殊字符对查询结果的影响
  202. *
  203. * @param param 要校验的参数
  204. * @return 转译后的参数
  205. */
  206. public static String translateSpecificSign(String param) {
  207. if (param == null) {
  208. return null;
  209. }
  210. if (param.contains("%")) {
  211. param = param.replaceAll("%", "\\\\%");
  212. }
  213. if (param.contains("_")) {
  214. param = param.replaceAll("_", "\\\\_");
  215. }
  216. return param;
  217. }
  218. public static void verifyLength(String str, int length, String name) {
  219. if (str == null || str.length() == 0 || str.equals("null")) {
  220. throw ExceptionResultEnum.ERROR.exception(name + "不能为空");
  221. }
  222. if (str.length() > length) {
  223. throw ExceptionResultEnum.ERROR.exception("[" + name + ":" + str + "]' 超过长度限制 : " + length);
  224. }
  225. }
  226. public static boolean strNotNull(String str){
  227. return str != null && str.length() > 0 && !str.equals("null");
  228. }
  229. }