diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties
index 5e24b27..3580943 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties
+++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties
@@ -18,8 +18,9 @@ impp.config.rabbitmq=true
impp.config.swagger=true
#\u662F\u5426\u5F00\u542Fwebsocket
impp.config.websocket=true
-#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
-impp.config.fastdfs=true
+# \u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
+# \u9ED8\u8BA4false ,\u53EF\u9009\u9879\uFF1Afastdfs\uFF0Cgofastdfs
+impp.config.fileserver=fastdfs
#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.controller=true
#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-docker-yfas-nd.properties b/modules/i3plus-core-apiservice/src/main/resources/application-docker-yfas-nd.properties
index 79d909c..eb1706c 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/application-docker-yfas-nd.properties
+++ b/modules/i3plus-core-apiservice/src/main/resources/application-docker-yfas-nd.properties
@@ -1,49 +1,50 @@
-#本机ip
+#\u672C\u673Aip
impp.server.ip=imppcore
-#项目端口
+#\u9879\u76EE\u7AEF\u53E3
server.port=8100
-#链路追踪zipkin控制台ip地址
+#\u94FE\u8DEF\u8FFD\u8E2Azipkin\u63A7\u5236\u53F0ip\u5730\u5740
impp.console.ip=http://console:8010
-#服务注册中心(多注册中心逗号分隔)
+#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3(\u591A\u6CE8\u518C\u4E2D\u5FC3\u9017\u53F7\u5206\u9694)
impp.cluster.regist.center=http://register:8000/eureka/
-#日志默认使用log4j2
+#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2
logging.config=classpath:log4j2-spring.xml
-########平台相关参数##########
-#是否开启redis缓存
+########\u5E73\u53F0\u76F8\u5173\u53C2\u6570##########
+#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58
impp.config.redis=true
-#是否开启rabbitMQ
+#\u662F\u5426\u5F00\u542FrabbitMQ
impp.config.rabbitmq=true
-#是否开启swagger
+#\u662F\u5426\u5F00\u542Fswagger
impp.config.swagger=true
-#是否开启websocket
+#\u662F\u5426\u5F00\u542Fwebsocket
impp.config.websocket=true
-#是否开启文件服务
-impp.config.fastdfs=true
-#是否对发布服务进行详细日志分析
+#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
+# \u9ED8\u8BA4false ,\u53EF\u9009\u9879\uFF1Afastdfs\uFF0Cgofastdfs
+impp.config.fileserver=fastdfs
+#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.controller=true
-#是否对调用服务进行详细日志分析
+#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.service=true
-#是否开启微服
+#\u662F\u5426\u5F00\u542F\u5FAE\u670D
eureka.client.enabled=true
-#打开feign的熔断
+#\u6253\u5F00feign\u7684\u7194\u65AD
feign.hystrix.enabled=true
-################ 队列处理 ################
-#站内信
+################ \u961F\u5217\u5904\u7406 ################
+#\u7AD9\u5185\u4FE1
impp.mq.queue.letter=true
-#邮件
+#\u90AE\u4EF6
impp.mq.queue.mail=true
-#定时任务
+#\u5B9A\u65F6\u4EFB\u52A1
impp.mq.queue.schedule=true
-#SWEB通知处理队列
+#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217
impp.mq.queue.sweb.notice=true
-################################ 数据库相关设置 ################################
+################################ \u6570\u636E\u5E93\u76F8\u5173\u8BBE\u7F6E ################################
# mysql
spring.datasource.validationQuery=SELECT 1
-################ 数据池设置 ################
+################ \u6570\u636E\u6C60\u8BBE\u7F6E ################
spring.datasource.maximum-pool-size=10
spring.datasource.max-active=5
spring.datasource.max-idle=5
@@ -55,7 +56,7 @@ spring.datasource.test-on-borrow=false
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis=300000
-##主数据源,读写
+##\u4E3B\u6570\u636E\u6E90\uFF0C\u8BFB\u5199
#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.write.datasource.jdbc-url=jdbc:mysql://dbmaster:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
@@ -63,13 +64,13 @@ impp.write.datasource.username=wmslogin
impp.write.datasource.password=Wmslogin$%^&7654
#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
-#主从复制时自动修改表结构会有问题,暂时改成同一个数据源
+#\u4E3B\u4ECE\u590D\u5236\u65F6\u81EA\u52A8\u4FEE\u6539\u8868\u7ED3\u6784\u4F1A\u6709\u95EE\u9898\uFF0C\u6682\u65F6\u6539\u6210\u540C\u4E00\u4E2A\u6570\u636E\u6E90
impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.read.datasource.jdbc-url=jdbc:mysql://dbmaster:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=wmslogin
impp.read.datasource.password=Wmslogin$%^&7654
-##############定时任务持久化##############
+##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316##############
impp.schedule.open=true
impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.schedule.datasource.jdbc-url=jdbc:mysql://dbmaster:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8
@@ -77,121 +78,121 @@ impp.schedule.datasource.username=wmslogin
impp.schedule.datasource.password=Wmslogin$%^&7654
impp.schedule.datasource.max-connections=50
-################ 日志数据源 ################
+################ \u65E5\u5FD7\u6570\u636E\u6E90 ################
spring.data.mongodb.database=mongoDBSource
spring.data.mongodb.uri=mongodb:27017
spring.data.mongodb.username=sa
spring.data.mongodb.password=i3plus
spring.data.mongodb.port=27017
-################ JPA设置设置 ################
+################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################
# mysql
spring.jpa.database=MYSQL
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
-#是否显示sql
+#\u662F\u5426\u663E\u793Asql
spring.jpa.show-sql=true
-#表关系create,create-drop,update,validate
+#\u8868\u5173\u7CFBcreate,create-drop,update,validate
spring.jpa.properties.hibernate.hbm2ddl.auto=update
-#定时任务在服务启动后多少秒执行
+#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C
impp.schedule.start.after-second=20
-#是否集群部署
+#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72
impp.schedule.datasource.is-clustered=true
-#执行检测(毫秒),若宕机由其他定时器执行
+#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C
impp.schedule.datasource.cluster-checkin-interval=30000
-#线程数
+#\u7EBF\u7A0B\u6570
impp.schedule.thread-count=50
-#线程优先级(1-10)默认为5
+#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5
impp.schedule.thread-priority=5
-################################ 其他功能设置 ################################
+################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################
#redisIP
redis.hostName=redis
-#端口号
+#\u7AEF\u53E3\u53F7
redis.port=6379
-#如果有密码
+#\u5982\u679C\u6709\u5BC6\u7801
redis.password=
-##其他redis配置需要调整的加在此处
-################## rabbitMQ配置 ####################
+##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
+################## rabbitMQ\u914D\u7F6E ####################
spring.rabbitmq.vhost=/
spring.rabbitmq.host=rabbitmq
spring.rabbitmq.port=5672
spring.rabbitmq.username=estsh
spring.rabbitmq.password=estsh123
-##其他rabbitMq配置需要调整的加在此处
+##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
-################ 微服配置 ################
-#是否进行健康检查
+################ \u5FAE\u670D\u914D\u7F6E ################
+#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5
eureka.client.healthcheck.enabled=true
-#若无法连接注册中心,是否需要一直检测加入
+#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165
impp.cluster.fetch=true
-#集群名
+#\u96C6\u7FA4\u540D
eureka.instance.metadata-map.cluster=impp_cluster
-#(参数配置)注册中心地址 -》 i3plus-ics,多个用逗号分隔
+#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694
eureka.client.service-url.defaultZone=${impp.cluster.regist.center}
-#本服务主机ip(若多个网卡,则需要设置本服务ip)
+#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09
eureka.instance.ip-address=${impp.server.ip}
-#本服务实例ID
+#\u672C\u670D\u52A1\u5B9E\u4F8BID
eureka.instance.instance-id=${impp.server.ip}:${server.port}
-#本服务主机名
+#\u672C\u670D\u52A1\u4E3B\u673A\u540D
eureka.instance.hostname=${impp.server.ip}
-#本服务状态页面
+#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762
eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html
-#将自己的IP注册到Eureka Server。若不配置或设置为false,表示注册微服务所在操作系统的hostname到Eureka Server
+#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6240\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server
eureka.instance.prefer-ip-address=true
-################ 检测机制 ################
-#心跳间隔周期,宕机限制(秒),30秒没反应视为宕机
+################ \u68C0\u6D4B\u673A\u5236 ################
+#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A
eureka.instance.lease-expiration-duration-in-seconds=30
-#心跳周期
+#\u5FC3\u8DF3\u5468\u671F
eureka.instance.lease-renewal-interval-in-seconds=20
-#client连接Eureka服务端后的空闲等待时间,默认为30 秒
+#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2
eureka.client.eureka-connection-idle-timeout-seconds=1
-#最初复制实例信息到eureka服务器所需的时间(s),默认为40秒
+#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6240\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2
eureka.client.initial-instance-info-replication-interval-seconds=1
-#间隔多长时间再次复制实例信息到eureka服务器,默认为30秒
+#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.instance-info-replication-interval-seconds=1
-#从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒
+#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.registry-fetch-interval-seconds=1
-################ 熔断配置 ################
-#重试
+################ \u7194\u65AD\u914D\u7F6E ################
+#\u91CD\u8BD5
ribbon.maxAutoRetries=2
-#读取数据时长
+#\u8BFB\u53D6\u6570\u636E\u65F6\u957F
ribbon.ReadTimeout=30000
-#连接时长
+#\u8FDE\u63A5\u65F6\u957F
ribbon.ConnectTimeout=50000
-#响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长)
+#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000
-################ 链路追踪 ################
-#使用web方式传输信息
+################ \u94FE\u8DEF\u8FFD\u8E2A ################
+#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F
spring.zipkin.sender.type=web
-#链路追踪服务的地址
+#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740
spring.zipkin.base-url=${impp.console.ip}
-#追踪深度,百分比,1是全部
+#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8
spring.sleuth.sampler.probability=1.0
-################ FastDfs 配置 ################
-#tracker服务器ip
+################ FastDfs \u914D\u7F6E ################
+#tracker\u670D\u52A1\u5668ip
fastdfs.tracker_servers=tracker:22122
-# tracker的http端口
+# tracker\u7684http\u7AEF\u53E3
fastdfs.http_tracker_http_port=22122
-# 使用自定义工具获取文件展示地址
+# \u4F7F\u7528\u81EA\u5B9A\u4E49\u5DE5\u5177\u83B7\u53D6\u6587\u4EF6\u5C55\u793A\u5730\u5740
fastdfs.http.ui.host=http://tracker:22122
-#密码
+#\u5BC6\u7801
#fastdfs.http.secret_key=
-#连接超时
+#\u8FDE\u63A5\u8D85\u65F6
fastdfs.connect_timeout_in_seconds=10000
-#传输超时
+#\u4F20\u8F93\u8D85\u65F6
fastdfs.network_timeout_in_seconds=10000
fastdfs.charset=UTF-8
-# token 防盗链功能
+# token \u9632\u76D7\u94FE\u529F\u80FD
fastdfs.http_anti_steal_token=no
-################ 授权配置 ################
+################ \u6388\u6743\u914D\u7F6E ################
slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2
slm.app.id=10000
diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties b/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties
index 15cdde6..ab6bd48 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties
+++ b/modules/i3plus-core-apiservice/src/main/resources/application-docker.properties
@@ -18,8 +18,9 @@ impp.config.rabbitmq=true
impp.config.swagger=true
#\u662F\u5426\u5F00\u542Fwebsocket
impp.config.websocket=true
-#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
-impp.config.fastdfs=true
+# \u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
+# \u9ED8\u8BA4false ,\u53EF\u9009\u9879\uFF1Afastdfs\uFF0Cgofastdfs
+impp.config.fileserver=fastdfs
#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.controller=true
#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties
index e3633cd..609ef1e 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties
+++ b/modules/i3plus-core-apiservice/src/main/resources/application-prod.properties
@@ -1,49 +1,50 @@
-#本机ip
+#\u672C\u673Aip
impp.server.ip=192.168.1.241
-#项目端口
+#\u9879\u76EE\u7AEF\u53E3
server.port=18100
-#链路追踪zipkin控制台ip地址
+#\u94FE\u8DEF\u8FFD\u8E2Azipkin\u63A7\u5236\u53F0ip\u5730\u5740
impp.console.ip=http://192.168.1.241:18010
-#服务注册中心(多注册中心逗号分隔)
+#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3(\u591A\u6CE8\u518C\u4E2D\u5FC3\u9017\u53F7\u5206\u9694)
impp.cluster.regist.center=http://192.168.1.241:18000/eureka/
-#日志默认使用log4j2
+#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2
logging.config=classpath:log4j2-spring-prod.xml
-########平台相关参数##########
-#是否开启redis缓存
+########\u5E73\u53F0\u76F8\u5173\u53C2\u6570##########
+#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58
impp.config.redis=true
-#是否开启rabbitMQ
+#\u662F\u5426\u5F00\u542FrabbitMQ
impp.config.rabbitmq=true
-#是否开启swagger
+#\u662F\u5426\u5F00\u542Fswagger
impp.config.swagger=true
-#是否开启websocket
+#\u662F\u5426\u5F00\u542Fwebsocket
impp.config.websocket=true
-#是否开启文件服务
-impp.config.fastdfs=true
-#是否对发布服务进行详细日志分析
+#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
+# \u9ED8\u8BA4false ,\u53EF\u9009\u9879\uFF1Afastdfs\uFF0Cgofastdfs
+impp.config.fileserver=fastdfs
+#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.controller=true
-#是否对调用服务进行详细日志分析
+#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.service=true
-#是否开启微服
+#\u662F\u5426\u5F00\u542F\u5FAE\u670D
eureka.client.enabled=true
-#打开feign的熔断
+#\u6253\u5F00feign\u7684\u7194\u65AD
feign.hystrix.enabled=true
-################ 队列处理 ################
-#站内信
+################ \u961F\u5217\u5904\u7406 ################
+#\u7AD9\u5185\u4FE1
impp.mq.queue.letter=true
-#邮件
+#\u90AE\u4EF6
impp.mq.queue.mail=true
-#定时任务
+#\u5B9A\u65F6\u4EFB\u52A1
impp.mq.queue.schedule=true
-#SWEB通知处理队列
+#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217
impp.mq.queue.sweb.notice=true
-################################ 数据库相关设置 ################################
+################################ \u6570\u636E\u5E93\u76F8\u5173\u8BBE\u7F6E ################################
# mysql
spring.datasource.validationQuery=SELECT 1
-################ 数据池设置 ################
+################ \u6570\u636E\u6C60\u8BBE\u7F6E ################
spring.datasource.maximum-pool-size=200
spring.datasource.max-active=100
spring.datasource.max-idle=100
@@ -55,147 +56,147 @@ spring.datasource.test-on-borrow=false
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis=300000
-##主数据源,读写
+##\u4E3B\u6570\u636E\u6E90\uFF0C\u8BFB\u5199
#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.username=impp_i3_core_user
impp.write.datasource.password=impp_i3_core_pwd
-##辅数据源,只读
+##\u8F85\u6570\u636E\u6E90\uFF0C\u53EA\u8BFB
#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=impp_i3_core_user
impp.read.datasource.password=impp_i3_core_pwd
-################ 日志数据源 ################
+################ \u65E5\u5FD7\u6570\u636E\u6E90 ################
spring.data.mongodb.database=mongoDBSource
spring.data.mongodb.uri=192.168.1.240:27017
spring.data.mongodb.username=sa
spring.data.mongodb.password=i3plus
spring.data.mongodb.port=27017
-################ JPA设置设置 ################
+################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################
# mysql
spring.jpa.database=MYSQL
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
-#是否显示sql
+#\u662F\u5426\u663E\u793Asql
spring.jpa.show-sql=true
-#表关系create,create-drop,update,validate
+#\u8868\u5173\u7CFBcreate,create-drop,update,validate
spring.jpa.properties.hibernate.hbm2ddl.auto=update
-##############定时任务持久化##############
+##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316##############
impp.schedule.open=true
impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.schedule.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.schedule.datasource.username=impp_i3_schedule_user
impp.schedule.datasource.password=impp_i3_schedule_pwd
impp.schedule.datasource.max-connections=20
-#定时任务在服务启动后多少秒执行
+#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C
impp.schedule.start.after-second=20
-#是否集群部署
+#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72
impp.schedule.datasource.is-clustered=true
-#执行检测(毫秒),若宕机由其他定时器执行
+#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C
impp.schedule.datasource.cluster-checkin-interval=30000
-#线程数
+#\u7EBF\u7A0B\u6570
impp.schedule.thread-count=10
-#线程优先级(1-10)默认为5
+#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5
impp.schedule.thread-priority=5
-################################ 其他功能设置 ################################
+################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################
#redisIP
redis.hostName=192.168.1.240
-#端口号
+#\u7AEF\u53E3\u53F7
redis.port=6379
-#如果有密码
+#\u5982\u679C\u6709\u5BC6\u7801
redis.password=
-##其他redis配置需要调整的加在此处
-################## rabbitMQ配置 ####################
+##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
+################## rabbitMQ\u914D\u7F6E ####################
spring.rabbitmq.vhost=/
spring.rabbitmq.host=192.168.1.240
spring.rabbitmq.port=5672
spring.rabbitmq.username=estsh
spring.rabbitmq.password=estsh123
-##其他rabbitMq配置需要调整的加在此处
+##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
-################ 微服配置 ################
-#是否进行健康检查
+################ \u5FAE\u670D\u914D\u7F6E ################
+#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5
eureka.client.healthcheck.enabled=true
-#若无法连接注册中心,是否需要一直检测加入
+#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165
impp.cluster.fetch=true
-#集群名
+#\u96C6\u7FA4\u540D
eureka.instance.metadata-map.cluster=impp_cluster
-#(参数配置)注册中心地址 -》 i3plus-ics,多个用逗号分隔
+#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694
eureka.client.service-url.defaultZone=${impp.cluster.regist.center}
-#本服务主机ip(若多个网卡,则需要设置本服务ip)
+#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09
eureka.instance.ip-address=${impp.server.ip}
-#本服务实例ID
+#\u672C\u670D\u52A1\u5B9E\u4F8BID
eureka.instance.instance-id=${impp.server.ip}:${server.port}
-#本服务主机名
+#\u672C\u670D\u52A1\u4E3B\u673A\u540D
eureka.instance.hostname=${impp.server.ip}
-#本服务状态页面
+#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762
eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html
-#将自己的IP注册到Eureka Server。若不配置或设置为false,表示注册微服务所在操作系统的hostname到Eureka Server
+#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6240\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server
eureka.instance.prefer-ip-address=true
-################ 检测机制 ################
-#心跳间隔周期,宕机限制(秒),30秒没反应视为宕机
+################ \u68C0\u6D4B\u673A\u5236 ################
+#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A
eureka.instance.lease-expiration-duration-in-seconds=30
-#心跳周期
+#\u5FC3\u8DF3\u5468\u671F
eureka.instance.lease-renewal-interval-in-seconds=20
-#client连接Eureka服务端后的空闲等待时间,默认为30 秒
+#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2
eureka.client.eureka-connection-idle-timeout-seconds=1
-#最初复制实例信息到eureka服务器所需的时间(s),默认为40秒
+#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6240\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2
eureka.client.initial-instance-info-replication-interval-seconds=1
-#间隔多长时间再次复制实例信息到eureka服务器,默认为30秒
+#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.instance-info-replication-interval-seconds=1
-#从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒
+#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.registry-fetch-interval-seconds=1
-################ 熔断配置 ################
-#重试
+################ \u7194\u65AD\u914D\u7F6E ################
+#\u91CD\u8BD5
ribbon.maxAutoRetries=2
-#读取数据时长
+#\u8BFB\u53D6\u6570\u636E\u65F6\u957F
ribbon.ReadTimeout=30000
-#连接时长
+#\u8FDE\u63A5\u65F6\u957F
ribbon.ConnectTimeout=50000
-#响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长)
+#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000
-################ 链路追踪 ################
-#使用web方式传输信息
+################ \u94FE\u8DEF\u8FFD\u8E2A ################
+#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F
spring.zipkin.sender.type=web
-#链路追踪服务的地址
+#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740
spring.zipkin.base-url=${impp.console.ip}
-#追踪深度,百分比,1是全部
+#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8
spring.sleuth.sampler.probability=1.0
-################ FastDfs 配置 ################
-#tracker服务器ip
+################ FastDfs \u914D\u7F6E ################
+#tracker\u670D\u52A1\u5668ip
fastdfs.tracker_servers=tracker:22122
-# tracker的http端口
+# tracker\u7684http\u7AEF\u53E3
fastdfs.http_tracker_http_port=22122
-# 使用自定义工具获取文件展示地址
+# \u4F7F\u7528\u81EA\u5B9A\u4E49\u5DE5\u5177\u83B7\u53D6\u6587\u4EF6\u5C55\u793A\u5730\u5740
fastdfs.http.ui.host=http://tracker:22122
-#密码
+#\u5BC6\u7801
#fastdfs.http.secret_key=
-#连接超时
+#\u8FDE\u63A5\u8D85\u65F6
fastdfs.connect_timeout_in_seconds=5
-#传输超时
+#\u4F20\u8F93\u8D85\u65F6
fastdfs.network_timeout_in_seconds=60
fastdfs.charset=UTF-8
-# token 防盗链功能
+# token \u9632\u76D7\u94FE\u529F\u80FD
fastdfs.http_anti_steal_token=no
-################ 授权配置 ################
+################ \u6388\u6743\u914D\u7F6E ################
slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2
slm.app.id=10000
diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties
deleted file mode 100644
index 1970633..0000000
--- a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties
+++ /dev/null
@@ -1,201 +0,0 @@
-#本机ip
-impp.server.ip=192.168.1.241
-#项目端口
-server.port=58100
-#链路追踪zipkin控制台ip地址
-impp.console.ip=http://192.168.1.241:58010
-#服务注册中心(多注册中心逗号分隔)
-impp.cluster.regist.center=http://192.168.1.241:58000/eureka/
-#日志默认使用log4j2
-logging.config=classpath:log4j2-spring.xml
-
-########平台相关参数##########
-#是否开启redis缓存
-impp.config.redis=true
-#是否开启rabbitMQ
-impp.config.rabbitmq=true
-#是否开启swagger
-impp.config.swagger=true
-#是否开启websocket
-impp.config.websocket=true
-#是否开启文件服务
-impp.config.fastdfs=true
-#是否对发布服务进行详细日志分析
-impp.log.detail.controller=true
-#是否对调用服务进行详细日志分析
-impp.log.detail.service=true
-#是否开启微服
-eureka.client.enabled=true
-#打开feign的熔断
-feign.hystrix.enabled=true
-
-################ 队列处理 ################
-#站内信
-impp.mq.queue.letter=true
-#邮件
-impp.mq.queue.mail=true
-#定时任务
-impp.mq.queue.schedule=true
-#SWEB通知处理队列
-impp.mq.queue.sweb.notice=true
-
-################################ 数据库相关设置 ################################
-# mysql
-spring.datasource.validationQuery=SELECT 1
-
-################ 数据池设置 ################
-spring.datasource.maximum-pool-size=200
-spring.datasource.max-active=100
-spring.datasource.max-idle=100
-spring.datasource.min-idle=30
-spring.datasource.initial-size=20
-spring.datasource.max-wait=10000
-spring.datasource.validation-query=SELECT 1
-spring.datasource.test-on-borrow=false
-spring.datasource.test-while-idle=true
-spring.datasource.time-between-eviction-runs-millis=300000
-
-##主数据源,读写
-#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
-impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
-impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3308/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
-impp.write.datasource.username=impp_i3_core_user
-impp.write.datasource.password=impp_i3_core_pwd
-
-##辅数据源,只读
-#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
-impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
-impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3308/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
-impp.read.datasource.username=impp_i3_core_user
-impp.read.datasource.password=impp_i3_core_pwd
-
-################ 日志数据源 ################
-spring.data.mongodb.database=testMongoDBSource
-spring.data.mongodb.uri=192.168.1.240:27017
-spring.data.mongodb.username=sa
-spring.data.mongodb.password=i3plus
-spring.data.mongodb.port=27017
-
-################ JPA设置设置 ################
-# mysql
-spring.jpa.database=MYSQL
-spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
-#是否显示sql
-spring.jpa.show-sql=true
-#表关系create,create-drop,update,validate
-spring.jpa.properties.hibernate.hbm2ddl.auto=update
-
-
-
-##############定时任务持久化##############
-impp.schedule.open=true
-impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver
-impp.schedule.datasource.jdbc-url=jdbc:mysql://192.168.1.240:3308/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8
-impp.schedule.datasource.username=impp_i3_schedule_user
-impp.schedule.datasource.password=impp_i3_schedule_pwd
-impp.schedule.datasource.max-connections=20
-#定时任务在服务启动后多少秒执行
-impp.schedule.start.after-second=20
-#是否集群部署
-impp.schedule.datasource.is-clustered=true
-#执行检测(毫秒),若宕机由其他定时器执行
-impp.schedule.datasource.cluster-checkin-interval=30000
-#线程数
-impp.schedule.thread-count=10
-#线程优先级(1-10)默认为5
-impp.schedule.thread-priority=5
-
-
-
-################################ 其他功能设置 ################################
-#redisIP
-redis.hostName=192.168.1.240
-#端口号
-redis.port=6379
-#如果有密码
-redis.password=
-##其他redis配置需要调整的加在此处
-################## rabbitMQ配置 ####################
-spring.rabbitmq.vhost=/
-spring.rabbitmq.host=192.168.1.240
-spring.rabbitmq.port=5672
-spring.rabbitmq.username=estsh
-spring.rabbitmq.password=estsh123
-##其他rabbitMq配置需要调整的加在此处
-
-
-################ 微服配置 ################
-#是否进行健康检查
-eureka.client.healthcheck.enabled=true
-#若无法连接注册中心,是否需要一直检测加入
-impp.cluster.fetch=true
-#集群名
-eureka.instance.metadata-map.cluster=impp_cluster
-#(参数配置)注册中心地址 -》 i3plus-ics,多个用逗号分隔
-eureka.client.service-url.defaultZone=${impp.cluster.regist.center}
-#本服务主机ip(若多个网卡,则需要设置本服务ip)
-eureka.instance.ip-address=${impp.server.ip}
-#本服务实例ID
-eureka.instance.instance-id=${impp.server.ip}:${server.port}
-#本服务主机名
-eureka.instance.hostname=${impp.server.ip}
-#本服务状态页面
-eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html
-#将自己的IP注册到Eureka Server。若不配置或设置为false,表示注册微服务所在操作系统的hostname到Eureka Server
-eureka.instance.prefer-ip-address=true
-
-################ 检测机制 ################
-#心跳间隔周期,宕机限制(秒),30秒没反应视为宕机
-eureka.instance.lease-expiration-duration-in-seconds=30
-#心跳周期
-eureka.instance.lease-renewal-interval-in-seconds=20
-#client连接Eureka服务端后的空闲等待时间,默认为30 秒
-eureka.client.eureka-connection-idle-timeout-seconds=1
-#最初复制实例信息到eureka服务器所需的时间(s),默认为40秒
-eureka.client.initial-instance-info-replication-interval-seconds=1
-#间隔多长时间再次复制实例信息到eureka服务器,默认为30秒
-eureka.client.instance-info-replication-interval-seconds=1
-#从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒
-eureka.client.registry-fetch-interval-seconds=1
-
-
-################ 熔断配置 ################
-#重试
-ribbon.maxAutoRetries=2
-#读取数据时长
-ribbon.ReadTimeout=30000
-#连接时长
-ribbon.ConnectTimeout=50000
-#响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长)
-hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000
-
-################ 链路追踪 ################
-#使用web方式传输信息
-spring.zipkin.sender.type=web
-#链路追踪服务的地址
-spring.zipkin.base-url=${impp.console.ip}
-#追踪深度,百分比,1是全部
-spring.sleuth.sampler.probability=1.0
-
-
-################ FastDfs 配置 ################
-#tracker服务器ip
-fastdfs.tracker_servers=tracker:22122
-# tracker的http端口
-fastdfs.http_tracker_http_port=22122
-# 使用自定义工具获取文件展示地址
-fastdfs.http.ui.host=http://tracker:22122
-#密码
-#fastdfs.http.secret_key=
-
-#连接超时
-fastdfs.connect_timeout_in_seconds=5
-#传输超时
-fastdfs.network_timeout_in_seconds=60
-fastdfs.charset=UTF-8
-# token 防盗链功能
-fastdfs.http_anti_steal_token=no
-
-################ 授权配置 ################
-slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2
-slm.app.id=10000
diff --git a/modules/i3plus-core-apiservice/src/main/resources/application.properties b/modules/i3plus-core-apiservice/src/main/resources/application.properties
index db038ab..229a7b5 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/application.properties
+++ b/modules/i3plus-core-apiservice/src/main/resources/application.properties
@@ -1,5 +1,5 @@
#\u4F7F\u7528\u914D\u7F6E
-spring.profiles.active=21
+spring.profiles.active=dev
#\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C\u7801
desc.application.name=\u6838\u5FC3\u7BA1\u7406\u540E\u53F0
diff --git a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring-dev.xml b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring-dev.xml
index 5d41628..c65279c 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring-dev.xml
+++ b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring-dev.xml
@@ -29,6 +29,12 @@
+
+
+
+ ${info_pattern}
+
+
@@ -37,6 +43,7 @@
+
\ No newline at end of file
diff --git a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml
index f57a191..a89e636 100644
--- a/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml
+++ b/modules/i3plus-core-apiservice/src/main/resources/log4j2-spring.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java
index b2a3860..1b106d9 100644
--- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java
+++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java
@@ -6,15 +6,25 @@ import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.estsh.impp.framework.run.ImppGo;
+import com.alibaba.fastjson.JSON;
import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.AuthenticationException;
+import org.apache.shiro.authc.AuthenticationInfo;
+import org.apache.shiro.authc.AuthenticationToken;
+import org.apache.shiro.authc.SimpleAuthenticationInfo;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.mgt.DefaultSecurityManager;
+import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.session.mgt.DefaultSessionContext;
import org.apache.shiro.session.mgt.SessionContext;
+import org.apache.shiro.subject.PrincipalCollection;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.stereotype.Component;
import org.springframework.test.context.junit4.SpringRunner;
/**
@@ -37,7 +47,7 @@ public class TestBase {
SessionContext sessionContext = new DefaultSessionContext();
sessionContext.setHost("localhost");
- UserAuthRealm userAuthRealm = (UserAuthRealm) SpringContextsUtil.getBean(UserAuthRealm.class);
+ ImppUserAuthRealm userAuthRealm = (ImppUserAuthRealm) SpringContextsUtil.getBean(ImppUserAuthRealm.class);
org.apache.shiro.mgt.SecurityManager securityManager = new DefaultSecurityManager(userAuthRealm);
SecurityUtils.setSecurityManager(securityManager);
securityManager.start(sessionContext);
@@ -55,26 +65,26 @@ public class TestBase {
}
}
-//
-//@Component
-//class UserAuthRealm extends AuthorizingRealm {
-//
-// public UserAuthRealm() {
-// //添加支持的token
-// this.setAuthenticationTokenClass(UserToken.class);
-// }
-//
-// @Override
-// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
-// return new SimpleAuthorizationInfo();
-// }
-//
-// @Override
-// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
-// SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
-// return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
-// }
-//
-//}
-//
+
+@Component
+class ImppUserAuthRealm extends AuthorizingRealm {
+
+ public ImppUserAuthRealm() {
+ //添加支持的token
+ this.setAuthenticationTokenClass(UserToken.class);
+ }
+
+ @Override
+ protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
+ return new SimpleAuthorizationInfo();
+ }
+
+ @Override
+ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ SessionUser user = JSON.parseObject(TestBase.JSON_SESSION_USER, SessionUser.class);
+ return new SimpleAuthenticationInfo(user, ((UserToken) authenticationToken).getLoginPwd(), this.getName());
+ }
+
+}
+
diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java
index df0a8b3..51cd705 100644
--- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java
+++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestUser.java
@@ -1,718 +1,55 @@
-//package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
-//
-//import cn.estsh.i3plus.core.api.iservice.busi.*;
-//import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
-//import cn.estsh.i3plus.core.apiservice.util.FileTool;
-//import cn.estsh.i3plus.platform.common.convert.ConvertBean;
-//import cn.estsh.i3plus.pojo.base.bean.BaseBean;
-//import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
-//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
-//import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
-//import cn.estsh.i3plus.pojo.model.platform.UserDetailModel;
-//import cn.estsh.i3plus.pojo.platform.bean.*;
-//import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
-//import cn.estsh.impp.framework.boot.auth.AuthUtil;
-//import cn.estsh.impp.framework.boot.util.ValidatorBean;
-//import com.alibaba.fastjson.JSON;
-//import org.apache.commons.lang3.RandomStringUtils;
-//import org.apache.commons.lang3.RandomUtils;
-//import org.apache.commons.lang3.StringUtils;
-//import org.apache.commons.lang3.time.DateFormatUtils;
-//import org.junit.Test;
-//import org.springframework.beans.factory.annotation.Autowired;
-//
-//import java.io.FileWriter;
-//import java.io.IOException;
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Random;
-//import java.util.UUID;
-//
-///**
-// * @Description :
-// * @Reference :
-// * @Author : Adair Peng
-// * @CreateDate : 2019-02-25 14:39
-// * @Modify:
-// **/
-//public class TestUser extends TestBase{
-//
-// SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker();
-//
-// @Autowired
-// private ISysPositionService positionService;
-//
-// @Autowired
-// private ISysOrganizeService organizeService;
-//
-// @Autowired
-// private ISysDepartmentService departmentService;
-//
-// @Autowired
-// private ISysMenuService menuService;
-//
-// @Autowired
-// private ISysRoleService roleService;
-//
-// String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命,然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国,造成95人丧生。之后黑兹尔转变成温带风暴,但仍然致使81人遇难,其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失,其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物,对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆,冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上,先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州,产生的阵风时速有近160公里,造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出,导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的";
-//
-// @Autowired
-// private ITestTransService testTransService;
-// @Test
-// public void testTrans(){
-// try {
-// testTransService.testListTran(1, "aaa");
-// }catch(Exception e){
-// System.out.println("111============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(2, "aaa");
-// }catch(Exception e){
-// System.out.println("222============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(3, "aaa");
-// }catch(Exception e){
-// System.out.println("333============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(4, "aaa");
-// }catch(Exception e){
-// System.out.println("444============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(5, "aaa");
-// }catch(Exception e){
-// System.out.println("555============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(6, "aaa");
-// }catch(Exception e){
-// System.out.println("666============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(7, "aaa");
-// }catch(Exception e){
-// System.out.println("777============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(8, "aaa");
-// }catch(Exception e){
-// System.out.println("888============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-//
-// try {
-// testTransService.testListTran(9, "aaa");
-// }catch(Exception e){
-// System.out.println("999============事务出错:" + e.getMessage());
-// e.printStackTrace();
-// }
-// }
-//
-// @Test
-// public void testSysPosition() throws Exception{
-// List dataBase = new ArrayList<>();
-//
-// for (int i = 0; i < 15; i++) {
-// SysPosition position = new SysPosition();
-// position.setName(RandomStringUtils.random(10, TEXT));
-// position.setPositionCode(RandomStringUtils.random(10, true, false));
-// position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
-// init(position);
-// dataBase.add(position);
-//
-// for (int j = 0; j < 10; j++) {
-//
-// SysPosition position2 = new SysPosition();
-// position2.setName(RandomStringUtils.random(10, TEXT));
-// position2.setPositionCode(RandomStringUtils.random(10, true, false));
-// position2.setParentId(position.getId());
-// position2.setParentNameRdd(position.getName());
-// init(position2);
-// dataBase.add(position2);
-//
-// for (int k = 0; k < 5; k++) {
-// SysPosition position3 = new SysPosition();
-// position3.setName(RandomStringUtils.random(10, TEXT));
-// position3.setPositionCode(RandomStringUtils.random(10, true, false));
-// position3.setParentId(position2.getId());
-// position3.setParentNameRdd(position2.getName());
-// init(position3);
-// dataBase.add(position3);
-// }
-// }
-// }
-//
-// System.out.println("打印SQL Start ");
-// String txt = null;
-//
-// for (SysPosition position : dataBase) {
-// txt = new String("INSERT INTO sys_position (id, create_date, create_user, is_deleted, is_valid, modify_date, modify_user, organize_code, name, parent_id, parent_name_rdd, position_code, position_description) VALUES" +
-// " ("+position.getId()+", '"+position.getCreateDatetime()+"', '"+position.getCreateUser()+"', "+position.getIsDeleted()+", "+position.getIsValid()+"," +
-// " '"+position.getModifyDatetime()+"', '"+position.getModifyUser()+"', null, '"+position.getName()+"', "+position.getParentId()+", '"+position.getParentNameRdd()+"', '"+position.getPositionCode()+"', null);");
-// fileWriter("E:\\test\\SysPosition.sql",txt);
-// }
-//
-// System.out.println("打印SQL Start End ");
-//
-// }
-//
-// @Test
-// public void testOrganize()throws Exception{
-// System.out.println(positionService);
-// List organizeList = new ArrayList<>();
-// List departmentList = new ArrayList<>();
-//
-// for (int i = 0; i < 10; i++) {
-// SysOrganize organize = new SysOrganize();
-// organize.setName(RandomStringUtils.random(10, TEXT));
-// organize.setOrganizeCode(RandomStringUtils.random(10, true, false));
-// organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
-// organize.setParentNameRdd("顶级组织");
-// organize.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_GROUP.getValue());
-//
-// init(organize);
-// organizeList.add(organize);
-//
-// for (int j = 0; j < 5 ; j++) {
-// SysDepartment department = new SysDepartment();
-// department.setName(RandomStringUtils.random(10, TEXT));
-// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
-// department.setParentNameRdd("顶级部门");
-// department.setOrganizeId(organize.getId());
-// department.setOrganizeNameRdd(organize.getName());
-// department.setOrganizeCode(organize.getOrganizeCode());
-//
-// init(department);
-// departmentList.add(department);
-//
-// for (int k = 0; k < 5; k++) {
-// SysDepartment department1 = new SysDepartment();
-// department1.setName(RandomStringUtils.random(10, TEXT));
-// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department1.setParentId(department.getId());
-// department1.setParentNameRdd(department.getParentNameRdd());
-// department1.setOrganizeId(organize.getId());
-// department1.setOrganizeNameRdd(organize.getName());
-// department1.setOrganizeCode(organize.getOrganizeCode());
-//
-// init(department1);
-// departmentList.add(department1);
-//
-// for (int l = 0; l < 5; l++) {
-// SysDepartment department2 = new SysDepartment();
-// department2.setName(RandomStringUtils.random(10, TEXT));
-// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department2.setParentId(department1.getId());
-// department2.setParentNameRdd(department1.getParentNameRdd());
-// department2.setOrganizeId(organize.getId());
-// department2.setOrganizeNameRdd(organize.getName());
-// department2.setOrganizeCode(organize.getOrganizeCode());
-//
-// init(department2);
-// departmentList.add(department2);
-// }
-// }
-// }
-//
-// for (int j = 0; j < 5; j++) {
-//
-// SysOrganize organize1 = new SysOrganize();
-// organize1.setName(RandomStringUtils.random(10, TEXT));
-// organize1.setOrganizeCode(RandomStringUtils.random(10, true, false));
-// organize1.setParentId(organize.getParentId());
-// organize1.setParentNameRdd(organize.getName());
-// organize1.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue());
-//
-// init(organize1);
-// organizeList.add(organize1);
-//
-// for (int k = 0; k < 5; k++) {
-// SysDepartment department = new SysDepartment();
-// department.setName(RandomStringUtils.random(10, TEXT));
-// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
-// department.setParentNameRdd("顶级部门");
-// department.setOrganizeId(organize1.getId());
-// department.setOrganizeNameRdd(organize1.getName());
-// department.setOrganizeCode(organize1.getOrganizeCode());
-//
-// init(department);
-// departmentList.add(department);
-// for (int l = 0; l < 5; l++) {
-// SysDepartment department1 = new SysDepartment();
-// department1.setName(RandomStringUtils.random(10, TEXT));
-// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department1.setParentId(department.getId());
-// department1.setParentNameRdd(department.getParentNameRdd());
-// department1.setOrganizeId(organize1.getId());
-// department1.setOrganizeNameRdd(organize1.getName());
-// department1.setOrganizeCode(organize1.getOrganizeCode());
-//
-// init(department1);
-// departmentList.add(department1);
-// for (int m = 0; m < 5; m++) {
-// SysDepartment department2 = new SysDepartment();
-// department2.setName(RandomStringUtils.random(10, TEXT));
-// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department2.setParentId(department1.getId());
-// department2.setParentNameRdd(department1.getParentNameRdd());
-// department2.setOrganizeId(organize1.getId());
-// department2.setOrganizeNameRdd(organize1.getName());
-// department2.setOrganizeCode(organize1.getOrganizeCode());
-//
-// init(department2);
-// departmentList.add(department2);
-// }
-// }
-// }
-//
-// for (int k = 0; k < 5; k++) {
-//
-// SysOrganize organize2 = new SysOrganize();
-// organize2.setName(RandomStringUtils.random(10, TEXT));
-// organize2.setOrganizeCode(RandomStringUtils.random(10, true, false));
-// organize2.setParentId(organize1.getParentId());
-// organize2.setParentNameRdd(organize1.getName());
-// organize2.setOrganizeType(ImppEnumUtil.ORGANIZE_YTPE.TYPE_FACTORY.getValue());
-//
-// init(organize2);
-// organizeList.add(organize2);
-//
-// for (int l = 0; l < 5; l++) {
-// SysDepartment department = new SysDepartment();
-// department.setName(RandomStringUtils.random(10, TEXT));
-// department.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
-// department.setParentNameRdd("顶级部门");
-// department.setOrganizeId(organize2.getId());
-// department.setOrganizeNameRdd(organize2.getName());
-// department.setOrganizeCode(organize2.getOrganizeCode());
-//
-// init(department);
-// departmentList.add(department);
-// for (int m = 0; m < 5; m++) {
-// SysDepartment department1 = new SysDepartment();
-// department1.setName(RandomStringUtils.random(10, TEXT));
-// department1.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department1.setParentId(department.getId());
-// department1.setParentNameRdd(department.getParentNameRdd());
-// department1.setOrganizeId(organize2.getId());
-// department1.setOrganizeNameRdd(organize2.getName());
-// department1.setOrganizeCode(organize2.getOrganizeCode());
-//
-// init(department1);
-// departmentList.add(department1);
-// for (int n = 0; n < 5; n++) {
-// SysDepartment department2 = new SysDepartment();
-// department2.setName(RandomStringUtils.random(10, TEXT));
-// department2.setDepartmentCode(RandomStringUtils.random(10, true, false));
-// department2.setParentId(department1.getId());
-// department2.setParentNameRdd(department1.getParentNameRdd());
-// department2.setOrganizeId(organize2.getId());
-// department2.setOrganizeNameRdd(organize2.getName());
-// department2.setOrganizeCode(organize2.getOrganizeCode());
-//
-// init(department2);
-// departmentList.add(department2);
-// }
-// }
-// }
-// }
-// }
-// }
-//
-// for (SysOrganize organize : organizeList) {
-// String txt = new String(" INSERT INTO sys_organize (" +
-// "id, create_date, create_user, is_deleted, is_valid, modify_date, " +
-// "modify_user, organize_code, name, organize_type, parent_id, parent_name_rdd) VALUES " +
-// "("+organize.getId()+", '"+organize.getCreateDatetime()+"', '"+organize.getCreateUser()+"', " +
-// " "+organize.getIsDeleted()+", "+organize.getIsValid()+", '"+organize.getModifyDatetime()+"'," +
-// " '"+organize.getModifyUser()+"', '"+organize.getOrganizeCode()+"', '"+organize.getParentNameRdd()+"'," +
-// " "+organize.getOrganizeType()+", "+organize.getParentId()+", '"+organize.getParentNameRdd()+"');");
-// fileWriter("E:\\test\\SysOrganize.sql",txt);
-// }
-//
-// for (SysDepartment department : departmentList) {
-// String txt = new String("INSERT INTO sys_department (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, department_code, name, organize_id, organize_name_rdd," +
-// " parent_id, parent_name_rdd) VALUES (" +
-// " "+department.getId()+", '"+department.getCreateDatetime()+"'," +
-// " '"+department.getCreateUser()+"', "+department.getIsDeleted()+", "+department.getIsValid()+"," +
-// " '"+department.getModifyDatetime()+"', '"+department.getModifyUser()+"', '"+department.getDepartmentCode()+"'," +
-// " '"+department.getName()+"', "+department.getOrganizeId()+", '"+department.getOrganizeNameRdd()+"', " +
-// " "+department.getParentId()+", ':"+department.getParentNameRdd()+"');");
-// fileWriter("E:\\test\\SysDepartment.sql",txt);
-// }
-//
-// }
-//
-// @Test
-// public void testSysMenu() throws Exception {
-// List list = menuService.findSysMenuAll();
-//
-// for (SysMenu menu : list) {
-// String txt = new String("INSERT INTO sys_menu (id, create_date, create_user, is_deleted, is_valid," +
-// " modify_date, modify_user, menu_class_path, menu_code, menu_css, menu_description, menu_grade, menu_icon, " +
-// "menu_sort, menu_status, menu_type, menu_url, name, parent_id, parent_name_rdd, name_zh_shortening) VALUES (" +
-// " "+menu.getId()+", null, 'System Init', null, null, '2018-12-20 12:39:56', '系统管理员', '', '101010000', '', null, null, '', '0', 1, 2, '/impp-base', '基础信息管理', 100002, '设置', 'jcxxgl');");
-// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt);
-// }
-// }
-//
-// @Test
-// public void testSysRole() throws Exception{
-// List list = menuService.findSysMenuAll();
-//
-// List roleList = new ArrayList<>();
-// List refRoleMenuList = new ArrayList<>();
-//
-// for (int i = 0; i < 100 ; i++) {
-// List moduleListRdd = new ArrayList<>();
-// List featuresListRdd = new ArrayList<>(); // 冗余
-//
-// SysRole role = new SysRole();
-// role.setRoleStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
-// role.setMenuNumber(0);
-// role.setModuleNumber(0);
-// role.setName(RandomStringUtils.random(10, TEXT));
-// role.setRoleDescription(RandomStringUtils.random(50, TEXT));
-//
-// for (SysMenu menu : list) {
-// SysRefRoleMenu ref = new SysRefRoleMenu();
-// ref.setRoleId(role.getId());
-// ref.setRoleNameRdd(role.getName());
-// ref.setMenuNameRdd(menu.getName());
-// ref.setMenuId(menu.getId());
-// ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
-// ref.setMenuTypeRdd(menu.getMenuType());
-//
-// // 冗余信息封装
-// if(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue() == menu.getMenuType().intValue()){
-// moduleListRdd.add(menu.getName());
-// }
-// if(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue() == menu.getMenuType().intValue()){
-// featuresListRdd.add(menu.getName());
-// }
-//
-// init(ref);
-// refRoleMenuList.add(ref);
-// }
-//
-// role.setModuleNumber(moduleListRdd.size());
-// role.setMenuNumber(featuresListRdd.size());
-//
-// init(role);
-// roleList.add(role);
-// }
-//
-// for (SysRole role : roleList) {
-// String txt = new String(" INSERT INTO sys_role (id, create_date, create_user, is_deleted, is_valid," +
-// " modify_date, modify_user, menu_number_rdd, module_number, name," +
-// " role_description, role_status) VALUES " +
-// "( "+role.getId()+", '"+role.getCreateDatetime()+"', '"+role.getCreateUser()+"', "+role.getIsDeleted()+"," +
-// " "+role.getIsValid()+", '"+role.getModifyDatetime()+"', '"+role.getModifyUser()+"', "+role.getMenuNumber()+"," +
-// " "+role.getModuleNumber()+", '"+role.getName()+"', null, 1);");
-// fileWriter("E:\\test\\SysRole.sql",txt);
-// }
-//
-// for (SysRefRoleMenu ref : refRoleMenuList) {
-// String txt = new String("INSERT INTO sys_ref_role_menu (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, menu_id, menu_name_rdd, menu_type_rdd, role_id, role_name_rdd) VALUES (" +
-// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+", "+ref.getIsValid()+"," +
-// " '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getMenuId()+", '"+ref.getMenuNameRdd()+"'," +
-// " '"+ref.getMenuTypeRdd()+"', "+ref.getRoleId()+", '"+ref.getRoleNameRdd()+"');");
-// fileWriter("E:\\test\\SysRefRoleMenu.sql",txt);
-// }
-//
-//
-//
-// }
-//
-// @Test
-// public void testUserInfo() throws Exception {
-// List roleList = roleService.findSysRoleAll();
-// List positionList = positionService.findSysPositionAll();
-// List departmentList = departmentService.listSysDepartment();
-//
-// for (int y = 0; y < 10; y++) {
-// String PATH = new String("E:\\test\\user\\" + y);
-// List userList = new ArrayList<>();
-// List userInfoList = new ArrayList<>();
-// List refUserRoleList = new ArrayList<>();
-// List refUserDepartmentList = new ArrayList<>();
-// List refUserInfoDepartmentList = new ArrayList<>();
-// List refUserPositionList = new ArrayList<>();
-//
-// List refUserRoleNameList ;
-// List refUserPositionNameList ;
-// List refUserDepartmentNameList ;
-//
-// SysUser user;
-// SysUserInfo userInfo;
-// SysRefUserRole refUserRole;
-// SysRefUserDepartment refUserDepartment;
-// SysRefUserInfoDepartment refUserInfoDepartment;
-// SysRefUserPosition refUserPosition;
-// SysDepartment department = null;
-// SysPosition position = null;
-//
-// for (int i = 0; i < 10000; i++) {
-// user = new SysUser();
-// userInfo = new SysUserInfo();
-// refUserRoleNameList = new ArrayList<>();
-// refUserPositionNameList = new ArrayList<>();
-// refUserDepartmentNameList = new ArrayList<>();
-//
-// init(user);
-// init(userInfo);
-//
-// for (int j = 0; j < 2; j++) {
-// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1));
-// if(role != null){
-// refUserRole = new SysRefUserRole();
-// init(refUserRole);
-//
-// refUserRole.setRoleId(role.getId());
-// refUserRole.setRoleNameRdd(role.getName());
-// refUserRole.setUserId(user.getId());
-// refUserRole.setUserNameRdd(user.getUserName());
-//
-// refUserRoleNameList.add(role.getName());
-// refUserRoleList.add(refUserRole);
-// }
-// }
-//
-// for (int j = 0; j < 3; j++) {
-// position = positionList.get(new Random().nextInt(positionList.size() - 1));
-// if(position != null){
-// refUserPosition = new SysRefUserPosition();
-// init(refUserPosition);
-//
-// refUserPosition.setUserId(userInfo.getId());
-// refUserPosition.setUserNameRdd(userInfo.getName());
-// refUserPosition.setPositionId(position.getId());
-// refUserPosition.setPositionNameRdd(position.getName());
-//
-// refUserPositionNameList.add(position.getName());
-//
-// refUserPositionList.add(refUserPosition);
-// }
-// }
-//
-// for (int j = 0; j < 3; j++) {
-// department = departmentList.get(new Random().nextInt(departmentList.size() - 1));
-//
-// if(department != null){
-// refUserDepartment= new SysRefUserDepartment();
-// refUserInfoDepartment = new SysRefUserInfoDepartment();
-//
-// init(refUserDepartment);
-// init(refUserInfoDepartment);
-//
-// refUserDepartment.setDepartmentId(department.getId());
-// refUserDepartment.setDepartmentNameRdd(department.getName());
-// refUserDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd());
-// refUserDepartment.setOrganizeId(department.getOrganizeId());
-// refUserDepartment.setOrganizeCode(department.getOrganizeCode());
-// refUserDepartment.setUserId(user.getId());
-// refUserDepartment.setUserNameRdd(user.getUserName());
-//
-// refUserInfoDepartment.setDepartmentId(department.getId());
-// refUserInfoDepartment.setDepartmentNameRdd(department.getName());
-// refUserInfoDepartment.setOrganizeNameRdd(department.getOrganizeNameRdd());
-// refUserInfoDepartment.setOrganizeId(department.getOrganizeId());
-// refUserInfoDepartment.setOrganizeCode(department.getOrganizeCode());
-// refUserInfoDepartment.setUserId(user.getId());
-// refUserInfoDepartment.setUserNameRdd(user.getUserName());
-//
-// refUserDepartmentNameList.add(department.getName());
-//
-// refUserDepartmentList.add(refUserDepartment);
-// refUserInfoDepartmentList.add(refUserInfoDepartment);
-// }
-// }
-//
-// userInfo.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList));
-// userInfo.setDepartmentId(department.getId());
-// userInfo.setDepartmentNameRdd(department.getName());
-// userInfo.setOrganizeId(department.getOrganizeId());
-// userInfo.setOrganizeNameRdd(department.getOrganizeNameRdd());
-// userInfo.setOrganizeCode(department.getOrganizeCode());
-// userInfo.setPositionId(position.getId());
-// userInfo.setPositionNameRdd(position.getName());
-// userInfo.setPositionNamesRdd(StringUtils.join(refUserPositionNameList,","));
-// userInfo.setName(RandomStringUtils.random(5, TEXT));
-// userInfo.setUserEmpNo(RandomStringUtils.random(10, true, true));
-// userInfo.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue());
-// userInfo.setUserLoginNum(0);
-// userInfo.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
-// userInfo.setUserId(user.getId());
-//
-// user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue());
-// user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue());
-// user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
-// user.setUserLoginNum(0);
-// user.setDepartmentNamesRdd(StringUtils.join(refUserDepartmentNameList,","));
-// user.setDepartmentId(department.getId());
-// user.setDepartmentNameRdd(department.getName());
-// user.setUserPhone(RandomStringUtils.random(11, false, true));
-// user.setUserEmail(RandomStringUtils.random(15, true, true));
-// user.setUserLoginName(RandomStringUtils.random(20, true, true));
-// user.setUserLoginPassword("123456");
-// user.setUserEmpNo(userInfo.getUserEmpNo());
-//
-// userList.add(user);
-// userInfoList.add(userInfo);
-// }
-//
-// for (SysRefUserPosition ref : refUserPositionList) {
-// String txt = new String("INSERT INTO sys_ref_user_position (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, position_id, position_name_rdd, user_id, user_name_rdd) VALUES (" +
-// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
-// " "+ref.getIsValid()+", '"+ref.getModifyUser()+"', '"+ref.getModifyDatetime()+"', "+ref.getPositionId()+"," +
-// " '"+ref.getPositionNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
-// fileWriter(PATH+"\\SysRefUserPosition.sql",txt);
-// }
-//
-// for (SysRefUserRole ref : refUserRoleList) {
-// String txt = new String("INSERT INTO sys_ref_user_role (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, role_id, role_name_rdd, user_id, user_name_rdd) VALUES (" +
-// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
-// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getRoleId()+"," +
-// " '"+ref.getRoleNameRdd()+"', "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
-// fileWriter(PATH+"\\SysRefUserRole.sql",txt);
-// }
-//
-// for (SysRefUserDepartment ref : refUserDepartmentList) {
-// String txt = new String("INSERT INTO sys_ref_user_department (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" +
-// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
-// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," +
-// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," +
-// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
-// fileWriter(PATH+"\\SysRefUserDepartment.sql",txt);
-// }
-//
-// for (SysRefUserInfoDepartment ref : refUserInfoDepartmentList) {
-// String txt = new String("INSERT INTO sys_ref_user_info_department (id, create_date, create_user, is_deleted," +
-// " is_valid, modify_date, modify_user, department_id, department_name_rdd, organize_id, organize_name_rdd, user_id, user_name) VALUES (" +
-// " "+ref.getId()+", '"+ref.getCreateDatetime()+"', '"+ref.getCreateUser()+"', "+ref.getIsDeleted()+"," +
-// " "+ref.getIsValid()+", '"+ref.getModifyDatetime()+"', '"+ref.getModifyUser()+"', "+ref.getDepartmentId()+"," +
-// " '"+ref.getDepartmentNameRdd()+"', "+ref.getOrganizeId()+", '"+ref.getOrganizeNameRdd()+"'," +
-// " "+ref.getUserId()+", '"+ref.getUserNameRdd()+"');");
-// fileWriter(PATH+"\\SysRefUserInfoDepartment.sql",txt);
-// }
-//
-// for (SysUser su : userList) {
-// String txt = new String("INSERT INTO sys_user (id, create_date, create_user, is_deleted, is_valid," +
-// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, language_code," +
-// " organize_id, organize_name_rdd, organize_names_rdd, role_names_rdd, user_email, user_emp_no, user_info_id," +
-// " user_login_last_date_time, user_login_name, user_login_num, user_login_password, user_name_rdd," +
-// " user_phone, user_status, user_type) VALUES (" +
-// " "+su.getId()+", '"+su.getCreateDatetime()+"', '"+su.getCreateUser()+"', "+su.getIsDeleted()+", "+su.getIsValid()+"," +
-// " '"+su.getModifyDatetime()+"', '"+su.getModifyUser()+"', '"+su.getOrganizeCode()+"', " +
-// " "+su.getDepartmentId()+", '"+su.getDepartmentNameRdd()+"', '"+su.getDepartmentNamesRdd()+"', ''," +
-// " "+su.getOrganizeId()+", '"+su.getOrganizeNameRdd()+"', null, '"+su.getRoleNamesRdd()+"', '"+su.getUserEmail()+"'," +
-// " '"+su.getUserEmpNo()+"', "+su.getUserInfoId()+", null, '"+su.getUserLoginName()+"', 0, '2637a5c30af69a7bad877fdb65fbd78b'," +
-// " '"+su.getUserName()+"', '"+su.getUserPhone()+"', 1, 1);");
-// fileWriter(PATH+"\\SysUser.sql",txt);
-// }
-//
-// for (SysUserInfo ui : userInfoList) {
-// String txt = new String("INSERT INTO sys_user_info (id, create_date, create_user, is_deleted, is_valid," +
-// " modify_date, modify_user, organize_code, department_id, department_name_rdd, department_names_rdd, name," +
-// " organize_id, organize_name_rdd, position_id, position_name_rdd, position_names_rdd, user_emp_no, user_id," +
-// " user_info_status, user_join_date, user_login_last_date_time, user_login_num) VALUES (" +
-// " "+ui.getId()+", '"+ui.getCreateDatetime()+"', '"+ui.getCreateUser()+"', "+ui.getIsDeleted()+", "+ui.getIsValid()+"," +
-// " '"+ui.getModifyDatetime()+"', '"+ui.getModifyUser()+"', '"+ui.getOrganizeCode()+"'," +
-// " "+ui.getDepartmentId()+", '"+ui.getDepartmentNameRdd()+"', '"+ui.getDepartmentNamesRdd()+"'," +
-// " '"+ui.getName()+"', "+ui.getOrganizeId()+", '"+ui.getOrganizeNameRdd()+"'," +
-// " "+ui.getPositionId()+", '"+ui.getPositionNameRdd()+"', '"+ui.getPositionNamesRdd()+"'," +
-// " '"+ui.getUserEmpNo()+"', "+ui.getUserId()+", 1, '2019-02-26', null , 0);");
-// fileWriter(PATH+"\\SysUserInfo.sql",txt);
-// }
-//
-// System.gc();
-// }
-// }
-//
-// public void testUserDetailModel(){
-// List roleList = roleService.findSysRoleAll();
-// List positionList = positionService.findSysPositionAll();
-// List departmentList = departmentService.listSysDepartment();
-//
-// UserDetailModel model = new UserDetailModel();
-// List roleIds = new ArrayList<>();
-// List positionIds = new ArrayList<>();
-// List departmentIds = new ArrayList<>();
-//
-// for (int i = 0; i < new Random().nextInt(10) ; i++) {
-// SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1));
-// roleIds.add(role.getId().toString());
-// }
-//
-// for (int i = 0; i < new Random().nextInt(10) ; i++) {
-// SysPosition position = positionList.get(new Random().nextInt(positionList.size() - 1));
-// positionIds.add(position.getId().toString());
-// }
-//
-// for (int i = 0; i < new Random().nextInt(10) ; i++) {
-// SysDepartment department = departmentList.get(new Random().nextInt(departmentList.size() - 1));
-// departmentIds.add(department.getId().toString());
-// }
-//
-//
-//
-// model.setUserInfoId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + "");
-// model.setUserId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + "");
-// model.setUserPhone(RandomStringUtils.random(11, false, true));
-// model.setUserEmail(RandomStringUtils.random(15, true, true));
-// model.setUserLoginPassword(RandomStringUtils.random(20, true, true));
-// model.setUserRoleIdList(roleIds);
-// model.setUserDepartmentIdList(departmentIds);
-// model.setInfoEmpNo(RandomStringUtils.random(10, true, true));
-// model.setInfoPositionIdList(positionIds);
-// model.setInfoDepartmentIdList(departmentIds);
-//
-// }
-//
-//
-// public void init(BaseBean bean)throws Exception{
-// bean.setId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + UUID.randomUUID().hashCode() + new Random().nextInt(10000000));
-// bean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
-// bean.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
-// bean.setCreateUser("系统管理员-测试");
-// bean.setModifyUser("系统管理员-测试");
-// bean.setCreateDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss"));
-// bean.setModifyDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss"));
-// }
-//
-// public static void fileWriter(String fileName, String content) {
-// try {
-// // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
-// FileWriter writer = new FileWriter(fileName, true);
-// writer.write(content+"\r\n");
-// writer.close();
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-// }
-//
-//}
+package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
+
+import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService;
+import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
+import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase;
+import cn.estsh.i3plus.pojo.platform.bean.SysTool;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description :
+ * @Reference :
+ * @Author : Adair Peng
+ * @CreateDate : 2019-02-25 14:39
+ * @Modify:
+ **/
+public class TestUser extends TestBase {
+
+ @Autowired
+ private ISysToolService toolService;
+
+ @Test
+ public void testTrans() {
+ for (int i = 0; i < 20; i++) {
+ new Thread("Save Thread -> " + i) {
+ @Override
+ public void run() {
+ for (int j = 0; j < 10; j++) {
+ SysTool tool = new SysTool();
+ tool.setName(Thread.currentThread().getName() + "_" + System.currentTimeMillis());
+ tool.setToolIp("192.168.3.40");
+ tool.setToolPort(9090);
+ tool.setToolDescription(Thread.currentThread().getName());
+
+ System.out.println(toolService.saveSysTool(tool));
+ }
+ }
+ }.start();
+ }
+
+ for (int i = 0; i < 20; i++) {
+ new Thread("Read Thread -> " + i) {
+ @Override
+ public void run() {
+ for (int j = 0; j < 10; j++) {
+ System.out.println(toolService.findSysToolByTop(j * 3));
+ }
+ }
+ }.start();
+ }
+
+ }
+
+
+}