From a293de66887523f86d98456049b4ac3bad0c5b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Mon, 8 Jun 2020 14:38:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.properties | 5 +- .../application-docker-yfas-nd.properties | 153 +++++++++++---------- .../main/resources/application-docker.properties | 5 +- .../src/main/resources/application-prod.properties | 153 +++++++++++---------- 4 files changed, 160 insertions(+), 156 deletions(-) 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 From e6b10832b0501bb750ce5075277e2eadb621cea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Mon, 15 Jun 2020 17:06:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?MDM=20=E7=B3=BB=E7=BB=9F=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/AppStartSystemInit.java | 9 +- .../ScanMongoPackageConfiguration.java | 68 ++++----- .../configuration/ScanPackageConfiguration.java | 70 ++++----- .../controller/base/WhiteController.java | 3 + .../controller/busi/ImppLogController.java | 99 +++++++----- .../controller/busi/SysPojoVersionController.java | 25 +++ .../mq/BaseMdmDataSyncQueueReceiver.java | 169 --------------------- .../apiservice/mq/MdmDataSyncQueueReceiver.java | 7 +- .../apiservice/mq/MessageLetterQueueReceiver.java | 7 +- .../apiservice/mq/MessageMailQueueReceiver.java | 7 +- .../mq/MessageSWebNoticeQueueReceiver.java | 6 +- .../apiservice/mq/MessageTestQueueReceiver.java | 43 ------ .../apiservice/mq/PojoVersionQueueReceiver.java | 4 +- .../core/apiservice/mq/ScheduleQueueReceiver.java | 6 +- .../core/apiservice/mq/SysLocalResourceQueue.java | 6 +- .../base/BaseBusiSyncMdmDataService.java | 139 ----------------- .../serviceimpl/base/SystemInitService.java | 8 +- .../serviceimpl/busi/SysToolService.java | 27 +--- .../serviceimpl/mdm/SysToolSyncDataService.java | 13 +- .../i3plus/core/apiservice/util/NoSqlPack.java | 1 + 20 files changed, 215 insertions(+), 502 deletions(-) delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/BaseMdmDataSyncQueueReceiver.java delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageTestQueueReceiver.java delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java index bf77af3..a69a046 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/AppStartSystemInit.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.configuration; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.impp.framework.boot.util.ImppSwitchUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,16 +21,20 @@ public class AppStartSystemInit implements CommandLineRunner { public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); - @Autowired + @Autowired(required = false) private ISystemInitService systemInitService; @Override public void run(String... args) throws Exception { try { + if(ImppSwitchUtil.isUnitTestEnv()) { + LOGGER.info("【单元测试环境 跳过初始化...】"); + return; + } LOGGER.info("【IMPP-Core开始加载基础信息...】"); - systemInitService.putAndLoadAll(); + systemInitService.putAndLoadAll(); }catch (Exception e){ e.printStackTrace(); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanMongoPackageConfiguration.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanMongoPackageConfiguration.java index c544b0d..3d3fa9c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanMongoPackageConfiguration.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanMongoPackageConfiguration.java @@ -1,34 +1,34 @@ -package cn.estsh.i3plus.core.apiservice.configuration; - -import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.base.jpa.factory.BaseMongoRepositoryFactoryBean; -import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; - -/** - * @Description : 需要扫描其他包的配置文件 - * 此类专门添加需要单独加载的其他模块的包 - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-12-12 20:49 - * @Modify: - **/ -@Configuration -@ConditionalOnExpression("'${" + CommonConstWords.PROP_SWITCH_MONGO + ":false}' == 'true'") -//扫描需要单独处理的持久化包 -@EnableMongoRepositories(basePackages = { - "cn.estsh.i3plus.**.platrepositorymongo" -},repositoryFactoryBeanClass = BaseMongoRepositoryFactoryBean.class) -public class ScanMongoPackageConfiguration { - public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); - - public ScanMongoPackageConfiguration(){ - LOGGER.info("【扫描关联包...】"); - } -} +//package cn.estsh.i3plus.core.apiservice.configuration; +// +//import cn.estsh.i3plus.platform.common.util.CommonConstWords; +//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseMongoRepositoryFactoryBean; +//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +//import org.springframework.boot.autoconfigure.domain.EntityScan; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +//import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; +// +///** +// * @Description : 需要扫描其他包的配置文件 +// * 此类专门添加需要单独加载的其他模块的包 +// * @Reference : +// * @Author : alwaysfrin +// * @CreateDate : 2018-12-12 20:49 +// * @Modify: +// **/ +//@Configuration +//@ConditionalOnExpression("'${" + CommonConstWords.PROP_SWITCH_MONGO + ":false}' == 'true'") +////扫描需要单独处理的持久化包 +//@EnableMongoRepositories(basePackages = { +// "cn.estsh.i3plus.**.platrepositorymongo" +//},repositoryFactoryBeanClass = BaseMongoRepositoryFactoryBean.class) +//public class ScanMongoPackageConfiguration { +// public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); +// +// public ScanMongoPackageConfiguration(){ +// LOGGER.info("【扫描关联包...】"); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanPackageConfiguration.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanPackageConfiguration.java index 0c4371d..40f7947 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanPackageConfiguration.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/configuration/ScanPackageConfiguration.java @@ -1,35 +1,35 @@ -package cn.estsh.i3plus.core.apiservice.configuration; - -import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; - -/** - * @Description : 需要扫描其他包的配置文件 - * 此类专门添加需要单独加载的其他模块的包 - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-12-12 20:49 - * @Modify: - **/ -@Configuration -//扫描需要单独处理的包 -@EntityScan(basePackages = { - "cn.estsh.i3plus.**.platbean" -}) - -//需要单独处理的其他模块包 -@EnableJpaRepositories(basePackages = { - "cn.estsh.i3plus.**.platrepository" -}, repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class) -public class ScanPackageConfiguration { - public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); - - public ScanPackageConfiguration(){ - LOGGER.info("【扫描关联包...】"); - } -} +//package cn.estsh.i3plus.core.apiservice.configuration; +// +//import cn.estsh.i3plus.platform.common.util.CommonConstWords; +//import cn.estsh.i3plus.pojo.base.jpa.factory.BaseRepositoryFactoryBean; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.boot.autoconfigure.domain.EntityScan; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +// +///** +// * @Description : 需要扫描其他包的配置文件 +// * 此类专门添加需要单独加载的其他模块的包 +// * @Reference : +// * @Author : alwaysfrin +// * @CreateDate : 2018-12-12 20:49 +// * @Modify: +// **/ +//@Configuration +////扫描需要单独处理的包 +//@EntityScan(basePackages = { +// "cn.estsh.i3plus.**.platbean" +//}) +// +////需要单独处理的其他模块包 +//@EnableJpaRepositories(basePackages = { +// "cn.estsh.i3plus.**.platrepository" +//}, repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class) +//public class ScanPackageConfiguration { +// public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG); +// +// public ScanPackageConfiguration(){ +// LOGGER.info("【扫描关联包...】"); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 5952926..b757266 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.*; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.*; import cn.estsh.i3plus.platform.common.util.CommonConstWords; @@ -352,6 +353,8 @@ public class WhiteController extends CoreBaseController { sysFile.setFileTypeId(dictionary.getId()); sysFile.setFileTypeName(dictionary.getName()); + ConvertBean.serviceModelInitialize(sysFile,"白名单"); + sysFile = sysFileService.insertSysFile(sysFile); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile); }catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java index d6e72f9..6e44358 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.platbean.*; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -42,110 +44,116 @@ public class ImppLogController extends CoreBaseController { /** * 系统日志分页复杂查询 + * * @param logSystem 查询条件 - * @param pager 分页数据 + * @param pager 分页数据 * @return 处理结果 */ @GetMapping("/system/query") - @ApiOperation(value = "系统日志分页复杂查询",notes = "系统日志分页复杂查询") - public ResultBean querySysLogSystemByPager(SysLogSystem logSystem, Pager pager){ + @ApiOperation(value = "系统日志分页复杂查询", notes = "系统日志分页复杂查询") + public ResultBean querySysLogSystemByPager(SysLogSystem logSystem, Pager pager) { try { ListPager logSystemList = logService.queryLogSystemPager(logSystem, pager); return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 定时任务日志分页复杂查询 + * * @param sysLogTaskTime 查询日志 - * @param pager 分页数据 + * @param pager 分页数据 * @return 处理结果 */ @GetMapping("/task-time/query") - @ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询") - public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager){ + @ApiOperation(value = "定时任务日志分页复杂查询", notes = "定时任务日志分页复杂查询") + public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager) { try { ListPager logSystemList = logService.queryLogTaskTimePager(sysLogTaskTime, pager); return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 操作日志复杂查询,分页,排序 + * * @param logOperate 操作日志 - * @param pager 分页数据 + * @param pager 分页数据 * @return 处理结果 */ @GetMapping(value = "/operate/query") - @ApiOperation(value = "操作日志复杂查询,分页,排序",notes = "操作日志复杂查询,分页,排序") - public ResultBean querySysLogOperateByPager(SysLogOperate logOperate, Pager pager){ + @ApiOperation(value = "操作日志复杂查询,分页,排序", notes = "操作日志复杂查询,分页,排序") + public ResultBean querySysLogOperateByPager(SysLogOperate logOperate, Pager pager) { try { ListPager logSystemList = logService.queryLogOperatePager(logOperate, pager); return ResultBean.success("操作成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 异常日志复杂查询,分页,排序 + * * @param sysLogException 查询条件 - * @param pager 分页信息 + * @param pager 分页信息 * @return 处理结果 */ @GetMapping(value = "/exception/query") - @ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序") - public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager){ + @ApiOperation(value = "异常日志复杂查询,分页,排序", notes = "异常日志复杂查询,分页,排序") + public ResultBean querySysLogExceptionByPager(SysLogException sysLogException, Pager pager) { try { ListPager logExceptionList = logService.queryLogExceptionPager(sysLogException, pager); return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 异常日志复杂查询,分页,排序 - * @param bean 查询条件 + * + * @param bean 查询条件 * @param pager 分页信息 * @return 处理结果 */ @GetMapping(value = "/console/query") - @ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序") - public ResultBean querySysLogConsoleByPager(SysLogConsole bean, Pager pager){ + @ApiOperation(value = "异常日志复杂查询,分页,排序", notes = "异常日志复杂查询,分页,排序") + public ResultBean querySysLogConsoleByPager(SysLogConsole bean, Pager pager) { try { ListPager logExceptionList = logService.queryLogConsolePager(bean, pager); return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 定时任务控制台日志,分页,排序 + * * @param bean 查询条件 * @return 处理结果 */ @GetMapping(value = "/console/query-schedule") - @ApiOperation(value = "定时任务控制台日志,分页,排序",notes = "定时任务控制台日志") - public ResultBean querySchdeuleLogConsoleByPager(SysLogConsole bean){ + @ApiOperation(value = "定时任务控制台日志,分页,排序", notes = "定时任务控制台日志") + public ResultBean querySchdeuleLogConsoleByPager(SysLogConsole bean) { try { ValidatorBean.beginValid(bean) - .notNull("logGroup",bean.getLogGroup()); + .notNull("logGroup", bean.getLogGroup()); // 参数 // 1. group = CommonConstWords.SCHEDULE_LOG:Gourp.Name // 2. @@ -162,11 +170,34 @@ public class ImppLogController extends CoreBaseController { if (StringUtils.isBlank(bean.getCreateDateTimeEnd())) { bean.setCreateDateTimeEnd(TimeTool.getNowTime(true)); } - List logExceptionList = logService.findLogConsoleList(bean); - return ResultBean.success("查询成功").setResultList(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + // 一次100条 + bean.setOrderByParam("createDatetime"); + bean.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.ASC.getValue()); + + List logScheduleList = new ArrayList(); + + Pager pager = new Pager(); + pager.setPageSize(100); + pager.setCurrentPage(1); + + ListPager listPager; + do { + if (pager.getTotalRows() != 0) { + pager.next(); + } + listPager = logService.queryLogConsolePager(bean, pager); + if(listPager!= null && listPager.getObjectList()!= null) { + logScheduleList.addAll(listPager.getObjectList()); + pager = listPager.getObjectPager(); + }else if(pager.hasNext()) { + pager.setCurrentPage(pager.getTotalPages()); + } + } while (pager.hasNext()); + + return ResultBean.success("查询成功").setResultList(logScheduleList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -174,12 +205,12 @@ public class ImppLogController extends CoreBaseController { @GetMapping(value = "/clean-log") @ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化") public ResultBean logClean(String time) { - try{ + try { Date thisTime = TimeTool.parseDate(time); String startTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, 0)) + " 00:00:00"; String endTime = TimeTool.getToday(TimeTool.getDateBefore(thisTime, 0)) + " 23:59:59"; - logService.actionCleanLog(startTime,endTime); + logService.actionCleanLog(startTime, endTime); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep).build(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionController.java index 1f82e03..63e70ad 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionController.java @@ -2,11 +2,20 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.model.common.CloudPagerModel; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; import cn.estsh.impp.framework.base.controller.CrudBaseController; import cn.estsh.impp.framework.base.service.ICrudService; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -28,4 +37,20 @@ public class SysPojoVersionController extends CrudBaseController public ICrudService getCrudService() { return pojoVersionService; } + + @PostMapping("/cloud-query") + @ApiOperation(value = "查询数据", notes = "复杂查询,分页,排序") + BaseResultBean queryPojoVersionByPagerCloud(@RequestBody CloudPagerModel model){ + try { + SysPojoVersion bean = packQueryPager(model.getObj()); + + return ResultBean.success("操作成功") + .setListPager(getCrudService().findPager(bean, model.getPager())) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/BaseMdmDataSyncQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/BaseMdmDataSyncQueueReceiver.java deleted file mode 100644 index 5be2dad..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/BaseMdmDataSyncQueueReceiver.java +++ /dev/null @@ -1,169 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.mq; - -import cn.estsh.i3plus.core.apiservice.serviceimpl.base.BaseBusiSyncMdmDataService; -import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; -import cn.estsh.i3plus.platform.common.tool.JsonUtilTool; -import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.MdmEnumUtil; -import cn.estsh.i3plus.pojo.mdm.bean.base.MdmSyncData; -import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.util.ImppRedis; -import cn.estsh.impp.framework.boot.util.SpringContextsUtil; -import com.rabbitmq.client.Channel; -import org.apache.commons.lang3.exception.ExceptionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.amqp.core.Message; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.annotation.Resource; -import java.io.IOException; -import java.util.HashMap; - -import static cn.estsh.i3plus.platform.common.util.MdmConstWords.REDIS_MDM_SYNC_FAIL; - -/** - * @Description : - * @Reference : - * @Author : yunhao - * @CreateDate : 2020-05-28 16:54 - * @Modify: - **/ -public abstract class BaseMdmDataSyncQueueReceiver { - - private static final Logger LOGGER = LoggerFactory.getLogger(BaseMdmDataSyncQueueReceiver.class); - - @Autowired - private RabbitTemplate rabbitTemplate; - - @Resource(name = CommonConstWords.IMPP_REDIS_MDM) - private ImppRedis mdmRedis; - - private static final HashMap> masterDateRefMap = new HashMap<>(); - private static final HashMap> busiDateRefMap = new HashMap<>(); - private static final HashMap, BaseBusiSyncMdmDataService> syncServiceMap = new HashMap<>(); - - public void putMdmDataRef(Class syncService, Class mdmMasterClass, Class mdmBusiClass) { - masterDateRefMap.put(mdmMasterClass.getName(), syncService); - busiDateRefMap.put(mdmBusiClass.getName(), syncService); - } - - /** - * 获取同步服务 - * - * @param syncData - * @return - */ - private BaseBusiSyncMdmDataService getSyncService(MdmSyncData syncData) { - Class syncServiceClass = null; - - // 根据MdmClass查找对应关系 - if (CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(syncData.getIsMasterDataVal())) { - syncServiceClass = masterDateRefMap.get(syncData.getSyncDataClass()); - } else { - syncServiceClass = busiDateRefMap.get(syncData.getSyncDataClass()); - } - - if (syncServiceClass == null) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("【MDM同步关系未维护】MdmClass %s", syncData.getSyncDataClass()) - .setErrorSolution("维护Mdm同步关系") - .build(); - } - - // 根据同步服务Class获取服务对象 - BaseBusiSyncMdmDataService busiSyncMdmDataService = syncServiceMap.get(syncServiceClass); - if (busiSyncMdmDataService == null) { - busiSyncMdmDataService = SpringContextsUtil.getBean(syncServiceClass); - syncServiceMap.put(syncServiceClass, busiSyncMdmDataService); - } - if (busiSyncMdmDataService == null) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("【MDM同步服务为找到】SyncServiceClass %s", syncServiceClass) - .build(); - } - - return busiSyncMdmDataService; - } - - /** - * Mdm主数据同步 - * - * @param syncDataStr 消息 - * @param channel 通道 - * @param message 消息 - */ - public void processSyncMasterData(String syncDataStr, Channel channel, Message message) { - MdmSyncData syncData = null; - try { - LOGGER.info("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】数据接收成功:{}", syncDataStr); - syncData = JsonUtilTool.decode(syncDataStr, MdmSyncData.class); - if (syncData == null) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("同步数据不存在") - .build(); - } - - // 同步数据类型 - BaseBusiSyncMdmDataService busiSyncMdmDataService = getSyncService(syncData); - - boolean isMaster = CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(syncData.getIsMasterDataVal()); - - // 判断操作类型与同步数据类型调用对应的方法 - if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.INSERT.getValue()) { - if (isMaster) { - busiSyncMdmDataService.masterInsertSync(syncData); - } else { - busiSyncMdmDataService.busiInsertSync(syncData); - } - } else if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.UPDATE.getValue()) { - if (isMaster) { - busiSyncMdmDataService.masterUpdateSync(syncData); - } else { - busiSyncMdmDataService.busiUpdateSync(syncData); - } - } else if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.DELETE.getValue()) { - if (isMaster) { - busiSyncMdmDataService.masterDeleteSync(syncData); - } else { - busiSyncMdmDataService.busiDeleteSync(syncData); - } - } - - //信息已处理 - LOGGER.info("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】数据处理成功:{}", syncDataStr); - } catch (Exception e) { - LOGGER.error("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】处理出错:{}", syncData, e); - if (syncData != null) { - // 保存异常信息和堆栈数据 - syncData.setSyncFailDateTime(TimeTool.getNowTime(true)); - syncData.setSyncFailMessage(ExceptionUtils.getStackTrace(e)); - - //放入MDM 缓存中 - mdmRedis.putObject(getFailRedisKey(syncData), syncData, -1); - } - } finally { - try { - channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - } - - private String getFailRedisKey(MdmSyncData syncData) { - return REDIS_MDM_SYNC_FAIL + "-" + syncData.getSyncSoftType() + ":" + syncData.getSyncDataClassSimpleName() + ":" + syncData.getSyncFailDateTime() + "-" + System.currentTimeMillis(); - } - - public abstract void syncMasterData(String syncDataStr, Channel channel, Message message); - -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java index b3300c8..8fd202b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java @@ -2,10 +2,12 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.apiservice.serviceimpl.mdm.SysToolSyncDataService; import cn.estsh.i3plus.pojo.mdm.bean.busi.core.MdmGearCoreBusiExtd; +import cn.estsh.impp.framework.boot.mdm.mq.BaseMdmDataSyncQueueReceiver; import com.rabbitmq.client.Channel; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.context.annotation.Configuration; import static cn.estsh.i3plus.platform.common.util.MdmConstWords.QUEUE_MDM_SYNC_DATA_CORE; @@ -16,7 +18,8 @@ import static cn.estsh.i3plus.platform.common.util.MdmConstWords.QUEUE_MDM_SYNC_ * @CreateDate : 2020-05-28 16:54 * @Modify: **/ -@Component +@ConditionalOnExpression("'${impp.mq.queue.mdm.sync:true}' == 'true'") +@Configuration public class MdmDataSyncQueueReceiver extends BaseMdmDataSyncQueueReceiver { /** diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 6b4f98a..a65b2cf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -25,7 +25,8 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.stereotype.Component; +import org.springframework.context.annotation.Configuration; + import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -37,8 +38,8 @@ import java.util.List; * @CreateDate : 2018-11-15 22:35 * @Modify: **/ -@ConditionalOnExpression("'${impp.mq.queue.letter}' == 'true'") -@Component +@ConditionalOnExpression("'${impp.mq.queue.letter:true}' == 'true'") +@Configuration public class MessageLetterQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(MessageLetterQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index f7565b0..c8910d0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -21,7 +21,8 @@ import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.stereotype.Component; +import org.springframework.context.annotation.Configuration; + import java.io.IOException; /** @@ -31,8 +32,8 @@ import java.io.IOException; * @CreateDate : 2018-11-15 22:15 * @Modify: **/ -@ConditionalOnExpression("'${impp.mq.queue.mail}' == 'true'") -@Component +@ConditionalOnExpression("'${impp.mq.queue.mail:true}' == 'true'") +@Configuration public class MessageMailQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(MessageMailQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java index d62d190..f8889a4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java @@ -24,7 +24,7 @@ import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.stereotype.Component; +import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.util.ArrayList; @@ -37,8 +37,8 @@ import java.util.List; * @CreateDate : 2018-11-15 22:15 * @Modify: **/ -@ConditionalOnExpression("'${impp.mq.queue.sweb.notice}' == 'true'") -@Component +@ConditionalOnExpression("'${impp.mq.queue.sweb.notice:true}' == 'true'") +@Configuration public class MessageSWebNoticeQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(MessageSWebNoticeQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageTestQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageTestQueueReceiver.java deleted file mode 100644 index b842643..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageTestQueueReceiver.java +++ /dev/null @@ -1,43 +0,0 @@ -//package cn.estsh.i3plus.core.apiservice.mq; -// -//import cn.estsh.i3plus.platform.common.util.PlatformConstWords; -//import com.rabbitmq.client.Channel; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.amqp.core.Message; -//import org.springframework.amqp.rabbit.annotation.RabbitListener; -//import org.springframework.stereotype.Component; -// -//import java.util.Random; -// -///** -// * @Description : 邮件队列处理 -// * @Reference : -// * @Author : yunhao -// * @CreateDate : 2018-11-15 22:15 -// * @Modify: -// **/ -//@Component -//public class MessageTestQueueReceiver { -// private static final Logger LOGGER = LoggerFactory.getLogger(MessageTestQueueReceiver.class); -// Random random = new Random();//默认构造方法 -// -// /** -// * 系统邮件处理队列 -// * -// * @param data 系统消息信息 -// * @param channel 通道 -// * @param message 消息 -// */ -// @RabbitListener(queues = PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER_BAK,exclusive = true,concurrency = "1") -// public void processImppMail(String data, Channel channel, Message message) { -// try { -// -// LOGGER.info("====>> {}" ,data); -// Thread.sleep(random.nextInt(100)); -// channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java index ef83299..dbca05d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java @@ -42,8 +42,8 @@ import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP * @CreateDate : 20-4-26 下午2:32 * @Modify: **/ -@Component -@ConditionalOnExpression("'${impp.mq.queue.letter}' == 'true'") +@ConditionalOnExpression("'${impp.mq.queue.pojo.version:true}' == 'true'") +@Configuration public class PojoVersionQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(PojoVersionQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java index 6edde9a..b64f989 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -23,7 +23,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.stereotype.Component; +import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.util.stream.Collectors; @@ -35,8 +35,8 @@ import java.util.stream.Collectors; * @CreateDate : 2018-12-20 21:56 * @Modify: **/ -@ConditionalOnExpression("'${impp.mq.queue.schedule}' == 'true'") -@Component +@ConditionalOnExpression("'${impp.mq.queue.schedule:true}' == 'true'") +@Configuration public class ScheduleQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java index af897f6..a83b589 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java @@ -12,7 +12,8 @@ import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.util.Map; @@ -27,7 +28,8 @@ import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP * @CreateDate : 19-8-23 下午3:12 * @Modify: **/ -@Component +@ConditionalOnExpression("'${impp.mq.queue.resource:true}' == 'true'") +@Configuration public class SysLocalResourceQueue { private static final Logger LOGGER = LoggerFactory.getLogger(SysLocalResourceQueue.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java deleted file mode 100644 index e0e1d16..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.serviceimpl.base; - -import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiExtdCloud; -import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiModelCloud; -import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; -import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.mdm.bean.base.BaseMdmBusiModelBean; -import cn.estsh.i3plus.pojo.mdm.bean.base.MdmSyncData; -import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; - -import java.util.List; - -/** - * @Description : 业务同步setvice - * @Reference : - * @Author : yunhao - * @CreateDate : 2020-05-15 17:58 - * @Modify: - **/ -public abstract class BaseBusiSyncMdmDataService { - - private IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud; - - private IBaseMdmBusiModelCloud baseMdmBusiModelCloud; - - public BaseBusiSyncMdmDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud baseMdmBusiModelCloud) { - this.baseMdmBusiExtdCloud = baseMdmBusiExtdCloud; - this.baseMdmBusiModelCloud = baseMdmBusiModelCloud; - } - - /** - * 主数据新增同步 - * @param syncData - */ - public void masterInsertSync(MdmSyncData syncData) { - baseMdmBusiExtdCloud.whiteDoProcessMissBusiExtdByMaster(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()]), syncData.getSyncDateUserName()); - } - - /** - * 主数据修改同步 - * @param syncData - */ - public void masterUpdateSync(MdmSyncData syncData) { - BaseResultBean baseResultBean = - baseMdmBusiModelCloud.whiteFindByMasterIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); - if (!baseResultBean.isSuccess()) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) - .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) - .setErrorDetail(baseResultBean.getErrorMsg()) - .build(); - } - - List modelBeanList = baseResultBean.getResultList(); - updateBusiList(transform(modelBeanList)); - } - - /** - * 主数据删除同步 - * @param syncData - */ - public void masterDeleteSync(MdmSyncData syncData) { - baseMdmBusiExtdCloud.whiteDeleteWeaklyByMasterIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()]),syncData.getSyncDateUserName()); - } - - /** - * 业务数据新增同步 - * @param syncData - */ - public void busiInsertSync(MdmSyncData syncData){ - BaseResultBean baseResultBean = - baseMdmBusiModelCloud.whiteFindByIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); - if (!baseResultBean.isSuccess()) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) - .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) - .setErrorDetail(baseResultBean.getErrorMsg()) - .build(); - } - - List modelBeanList = baseResultBean.getResultList(); - insertBusiList(transform(modelBeanList)); - } - - /** - * 业务数据修改同步 - * @param syncData - */ - public void busiUpdateSync(MdmSyncData syncData){ - BaseResultBean baseResultBean = - baseMdmBusiModelCloud.findByIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); - if (!baseResultBean.isSuccess()) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) - .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) - .setErrorDetail(baseResultBean.getErrorMsg()) - .build(); - } - - List modelBeanList = baseResultBean.getResultList(); - updateBusiList(transform(modelBeanList)); - - } - - /** - * 业务数据删除同步 - * @param syncData - */ - public void busiDeleteSync(MdmSyncData syncData){ - deleteBusiList(syncData.getSyncDataId()); - } - - /** - * 类型转换 - * @param syncDataList - * @return - */ - public abstract List transform(List syncDataList); - - /** - * 新增业务数据 - * @param beanList - */ - public abstract void insertBusiList(List beanList); - - /** - * 修改业务数据 - * @param beanList - */ - public abstract void updateBusiList(List beanList); - - /** - * 删除业务数据 - * @param idList - */ - public abstract void deleteBusiList(List idList); - -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java index 0ae905f..01b1afe 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java @@ -9,7 +9,6 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool; -import cn.estsh.impp.framework.boot.license.ImppLicenseTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -78,6 +77,8 @@ public class SystemInitService implements ISystemInitService { @Override @ApiOperation(value = "初始化加载所有数据",notes = "初始化加载所有数据") public void putAndLoadAll() { + try { + type = ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue(); LOGGER.info("加载 SysConfig 信息"); @@ -99,8 +100,9 @@ public class SystemInitService implements ISystemInitService { LOGGER.info("加载 对象版本控制信息"); reloadPojoVersionPlan(); LOGGER.info("加载 对象版本控制信息 信息完成"); - - + }catch (Exception e){ + e.printStackTrace(); + } } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java index 68bc7cf..2cc3088 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysToolService.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService; -import cn.estsh.i3plus.core.apiservice.dao.ITestDao; +import cn.estsh.i3plus.platform.common.tool.BeanCopyTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -12,7 +12,6 @@ import cn.estsh.i3plus.pojo.platform.repository.SysToolRepository; import cn.estsh.i3plus.pojo.platform.repository.SysToolTypeRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.util.ValidatorBean; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -82,24 +81,12 @@ public class SysToolService implements ISysToolService { @Override @ApiOperation(value = "更新硬件信息") public void updateSysTool(SysTool tool) { - // 查询硬件类型名称 - LOGGER.info("硬件类型 TOOL_TYPE :{}", tool); - SysToolType toolType = toolTypeRDao.getById(tool.getToolTypeId()); - ValidatorBean.checkNotNull(toolType); - - SysTool newSysTool = toolRDao.getById(tool.getId()); - newSysTool.setName(tool.getName()); - newSysTool.setToolConnType(tool.getToolConnType()); - newSysTool.setToolDataType(tool.getToolDataType()); - newSysTool.setToolIp(tool.getToolIp()); - newSysTool.setToolPort(tool.getToolPort()); - newSysTool.setToolDescription(tool.getToolDescription()); - newSysTool.setToolTypeId(tool.getToolTypeId()); - newSysTool.setToolTypeNameRdd(toolType.getName()); - newSysTool.setToolOperating(tool.getToolOperating()); - - LOGGER.info("硬件 TOOL :{}",newSysTool); - toolRDao.update(newSysTool); + SysTool orginTool = toolRDao.getById(tool.getId()); + if(orginTool == null){ + orginTool = tool; + } + BeanCopyTool.beanCopy(tool,orginTool); + toolRDao.update(orginTool); } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/mdm/SysToolSyncDataService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/mdm/SysToolSyncDataService.java index 5b29d18..5ae08a0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/mdm/SysToolSyncDataService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/mdm/SysToolSyncDataService.java @@ -1,11 +1,12 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.mdm; import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService; -import cn.estsh.i3plus.core.apiservice.serviceimpl.base.BaseBusiSyncMdmDataService; -import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiExtdCloud; -import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiModelCloud; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.mdm.model.core.MdmGearCoreBusiModel; import cn.estsh.i3plus.pojo.platform.bean.SysTool; +import cn.estsh.impp.framework.boot.mdm.cloud.IBaseMdmBusiExtdCloud; +import cn.estsh.impp.framework.boot.mdm.cloud.IBaseMdmBusiModelCloud; +import cn.estsh.impp.framework.boot.mdm.service.BaseBusiSyncMdmDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -31,13 +32,15 @@ public class SysToolSyncDataService extends BaseBusiSyncMdmDataService transform(List syncDataList) { + public List transform(List syncDataList,String userName) { return syncDataList.stream().map(gearCoreBusiModel -> { SysTool sysTool = new SysTool(); if (gearCoreBusiModel != null && gearCoreBusiModel.getBusi() != null && gearCoreBusiModel.getMaster() != null) { + sysTool.setId(gearCoreBusiModel.getBusi().getId()); sysTool.setName(gearCoreBusiModel.getMaster().getName()); sysTool.setToolIp(gearCoreBusiModel.getMaster().getGearModel()); sysTool.setToolDescription(gearCoreBusiModel.getBusi().getCoreNum()); + ConvertBean.serviceModelInitialize(sysTool,userName); } return sysTool; }).collect(Collectors.toList()); @@ -58,7 +61,7 @@ public class SysToolSyncDataService extends BaseBusiSyncMdmDataService id) { + public void deleteBusiList(List id,String userName) { sysToolService.deleteSysToolByIds(id.toArray(new Long[id.size()])); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java index 92bf6f5..5264265 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java @@ -177,6 +177,7 @@ public class NoSqlPack { public static ElasticSearchPack packEsSysLogConsole(SysLogConsole bean) { ElasticSearchPack result = packElasticSearchPack(bean); + result.andNumberBigger("id",bean.getId()); result.andNumberEquals("softType",bean.getSoftType()); result.andNumberEquals("requestId",bean.getRequestId()); result.andStringLeftLike("logHost",bean.getLogHost());