diff --git a/README.md b/README.md
index 9d44f4c8b042d3ebd864e566d1952a93c397bb79..c1258e3c17cb58b7f5f4a81e8f678f63f981d81e 100644
--- a/README.md
+++ b/README.md
@@ -38,9 +38,26 @@ cola-cloud-notification | notification-service | 通知中心 | 基于RabbitMQ
Spring Cloud中的每个服务都是独立部署,所有在进行服务之间调用的时候需要确定对方服务的IP,为了规避IP变化带来代码修改的风险,所以需要配置host
```jshelllanguage
+127.0.0.1 mysql
+127.0.0.1 redis
+127.0.0.1 rabbitmq
127.0.0.1 registry config monitor auth-service uc-service upm-service organization-serivce tenancy-service
```
+### 配置环境变量
+
+开发环境下,一些敏感配置不适合放到公网上发布, 为避免每次更新代码都要修改配置,我们采用系统环境变量的方式进行注入,请手工在自己开发电脑上加入如下环境变量
+```jshelllanguage
+COLA_ALIYUN_ACCESS_KEY_ID(阿里云KeyID)
+COLA_ALIYUN_ACCESS_KEY_SECRET(阿里云Key密码)
+COLA_ALIYUN_OSS_BUCKET_NAME(阿里云OSS的Bucket)
+COLA_SMS_TEMPLATE_CODE(短信模板)
+COLA_SMS_SIGN_NAME(短信签名)
+COLA_MYSQL_PWD(MySql密码)
+COLA_REDIS_PWD(Redis密码)
+```
+
+注:加入或修改环境变量后最好重启Ide
### 启动服务
diff --git a/cola-cloud-config/src/main/resources/shared/application.yml b/cola-cloud-config/src/main/resources/shared/application.yml
index 996f221979b348f4e33875e1efcc0d51f24b9123..d8f98e454d8abc860580793728b83754fa66cd2f 100644
--- a/cola-cloud-config/src/main/resources/shared/application.yml
+++ b/cola-cloud-config/src/main/resources/shared/application.yml
@@ -28,7 +28,7 @@ security:
scope: server
spring:
rabbitmq:
- host: localhost
+ host: rabbitmq
port: 5672
username: guest
password: guest
@@ -36,16 +36,16 @@ spring:
sampler:
percentage: 1
datasource:
- url: jdbc:mysql://localhost:3306/cola-cloud?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
+ url: jdbc:mysql://mysql:3306/cola-cloud?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
username: root
- password: root
+ password: ${COLA_MYSQL_PWD}
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
db-name: cola-cloud
redis:
- host: localhost
+ host: redis
port: 6379
- password:
+ password: ${COLA_REDIS_PWD}
database: 8
timeout: 0
pool:
diff --git a/cola-cloud-config/src/main/resources/shared/common-service.yml b/cola-cloud-config/src/main/resources/shared/common-service.yml
index 05a2711276593dddce33fe518bb9587d7f257926..25b79e662d19eceb6a73f82cdbd7170399c44db5 100644
--- a/cola-cloud-config/src/main/resources/shared/common-service.yml
+++ b/cola-cloud-config/src/main/resources/shared/common-service.yml
@@ -6,12 +6,12 @@ cola:
storage:
type: aliyun
oss:
- access-key-id: ${ALIYUN_ACCESS_KEY_ID}
- access-key-secret: ${ALIYUN_ACCESS_KEY_SECRET}
- bucket-name: honvay-cola
+ access-key-id: ${COLA_ALIYUN_ACCESS_KEY_ID}
+ access-key-secret: ${COLA_ALIYUN_ACCESS_KEY_SECRET}
+ bucket-name: ${COLA_ALIYUN_OSS_BUCKET_NAME}
endpoint: oss-cn-hangzhou.aliyuncs.com
vc:
sms:
- template-code: SMS_115750106
+ template-code: ${COLA_SMS_TEMPLATE_CODE}
code-param-name: code
- sign-name: Cola云平台
+ sign-name: ${COLA_SMS_SIGN_NAME}
diff --git a/cola-cloud-config/src/main/resources/shared/notification-service.yml b/cola-cloud-config/src/main/resources/shared/notification-service.yml
index db902a588e20ff8ede652fe6226c842f1a3f056f..e32a2a9e5506920927f8d32eeee766163e595541 100644
--- a/cola-cloud-config/src/main/resources/shared/notification-service.yml
+++ b/cola-cloud-config/src/main/resources/shared/notification-service.yml
@@ -6,5 +6,5 @@ cola:
sms: #短信配置
type: aliyun
aliyun:
- access-key-id: ${ALIYUN_ACCESS_KEY_ID}
- access-key-secret: ${ALIYUN_ACCESS_KEY_SECRET}
\ No newline at end of file
+ access-key-id: ${COLA_ALIYUN_ACCESS_KEY_ID}
+ access-key-secret: ${COLA_ALIYUN_ACCESS_KEY_SECRET}
\ No newline at end of file
diff --git a/cola-cloud-framework/cola-cloud-framework-base/pom.xml b/cola-cloud-framework/cola-cloud-framework-base/pom.xml
index 806c0e6354d11c695f33291f77b72bdbf76bf848..e9f77c2c145119c715760a40b903a38b4839c211 100644
--- a/cola-cloud-framework/cola-cloud-framework-base/pom.xml
+++ b/cola-cloud-framework/cola-cloud-framework-base/pom.xml
@@ -66,5 +66,17 @@
org.apache.commons
commons-collections4
+
+ com.fasterxml.jackson.module
+ jackson-module-parameter-names
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jdk8
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+
\ No newline at end of file
diff --git a/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java b/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..801505c5caae533f716183192599ba67c539cad4
--- /dev/null
+++ b/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java
@@ -0,0 +1,63 @@
+package com.honvay.cola.cloud.framework.base.configuration;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+/**
+ * WebMvc配置
+ * @author hamst
+ * @date 2018-04-05
+ */
+@EnableWebMvc
+@Configuration
+public class CustomWebMvcConfiguration extends WebMvcConfigurerAdapter {
+
+ @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
+ private String dateFormatPattern;
+
+ @Bean
+ public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {
+ MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
+ ObjectMapper objectMapper = new ObjectMapper();
+
+ //设置日期格式
+ objectMapper.setDateFormat(new SimpleDateFormat(dateFormatPattern));
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+ //Long 转String类型,否则js丢失精度
+ SimpleModule simpleModule = new SimpleModule();
+ simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
+ simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
+ //支持jdk8新特性
+ objectMapper
+ .registerModule(new ParameterNamesModule())
+ .registerModule(new Jdk8Module())
+ .registerModule(new JavaTimeModule())
+ .registerModule(simpleModule)
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
+ return mappingJackson2HttpMessageConverter;
+ }
+
+ @Override
+ public void configureMessageConverters(List> converters) {
+ converters.add(getMappingJackson2HttpMessageConverter());
+ }
+}
\ No newline at end of file