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(); + } + + } + + +}