Commit 4626e6a5 by yong.huang

提交eureka server

parents 412d287c 4f38f52c
# dict 数据字典 # dict 数据字典
平时工作中经常会遇到一些配置信息,比如各种映射关系,下拉列表,程序控制开关等等,如果每个项目动自己搞一个配置表,会重复劳动,而且配置分散到各个地方不利于维护,所以一个通用的数据字典服务就很方便的解决了各种配置的需求。 平时工作中经常会遇到一些配置信息,比如各种映射关系,下拉列表,程序控制开关等等,如果每个项目动自己搞一个配置表,会重复劳动,而且配置分散到各个地方不利于维护,所以一个通用的数据字典服务就很方便的解决了各种配置的需求。
服务本地启动后访问:http://localhost:9005/swagger-ui.html#!/dict-controller
### 应用场景
数据字典类似缓存系统KV的形式存储数据,可以随时编辑,调用方通过接口获取数据。参考以下应用场景:
1. 动态配置:系统中有很多参数希望能及时调整,如不同支付方式的费率;调用第三方短信发送接口可能需要动态切换不同的供应商接口;程序逻辑的开关等等,如果放在静态配置文件里修改后就需要重启服务,很不方便。(ps:配置数据可以放json格式)
2. 映射关系维护:有时候不同系统间商户id等参数会不同,需要有个转换的映射配置;还有一些枚举类型code对应描述,如果描述信息更改的配置修改很方便。
3. 下拉框配置:前端有很多下拉框,数据都是key-value,可以动态配置很方便。
还有其他用途大家自己发挥想象... ...
![dict](dic.jpg) ![dict](dic.jpg)
\ No newline at end of file
...@@ -6,7 +6,7 @@ package com.freemud.demo.dto; ...@@ -6,7 +6,7 @@ package com.freemud.demo.dto;
public class ResDto<T> { public class ResDto<T> {
int code = 200; String code = "200";
String msg = "SUCCESS"; String msg = "SUCCESS";
...@@ -15,7 +15,7 @@ public class ResDto<T> { ...@@ -15,7 +15,7 @@ public class ResDto<T> {
public ResDto() { public ResDto() {
} }
public ResDto(int code, String msg, T body) { public ResDto(String code, String msg, T body) {
this.code = code; this.code = code;
this.msg = msg; this.msg = msg;
this.body = body; this.body = body;
...@@ -27,11 +27,11 @@ public class ResDto<T> { ...@@ -27,11 +27,11 @@ public class ResDto<T> {
} }
public int getCode() { public String getCode() {
return code; return code;
} }
public void setCode(int code) { public void setCode(String code) {
this.code = code; this.code = code;
} }
......
...@@ -15,10 +15,10 @@ public class FastJsonRedisSerializer<T> implements RedisSerializer<T> { ...@@ -15,10 +15,10 @@ public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
private Class<T> clazz; // private Class<T> clazz;
public FastJsonRedisSerializer(Class<T> clazz) { public FastJsonRedisSerializer() {
this.clazz = clazz; // this.clazz = clazz;
} }
@Override @Override
...@@ -36,6 +36,6 @@ public class FastJsonRedisSerializer<T> implements RedisSerializer<T> { ...@@ -36,6 +36,6 @@ public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
return null; return null;
} }
String str = new String(bytes, DEFAULT_CHARSET); String str = new String(bytes, DEFAULT_CHARSET);
return (T) JSON.parseObject(str, clazz); return (T) JSON.parse(str);
} }
} }
...@@ -28,7 +28,7 @@ public abstract class RedisCache<T> { ...@@ -28,7 +28,7 @@ public abstract class RedisCache<T> {
value = searchDB(key); value = searchDB(key);
if (value == null){ if (value == null){
redisUitl.setEx(redisKey, value,30, TimeUnit.SECONDS); redisUitl.setEx(redisKey, "",30, TimeUnit.SECONDS);
}else { }else {
redisUitl.setEx( redisKey,value, getExprie(), TimeUnit.SECONDS); redisUitl.setEx( redisKey,value, getExprie(), TimeUnit.SECONDS);
......
...@@ -16,7 +16,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; ...@@ -16,7 +16,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
public class RedisConfig { public class RedisConfig {
@Bean @Bean
public RedisSerializer getFastJsonRedisSerializer() { public RedisSerializer getFastJsonRedisSerializer() {
return new FastJsonRedisSerializer(Object.class); return new FastJsonRedisSerializer();
} }
@Bean @Bean
......
...@@ -25,14 +25,14 @@ ...@@ -25,14 +25,14 @@
<select id="loadDatasByTypeCd" resultMap="BaseResultMap"> <select id="loadDatasByTypeCd" resultMap="BaseResultMap">
SELECT d.* SELECT d.*
FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d
ON t.id = d.`dict_type_id` ON t.id = d.`dict_type_id` and t.ENABLE_FLG = 1
WHERE t.`DICT_TYPE_CD`=#{typeCd} WHERE t.`DICT_TYPE_CD`=#{typeCd}
</select> </select>
<select id="getDictDataByCd" resultMap="BaseResultMap"> <select id="getDictDataByCd" resultMap="BaseResultMap">
SELECT d.* SELECT d.*
FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d FROM `T_DICT_TYPE` t INNER JOIN `T_DICT_DATA` d
ON t.id = d.`dict_type_id` ON t.id = d.`dict_type_id` and t.ENABLE_FLG = 1
WHERE t.`DICT_TYPE_CD`=#{typeCd} WHERE t.`DICT_TYPE_CD`=#{typeCd}
AND d.`DICT_CD`= #{dictCd} AND d.`DICT_CD`= #{dictCd}
</select> </select>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<spring-cloud.version>Edgware.SR2</spring-cloud.version> <spring-cloud.version>Edgware.SR2</spring-cloud.version>
<mybatis3.version>1.3.0</mybatis3.version> <mybatis3.version>1.3.2</mybatis3.version>
<mapper.version>1.1.1</mapper.version> <mapper.version>1.1.1</mapper.version>
<spring-cloud.version>Dalston.SR4</spring-cloud.version> <spring-cloud.version>Dalston.SR4</spring-cloud.version>
</properties> </properties>
......
...@@ -68,6 +68,10 @@ ...@@ -68,6 +68,10 @@
<dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<<<<<<< HEAD
=======
<version>${mybatis3.version}</version>
>>>>>>> 4f38f52c0b2c56dda5ef49af496bc52279a4ab2e
</dependency> </dependency>
<dependency> <dependency>
......
spring:
application:
name: sarding-jdbc
redis:
host: 115.159.67.166
port: 5289
password: U252fnIDyfF1A1
database: 3
server:
port: 9005
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/dict?useUnicode=true&characterEncoding=utf8
driver-class: com.mysql.jdbc.Driver
username: root
password:
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
filters: stat
#mybatis
mybatis:
config-location: classpath:mybatis.xml
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.ashun.sardingjdbcdemo.model
#dao
#mapper:
# mappers: com.freemud.demo.util.MyMapper
# not-empty: false
# identity: MYSQL
# before: true
#pagehelper
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
#log
logging:
config: classpath:logback.xml
#security:
# user:
# name: admin
# password: admin
# ignored: /**,/swagger*,/webjars/**,/v2/**,/swagger-resources/**
swagger_enable: false
spring: spring:
application: application:
<<<<<<< HEAD
name: springboot-demo name: springboot-demo
=======
name: dictionary
>>>>>>> 4f38f52c0b2c56dda5ef49af496bc52279a4ab2e
redis: redis:
host: 115.159.67.166 host: 115.159.67.166
port: 5289 port: 5289
...@@ -27,14 +31,14 @@ datasource: ...@@ -27,14 +31,14 @@ datasource:
mybatis: mybatis:
config-location: classpath:mybatis.xml config-location: classpath:mybatis.xml
mapper-locations: classpath:mapper/*.xml mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.ashun.sardingjdbcdemo.model type-aliases-package: com.freemud.demo.model
#dao #dao
#mapper: mapper:
# mappers: com.freemud.demo.util.MyMapper mappers: com.freemud.demo.util.MyMapper
# not-empty: false not-empty: false
# identity: MYSQL identity: MYSQL
# before: true before: true
#pagehelper #pagehelper
pagehelper: pagehelper:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment