CommonConfig.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.winsea.svc.common.config;
  2. import com.yh.saas.common.support.util.StringUtils;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.env.EnvironmentPostProcessor;
  5. import org.springframework.core.env.ConfigurableEnvironment;
  6. import org.springframework.core.env.MapPropertySource;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. /**
  10. * 所有服务的共通配置
  11. *
  12. * @author SunTianjun
  13. */
  14. public class CommonConfig implements EnvironmentPostProcessor {
  15. @Override
  16. public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
  17. String active = environment.getProperty("spring.profiles.active");
  18. if (StringUtils.isEmpty(active)) {
  19. return;
  20. }
  21. Map<String, Object> defaultConfig = new HashMap<>();
  22. defaultConfig.putAll(getJacksonConfig());
  23. defaultConfig.putAll(getUnnecessaryConfig());
  24. defaultConfig.putAll(getDefaultWhitelistConfig());
  25. defaultConfig.putAll(getDefaultPushConfig());
  26. defaultConfig.putAll(getDefaultOssConfig(active));
  27. defaultConfig.putAll(getDefaultMybatisPlusConfig());
  28. environment.getPropertySources().addLast(new MapPropertySource("defaultProperties", defaultConfig));
  29. }
  30. /**
  31. * 获取Jackson配置
  32. */
  33. private Map<String, Object> getJacksonConfig() {
  34. Map<String, Object> jacksonConfig = new HashMap<>();
  35. jacksonConfig.put("spring.jackson.date-format", "yyyy-MM-dd HH:mm:ss");
  36. jacksonConfig.put("spring.jackson.time-zone", "GMT+8");
  37. return jacksonConfig;
  38. }
  39. /**
  40. * 获取不是每个服务都必要的配置
  41. */
  42. private Map<String, Object> getUnnecessaryConfig() {
  43. Map<String, Object> unnecessaryConfig = new HashMap<>();
  44. unnecessaryConfig.put("front-origin", "");
  45. unnecessaryConfig.put("file-root-path", "");
  46. unnecessaryConfig.put("system.temp-file-path", "");
  47. unnecessaryConfig.put("po.password", "");
  48. unnecessaryConfig.put("po.syspath", "");
  49. return unnecessaryConfig;
  50. }
  51. /**
  52. * 获取默认白名单配置
  53. */
  54. private Map<String, Object> getDefaultWhitelistConfig() {
  55. Map<String, Object> whitelistConfig = new HashMap<>();
  56. whitelistConfig.put("auth.anon-urls[0]", "/auth/api/login");
  57. whitelistConfig.put("auth.anon-urls[1]", "/auth/api/loginEnhanced");
  58. whitelistConfig.put("auth.anon-urls[2]", "/auth/api/loginQuickly");
  59. whitelistConfig.put("auth.anon-urls[3]", "/auth/api/checkPassword");
  60. whitelistConfig.put("auth.anon-urls[4]", "/auth/api/retrievePassword");
  61. whitelistConfig.put("auth.anon-urls[5]", "/veriCode/api/send");
  62. whitelistConfig.put("auth.anon-urls[6]", "/veriCode/api/check");
  63. whitelistConfig.put("auth.anon-urls[7]", "/company/query/companyInfoByDomainName");
  64. whitelistConfig.put("auth.anon-urls[8]", "/webservice/**/*");
  65. whitelistConfig.put("auth.anon-urls[9]", "/workflowSync/api/startFlow");
  66. whitelistConfig.put("auth.anon-urls[10]", "/office/*");
  67. whitelistConfig.put("auth.anon-urls[11]", "/auth/api/phoneLogin");
  68. whitelistConfig.put("auth.anon-urls[12]", "/test/test/test");
  69. return whitelistConfig;
  70. }
  71. /**
  72. * 获取默认推送配置
  73. */
  74. private Map<String, Object> getDefaultPushConfig() {
  75. Map<String, Object> pushConfig = new HashMap<>();
  76. pushConfig.put("jpush.appkey", "0f39aadb2d14d6a34c8a0d14");
  77. pushConfig.put("jpush.live.time", "10000");
  78. pushConfig.put("jpush.masterSecret", "2d5c37c625445ee37080ecbb");
  79. return pushConfig;
  80. }
  81. /**
  82. * 获取默认OSS配置
  83. */
  84. private Map<String, Object> getDefaultOssConfig(String active) {
  85. Map<String, Object> ossConfig = new HashMap<>();
  86. ossConfig.put("oss.access.key.id", "Y8IZ2bDqwsFDLqM0");
  87. ossConfig.put("oss.access.key.secret", "GX34icMi6crTpF3IW31hv2CMTnpEO4");
  88. ossConfig.put("oss.endpoint.default", "oss-cn-shanghai.aliyuncs.com");
  89. ossConfig.put("oss.endpoint.internal", "http://oss-cn-shanghai-internal.aliyuncs.com");
  90. ossConfig.put("oss.bucket.name", "prod".equals(active) ? "winsea" : "winsea-product-test");
  91. return ossConfig;
  92. }
  93. /**
  94. * 获取默认MybatisPlus配置
  95. */
  96. private Map<String, Object> getDefaultMybatisPlusConfig() {
  97. Map<String, Object> mybatisPlusConfig = new HashMap<>();
  98. mybatisPlusConfig.put("mybatis-plus.mapper-locations", "classpath*:/mapper/*Mapper.xml");
  99. mybatisPlusConfig.put("mybatis-plus.global-config.logic-delete-value", "1");
  100. mybatisPlusConfig.put("mybatis-plus.global-config.logic-not-delete-value", "0");
  101. mybatisPlusConfig.put("mybatis-plus.configuration.map-underscore-to-camel-case", "true");
  102. return mybatisPlusConfig;
  103. }
  104. }