Compare commits
No commits in common. "develop-20231222" and "main" have entirely different histories.
develop-20
...
main
@ -20,14 +20,14 @@ eureka:
|
|||||||
# 设置使用IP
|
# 设置使用IP
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
# 设置外网IP号
|
# 设置外网IP号
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
|
||||||
# 暴露监控端点
|
# 暴露监控端点
|
||||||
management:
|
management:
|
||||||
|
@ -24,10 +24,6 @@ spring:
|
|||||||
url: ${common.mysql.master.url}
|
url: ${common.mysql.master.url}
|
||||||
username: ${common.mysql.master.username}
|
username: ${common.mysql.master.username}
|
||||||
password: ${common.mysql.master.password}
|
password: ${common.mysql.master.password}
|
||||||
servlet:
|
|
||||||
multipart:
|
|
||||||
max-file-size: 50MB
|
|
||||||
|
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:mapper/*Mapper.xml
|
mapper-locations: classpath*:mapper/*Mapper.xml
|
||||||
|
@ -12,10 +12,10 @@ eureka:
|
|||||||
# 设置使用IP
|
# 设置使用IP
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
# 设置外网IP号
|
# 设置外网IP号
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: false
|
register-with-eureka: false
|
||||||
fetch-registry: false
|
fetch-registry: false
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka/
|
defaultZone: http://192.168.1.169:8610/eureka/
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-standard-service/data-standard-service.jar --server.port=8825 > data-standard-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-standard-service/data-standard-service.jar --server.port=8825 > data-standard-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-visual-service/data-visual-service.jar --server.port=8827 > data-visual-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-visual-service/data-visual-service.jar --server.port=8827 > data-visual-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./email-service/email-service.jar --server.port=8812 > email-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./email-service/email-service.jar --server.port=8812 > email-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./file-service/file-service.jar --server.port=8811 > data-market-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./file-service/file-service.jar --server.port=8811 > data-market-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms1024m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./gateway/gateway.jar --server.port=9538 > gateway.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms1024m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./gateway/gateway.jar --server.port=9538 > gateway.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./quartz-service/quartz-service.jar --server.port=8813 > quartz-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./quartz-service/quartz-service.jar --server.port=8813 > quartz-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,2 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-compare-service.jar --server.port=8096 --spring.profiles.active=dev > data-compare-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-compare-service.jar --server.port=8096 --spring.profiles.active=dev > data-compare-service.log 2>&1 &
|
@ -1,3 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service-integration.jar --server.port=8824 --spring.profiles.active=dev > data-market-service-integration.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service-integration.jar --server.port=8824 --spring.profiles.active=dev > data-market-service-integration.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service.jar --server.port=8822 --spring.profiles.active=dev > data-market-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service.jar --server.port=8822 --spring.profiles.active=dev > data-market-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-metadata-service.jar --server.port=8820 --spring.profiles.active=dev > data-metadata-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-metadata-service.jar --server.port=8820 --spring.profiles.active=dev > data-metadata-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-system-service.jar --server.port=8810 --spring.profiles.active=dev > data-system-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-system-service.jar --server.port=8810 --spring.profiles.active=dev > data-system-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./service-data-dts.jar --server.port=8810 --spring.profiles.active=dev > service-data-dts.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./service-data-dts.jar --server.port=8810 --spring.profiles.active=dev > service-data-dts.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./system-service.jar --server.port=8000 --spring.profiles.active=dev > system-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./system-service.jar --server.port=8000 --spring.profiles.active=dev > system-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service-mapping/data-market-service-mapping.jar --server.port=8823 > data-market-service-mapping.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-market-service-mapping/data-market-service-mapping.jar --server.port=8823 > data-market-service-mapping.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-masterdata-service/data-masterdata-service.jar --server.port=8828 > data-masterdata-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-masterdata-service/data-masterdata-service.jar --server.port=8828 > data-masterdata-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-metadata-service-console/data-metadata-service-console.jar --server.port=8821 > data-metadata-service-console.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-metadata-service-console/data-metadata-service-console.jar --server.port=8821 > data-metadata-service-console.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-quality-service/data-quality-service.jar --server.port=8826 > data-quality-service.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms128m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./data-quality-service/data-quality-service.jar --server.port=8826 > data-quality-service.log 2>&1 &
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
nohup java -jar -Xms1024m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./eureka/eureka.jar --server.port=8610 > eureka.log 2>&1 &
|
source /etc/profile
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
|
||||||
|
nohup java -jar -Xms1024m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 ./eureka/eureka.jar --server.port=8610 > eureka.log 2>&1 &
|
||||||
|
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -33,11 +33,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -1,87 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.api.entity;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 数据源信息表
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author AllDataDC
|
|
||||||
* @date 2022-11-14
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
@TableName(value = "offline_data_file", autoResultMap = true)
|
|
||||||
public class OfflineDataFileEntity {
|
|
||||||
|
|
||||||
private static final long serialVersionUID=1L;
|
|
||||||
|
|
||||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
|
||||||
private LocalDateTime createTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
@TableField(value = "create_by", fill = FieldFill.INSERT)
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
||||||
@TableField(value = "switch_time")
|
|
||||||
private LocalDateTime switchTime;
|
|
||||||
|
|
||||||
@TableField(value = "remark")
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
@TableField(value = "offline_type")
|
|
||||||
private String offlineType;
|
|
||||||
|
|
||||||
@TableField(value = "is_switch")
|
|
||||||
private String isSwitch;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件原始名称
|
|
||||||
*/
|
|
||||||
@TableField(value = "original_file_name")
|
|
||||||
private String originalFileName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
@TableField(value = "file_name")
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件大小
|
|
||||||
*/
|
|
||||||
@TableField(value = "file_size")
|
|
||||||
private Long fileSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 访问路径
|
|
||||||
*/
|
|
||||||
@TableField(value = "file_path")
|
|
||||||
private String filePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件类型
|
|
||||||
*/
|
|
||||||
@TableField(value = "content_type")
|
|
||||||
private String contentType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件来源
|
|
||||||
*/
|
|
||||||
@TableField(value = "file_type")
|
|
||||||
private String fileType;
|
|
||||||
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.api.query;
|
|
||||||
|
|
||||||
import cn.datax.common.base.BaseQueryParams;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 数据源信息表 查询实体
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author AllDataDC
|
|
||||||
* @date 2022-11-14
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class OfflineDataFileQuery extends BaseQueryParams {
|
|
||||||
|
|
||||||
private static final long serialVersionUID=1L;
|
|
||||||
|
|
||||||
private String fileName;
|
|
||||||
}
|
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -29,13 +29,12 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -256,16 +255,4 @@ public class MetadataSourceController extends BaseController {
|
|||||||
metadataSourceService.refreshMetadata();
|
metadataSourceService.refreshMetadata();
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/getMetadatablood")
|
|
||||||
public R getMetadatablood(@RequestBody Map<String, String> params) {
|
|
||||||
List<Map<String, Object>> list = metadataSourceService.getMetadatablood(params.get("sourceId"), params.get("tableId"));
|
|
||||||
return R.ok().setData(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/upload/{type}")
|
|
||||||
public R upload(@RequestParam("file") MultipartFile file, @PathVariable String type) {
|
|
||||||
metadataSourceService.uploadFile(file, type);
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.controller;
|
|
||||||
|
|
||||||
import cn.datax.common.base.BaseController;
|
|
||||||
import cn.datax.common.core.JsonPage;
|
|
||||||
import cn.datax.common.core.R;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.query.OfflineDataFileQuery;
|
|
||||||
import cn.datax.service.data.metadata.service.OfflineDataFileService;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/offline")
|
|
||||||
public class OfflineDataFileController extends BaseController {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private OfflineDataFileService offlineDataFileService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过ID查询信息
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
|
|
||||||
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
|
|
||||||
@GetMapping("/{id}")
|
|
||||||
public R getOfflineDataFileById(@PathVariable String id) {
|
|
||||||
OfflineDataFileEntity offlineDataFileEntity = offlineDataFileService.getOfflineDataFileById(id);
|
|
||||||
return R.ok().setData(offlineDataFileEntity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询信息
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@GetMapping("/page")
|
|
||||||
public R getOfflineDataFilePage(OfflineDataFileQuery offlineDataFileQuery) {
|
|
||||||
QueryWrapper<OfflineDataFileEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.like(StrUtil.isNotBlank(offlineDataFileQuery.getFileName()), "s.file_name", offlineDataFileQuery.getFileName());
|
|
||||||
IPage<OfflineDataFileEntity> page = offlineDataFileService.pageWithAuth(new Page<>(offlineDataFileQuery.getPageNum(), offlineDataFileQuery.getPageSize()), queryWrapper);
|
|
||||||
List<OfflineDataFileEntity> collect = page.getRecords();
|
|
||||||
JsonPage<OfflineDataFileEntity> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
|
|
||||||
return R.ok().setData(jsonPage);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.dao;
|
|
||||||
|
|
||||||
import cn.datax.common.base.BaseDao;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface OfflineDataFileDao extends BaseDao<OfflineDataFileEntity> {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
OfflineDataFileEntity selectById(Serializable id);
|
|
||||||
|
|
||||||
@Override
|
|
||||||
List<OfflineDataFileEntity> selectList(@Param(Constants.WRAPPER) Wrapper<OfflineDataFileEntity> queryWrapper);
|
|
||||||
|
|
||||||
<E extends IPage<OfflineDataFileEntity>> E selectPageWithAuth(E page, @Param(Constants.WRAPPER) Wrapper<OfflineDataFileEntity> queryWrapper, @Param("roles") List<String> roles);
|
|
||||||
}
|
|
@ -6,15 +6,11 @@ import cn.datax.common.database.core.DbColumn;
|
|||||||
import cn.datax.common.database.core.DbTable;
|
import cn.datax.common.database.core.DbTable;
|
||||||
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
||||||
import cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity;
|
|
||||||
import com.aspose.words.Document;
|
import com.aspose.words.Document;
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.hc.core5.http.io.entity.FileEntity;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -55,9 +51,4 @@ public interface MetadataSourceService extends BaseService<MetadataSourceEntity>
|
|||||||
List<MetadataSourceEntity> getMetadataSourceList();
|
List<MetadataSourceEntity> getMetadataSourceList();
|
||||||
|
|
||||||
<E extends IPage<MetadataSourceEntity>> E pageWithAuth(E page, Wrapper<MetadataSourceEntity> queryWrapper);
|
<E extends IPage<MetadataSourceEntity>> E pageWithAuth(E page, Wrapper<MetadataSourceEntity> queryWrapper);
|
||||||
|
|
||||||
List<Map<String, Object>> getMetadatablood(String datasourceId, String tableName);
|
|
||||||
|
|
||||||
OfflineDataFileEntity uploadFile(MultipartFile file, String type);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.service;
|
|
||||||
|
|
||||||
import cn.datax.common.base.BaseService;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 数据源信息表 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author AllDataDC
|
|
||||||
* @date 2022-11-14
|
|
||||||
*/
|
|
||||||
public interface OfflineDataFileService extends BaseService<OfflineDataFileEntity> {
|
|
||||||
|
|
||||||
OfflineDataFileEntity getOfflineDataFileById(String id);
|
|
||||||
|
|
||||||
<E extends IPage<OfflineDataFileEntity>> E pageWithAuth(E page, Wrapper<OfflineDataFileEntity> queryWrapper);
|
|
||||||
|
|
||||||
}
|
|
@ -12,29 +12,32 @@ import cn.datax.common.database.core.DbTable;
|
|||||||
import cn.datax.common.exception.DataException;
|
import cn.datax.common.exception.DataException;
|
||||||
import cn.datax.common.redis.service.RedisService;
|
import cn.datax.common.redis.service.RedisService;
|
||||||
import cn.datax.common.utils.SecurityUtil;
|
import cn.datax.common.utils.SecurityUtil;
|
||||||
import cn.datax.common.utils.ThrowableUtil;
|
|
||||||
import cn.datax.service.data.market.api.entity.DataApiEntity;
|
import cn.datax.service.data.market.api.entity.DataApiEntity;
|
||||||
import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
|
import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
|
||||||
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
||||||
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
||||||
import cn.datax.service.data.metadata.api.entity.*;
|
import cn.datax.service.data.metadata.api.entity.MetadataAuthorizeEntity;
|
||||||
|
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
|
||||||
|
import cn.datax.service.data.metadata.api.entity.MetadataColumnEntity;
|
||||||
|
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
||||||
|
import cn.datax.service.data.metadata.api.entity.MetadataTableEntity;
|
||||||
import cn.datax.service.data.metadata.api.enums.DataLevel;
|
import cn.datax.service.data.metadata.api.enums.DataLevel;
|
||||||
import cn.datax.service.data.metadata.api.enums.SyncStatus;
|
import cn.datax.service.data.metadata.api.enums.SyncStatus;
|
||||||
import cn.datax.service.data.metadata.async.AsyncTask;
|
import cn.datax.service.data.metadata.async.AsyncTask;
|
||||||
import cn.datax.service.data.metadata.dao.*;
|
import cn.datax.service.data.metadata.dao.MetadataAuthorizeDao;
|
||||||
|
import cn.datax.service.data.metadata.dao.MetadataChangeRecordDao;
|
||||||
|
import cn.datax.service.data.metadata.dao.MetadataColumnDao;
|
||||||
|
import cn.datax.service.data.metadata.dao.MetadataSourceDao;
|
||||||
|
import cn.datax.service.data.metadata.dao.MetadataTableDao;
|
||||||
import cn.datax.service.data.metadata.mapstruct.MetadataSourceMapper;
|
import cn.datax.service.data.metadata.mapstruct.MetadataSourceMapper;
|
||||||
import cn.datax.service.data.metadata.service.MetadataSourceService;
|
import cn.datax.service.data.metadata.service.MetadataSourceService;
|
||||||
import cn.datax.service.data.metadata.service.MetadataTableService;
|
|
||||||
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
||||||
import cn.datax.service.data.quality.api.feign.QualityServiceFeign;
|
import cn.datax.service.data.quality.api.feign.QualityServiceFeign;
|
||||||
import cn.datax.service.data.standard.api.entity.ContrastEntity;
|
import cn.datax.service.data.standard.api.entity.ContrastEntity;
|
||||||
import cn.datax.service.data.standard.api.feign.StandardServiceFeign;
|
import cn.datax.service.data.standard.api.feign.StandardServiceFeign;
|
||||||
import cn.datax.service.data.visual.api.entity.DataSetEntity;
|
import cn.datax.service.data.visual.api.entity.DataSetEntity;
|
||||||
import cn.datax.service.data.visual.api.feign.VisualServiceFeign;
|
import cn.datax.service.data.visual.api.feign.VisualServiceFeign;
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.io.FileUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.system.SystemUtil;
|
|
||||||
import com.aspose.words.Document;
|
import com.aspose.words.Document;
|
||||||
import com.aspose.words.MailMerge;
|
import com.aspose.words.MailMerge;
|
||||||
import com.aspose.words.net.System.Data.DataRelation;
|
import com.aspose.words.net.System.Data.DataRelation;
|
||||||
@ -52,16 +55,15 @@ import org.springframework.scheduling.annotation.Async;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.sql.Connection;
|
import java.util.ArrayList;
|
||||||
import java.sql.ResultSet;
|
import java.util.HashSet;
|
||||||
import java.sql.ResultSetMetaData;
|
import java.util.List;
|
||||||
import java.sql.Statement;
|
import java.util.Map;
|
||||||
import java.util.*;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@ -119,12 +121,6 @@ public class MetadataSourceServiceImpl extends BaseServiceImpl<MetadataSourceDao
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisTemplate<String, Object> redisTemplate;
|
private RedisTemplate<String, Object> redisTemplate;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MetadataTableService metadataTableService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private OfflineDataFileDao offlineDataFileDao;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void saveMetadataSource(MetadataSourceDto metadataSourceDto) {
|
public void saveMetadataSource(MetadataSourceDto metadataSourceDto) {
|
||||||
@ -399,88 +395,4 @@ public class MetadataSourceServiceImpl extends BaseServiceImpl<MetadataSourceDao
|
|||||||
Map<String, List<MetadataColumnEntity>> columnListMap = columnEntityList.stream().collect(Collectors.groupingBy(MetadataColumnEntity::getTableId));
|
Map<String, List<MetadataColumnEntity>> columnListMap = columnEntityList.stream().collect(Collectors.groupingBy(MetadataColumnEntity::getTableId));
|
||||||
redisTemplate.opsForHash().putAll(columnKey, columnListMap);
|
redisTemplate.opsForHash().putAll(columnKey, columnListMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Map<String, Object>> getMetadatablood(String datasourceId, String tableId) {
|
|
||||||
Map<String, Map<String,Object>> columns = new LinkedHashMap();
|
|
||||||
Map<String,Object> reslutMap = new LinkedHashMap<>();
|
|
||||||
List<Map<String, Object>> rows = new ArrayList<>();
|
|
||||||
try {
|
|
||||||
MetadataSourceEntity dataSource = super.getById(datasourceId);
|
|
||||||
DbQuery dbQuery = this.getDbQuery(datasourceId);
|
|
||||||
Connection connection = dbQuery.getConnection();
|
|
||||||
Statement statement = connection.createStatement();
|
|
||||||
String sql = "SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" + dataSource.getDbSchema().getDbName() + "' AND REFERENCED_TABLE_NAME IS NOT NULL";
|
|
||||||
if(StrUtil.isNotEmpty(tableId)){
|
|
||||||
MetadataTableEntity metadataTableEntity = metadataTableService.getMetadataTableById(tableId);
|
|
||||||
sql += " AND table_name = '" + metadataTableEntity.getTableName() + "'";
|
|
||||||
}
|
|
||||||
ResultSet resultSet = statement.executeQuery(sql);
|
|
||||||
ResultSetMetaData metaData = resultSet.getMetaData();
|
|
||||||
int columnCount = metaData.getColumnCount();
|
|
||||||
for (int i = 0; i < columnCount; i++) {
|
|
||||||
Map<String,Object> map = new HashMap<>();
|
|
||||||
map.put("name",metaData.getColumnName(i+1));
|
|
||||||
map.put("type",metaData.getColumnTypeName(i+1));
|
|
||||||
columns.put(metaData.getColumnName(i+1),map);
|
|
||||||
}
|
|
||||||
while(resultSet.next()){
|
|
||||||
Map<String, Object> row = new LinkedHashMap<>();
|
|
||||||
for (int i = 0; i < columnCount; i++) {
|
|
||||||
Object object = resultSet.getObject(metaData.getColumnLabel(i+1));
|
|
||||||
if (metaData.getColumnTypeName(i+1).equals("DATETIME") || metaData.getColumnTypeName(i+1).equals("TIMESTAMP") || metaData.getColumnTypeName(i+1).equals("DATE")) {
|
|
||||||
row.put(metaData.getColumnName(i+1),resultSet.getString(metaData.getColumnLabel(i+1)));
|
|
||||||
} else {
|
|
||||||
row.put(metaData.getColumnName(i+1),object);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
rows.add(row);
|
|
||||||
}
|
|
||||||
resultSet.close();//关闭ResultSet对象
|
|
||||||
statement.close();//关闭Statement对象
|
|
||||||
connection.close();//关闭Connection对象
|
|
||||||
reslutMap.put("columns",columns);
|
|
||||||
reslutMap.put("rows",rows);
|
|
||||||
} catch (Exception throwAbles) {
|
|
||||||
}
|
|
||||||
return rows;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OfflineDataFileEntity uploadFile(MultipartFile file, String type) {
|
|
||||||
OfflineDataFileEntity fileEntity = new OfflineDataFileEntity();
|
|
||||||
fileEntity.setContentType(file.getContentType())
|
|
||||||
.setOriginalFileName(file.getOriginalFilename())
|
|
||||||
.setFileSize(file.getSize());
|
|
||||||
String fileName = file.getOriginalFilename();
|
|
||||||
fileEntity.setFileName(fileName);
|
|
||||||
uploadLocalFile(file, fileEntity);
|
|
||||||
// 设置文件来源
|
|
||||||
fileEntity.setFileType("local");
|
|
||||||
|
|
||||||
fileEntity.setOfflineType(type);
|
|
||||||
fileEntity.setIsSwitch("djr");
|
|
||||||
|
|
||||||
// 将文件信息保存到数据库
|
|
||||||
offlineDataFileDao.insert(fileEntity);
|
|
||||||
return fileEntity;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void uploadLocalFile(MultipartFile file, OfflineDataFileEntity fileEntity) {
|
|
||||||
String localPath = System.getProperty(SystemUtil.USER_DIR) + File.separator + "home" + File.separator + "zoomlion" + File.separator + "uploadTemp";
|
|
||||||
File parentFile = new File(localPath);
|
|
||||||
if (!parentFile.exists()) {
|
|
||||||
if (!parentFile.mkdirs()) {
|
|
||||||
throw new RuntimeException("创建保存路径失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fileEntity.setFilePath(localPath + File.separator + fileEntity.getOriginalFileName());
|
|
||||||
File dest = new File(localPath + File.separator + fileEntity.getOriginalFileName());
|
|
||||||
try {
|
|
||||||
file.transferTo(dest);
|
|
||||||
} catch (IOException e) {
|
|
||||||
System.out.println("离线文件上传异常ex={}, StackTrace={}" + e.getMessage() + ThrowableUtil.getStackTrace(e));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
package cn.datax.service.data.metadata.service.impl;
|
|
||||||
|
|
||||||
import cn.datax.common.base.BaseServiceImpl;
|
|
||||||
import cn.datax.common.utils.SecurityUtil;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity;
|
|
||||||
import cn.datax.service.data.metadata.dao.OfflineDataFileDao;
|
|
||||||
import cn.datax.service.data.metadata.service.OfflineDataFileService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 数据源信息表 服务实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author AllDataDC
|
|
||||||
* @date 2022-11-14
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
|
|
||||||
public class OfflineDataFileServiceImpl extends BaseServiceImpl<OfflineDataFileDao, OfflineDataFileEntity> implements OfflineDataFileService {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private OfflineDataFileDao offlineDataFileDao;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OfflineDataFileEntity getOfflineDataFileById(String id) {
|
|
||||||
OfflineDataFileEntity offlineDataFileEntity = super.getById(id);
|
|
||||||
return offlineDataFileEntity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <E extends IPage<OfflineDataFileEntity>> E pageWithAuth(E page, Wrapper<OfflineDataFileEntity> queryWrapper) {
|
|
||||||
boolean admin = SecurityUtil.isAdmin();
|
|
||||||
List<String> roles = new ArrayList<>();
|
|
||||||
if (!admin) {
|
|
||||||
roles = SecurityUtil.getUserRoleIds();
|
|
||||||
}
|
|
||||||
return offlineDataFileDao.selectPageWithAuth(page, queryWrapper, roles);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -20,14 +20,14 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
#jwt
|
#jwt
|
||||||
jwt:
|
jwt:
|
||||||
header: Authorization
|
header: Authorization
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
<mapper namespace="cn.datax.service.data.metadata.dao.OfflineDataFileDao">
|
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
|
||||||
<resultMap id="BaseResultMap" type="cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity">
|
|
||||||
<result column="id" property="id" />
|
|
||||||
<result column="create_by" property="createBy" />
|
|
||||||
<result column="create_time" property="createTime" />
|
|
||||||
<result column="switch_time" property="switchTime" />
|
|
||||||
<result column="remark" property="remark" />
|
|
||||||
<result column="offline_type" property="offlineType" />
|
|
||||||
<result column="is_switch" property="isSwitch" />
|
|
||||||
<result column="original_file_name" property="originalFileName" />
|
|
||||||
<result column="file_name" property="fileName" />
|
|
||||||
<result column="file_size" property="fileSize" />
|
|
||||||
<result column="file_path" property="filePath" />
|
|
||||||
<result column="content_type" property="contentType" />
|
|
||||||
<result column="file_type" property="fileType" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<resultMap id="ExtendResultMap" type="cn.datax.service.data.metadata.api.entity.OfflineDataFileEntity" extends="BaseResultMap">
|
|
||||||
<result column="db_schema" property="dbSchema" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<!-- 通用查询结果列 -->
|
|
||||||
<sql id="Base_Column_List">
|
|
||||||
id,
|
|
||||||
create_by,
|
|
||||||
create_time,
|
|
||||||
switch_time,
|
|
||||||
remark,
|
|
||||||
offline_type,
|
|
||||||
is_switch,
|
|
||||||
original_file_name, file_name, file_size, file_path, content_type, file_type
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<sql id="Source_Column_List">
|
|
||||||
${alias}.id,
|
|
||||||
${alias}.create_by,
|
|
||||||
${alias}.create_time,
|
|
||||||
${alias}.switch_time,
|
|
||||||
${alias}.remark,
|
|
||||||
${alias}.offline_type,
|
|
||||||
${alias}.is_switch,
|
|
||||||
${alias}.original_file_name, ${alias}.file_name, ${alias}.file_size, ${alias}.file_path, ${alias}.content_type, ${alias}.file_type
|
|
||||||
</sql>
|
|
||||||
|
|
||||||
<select id="selectById" resultMap="ExtendResultMap">
|
|
||||||
SELECT
|
|
||||||
<include refid="Source_Column_List"><property name="alias" value="s"/></include>
|
|
||||||
FROM offline_data_file s
|
|
||||||
WHERE 1=1 AND s.id = #{id}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectList" resultMap="BaseResultMap">
|
|
||||||
SELECT
|
|
||||||
<include refid="Base_Column_List"></include>
|
|
||||||
FROM offline_data_file
|
|
||||||
${ew.customSqlSegment}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectPageWithAuth" resultMap="BaseResultMap">
|
|
||||||
SELECT
|
|
||||||
<include refid="Source_Column_List"><property name="alias" value="s"/></include>
|
|
||||||
FROM offline_data_file s
|
|
||||||
<trim prefix="WHERE" prefixOverrides="WHERE |AND |OR ">
|
|
||||||
${ew.customSqlSegment}
|
|
||||||
</trim>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
|
@ -9,7 +9,6 @@ import javax.validation.Valid;
|
|||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -62,8 +61,4 @@ public class CheckRuleDto implements Serializable {
|
|||||||
private String status;
|
private String status;
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
private List<String> transferValue;
|
|
||||||
|
|
||||||
private String qualityType;
|
|
||||||
}
|
}
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
package cn.datax.service.data.quality.api.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ch
|
|
||||||
* @date 2023/12/25 17:18
|
|
||||||
*
|
|
||||||
* 正则校验
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class Regular implements Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 正则表达
|
|
||||||
*/
|
|
||||||
private String regular;
|
|
||||||
}
|
|
@ -32,11 +32,4 @@ public class RuleConfig implements Serializable {
|
|||||||
* 准确性
|
* 准确性
|
||||||
*/
|
*/
|
||||||
private Accuracy accuracy;
|
private Accuracy accuracy;
|
||||||
|
|
||||||
/**
|
|
||||||
* 正则表达
|
|
||||||
*/
|
|
||||||
|
|
||||||
private Regular regular;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -61,10 +61,6 @@ public class CheckReportEntity implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String checkBatch;
|
private String checkBatch;
|
||||||
|
|
||||||
private String checkReportType;
|
|
||||||
|
|
||||||
private int checkTimeConsuming;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 规则名称
|
* 规则名称
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,6 @@ import lombok.Data;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -35,11 +34,6 @@ public class ScheduleJobEntity implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String jobName;
|
private String jobName;
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务类型
|
|
||||||
*/
|
|
||||||
private String jobType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bean名称
|
* bean名称
|
||||||
*/
|
*/
|
||||||
@ -64,11 +58,4 @@ public class ScheduleJobEntity implements Serializable {
|
|||||||
* 状态(1运行 0暂停)
|
* 状态(1运行 0暂停)
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
/**
|
|
||||||
* 最后完成时间
|
|
||||||
*/
|
|
||||||
private Date afterDate;
|
|
||||||
|
|
||||||
private String remark;
|
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,6 @@ public enum RuleItem {
|
|||||||
Integrity("integrity_key", "验证表中必须出现的字段非空"),
|
Integrity("integrity_key", "验证表中必须出现的字段非空"),
|
||||||
Relevance("relevance_key", "验证关联性"),
|
Relevance("relevance_key", "验证关联性"),
|
||||||
Timeliness("timeliness_key", "验证及时性"),
|
Timeliness("timeliness_key", "验证及时性"),
|
||||||
Regular("regular_key","正则表达式"),
|
|
||||||
|
|
||||||
Consistent("consistent_key", "验证用户指定的字段枚举值是否合乎要求");
|
Consistent("consistent_key", "验证用户指定的字段枚举值是否合乎要求");
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
@ -23,6 +23,4 @@ public class CheckRuleQuery extends BaseQueryParams {
|
|||||||
private String ruleSource;
|
private String ruleSource;
|
||||||
private String ruleTable;
|
private String ruleTable;
|
||||||
private String ruleColumn;
|
private String ruleColumn;
|
||||||
|
|
||||||
private String ruleType;
|
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,6 @@ public class CheckReportVo implements Serializable {
|
|||||||
private LocalDateTime checkDate;
|
private LocalDateTime checkDate;
|
||||||
private String checkResult;
|
private String checkResult;
|
||||||
private Integer checkTotalCount;
|
private Integer checkTotalCount;
|
||||||
private String checkReportType;
|
|
||||||
private int checkTimeConsuming;
|
|
||||||
private Integer checkErrorCount;
|
private Integer checkErrorCount;
|
||||||
private String ruleName;
|
private String ruleName;
|
||||||
private String ruleType;
|
private String ruleType;
|
||||||
|
@ -3,7 +3,6 @@ package cn.datax.service.data.quality.api.vo;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -21,10 +20,8 @@ public class ScheduleJobVo implements Serializable {
|
|||||||
private String id;
|
private String id;
|
||||||
private String status;
|
private String status;
|
||||||
private String jobName;
|
private String jobName;
|
||||||
private String jobType;
|
|
||||||
private String beanName;
|
private String beanName;
|
||||||
private String methodName;
|
private String methodName;
|
||||||
private String methodParams;
|
private String methodParams;
|
||||||
private String cronExpression;
|
private String cronExpression;
|
||||||
private Date afterDate; // 最后完成时间
|
|
||||||
}
|
}
|
||||||
|
@ -84,11 +84,6 @@
|
|||||||
<artifactId>data-standard-service-api</artifactId>
|
<artifactId>data-standard-service-api</artifactId>
|
||||||
<version>0.4.x</version>
|
<version>0.4.x</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.platform</groupId>
|
|
||||||
<artifactId>data-metadata-service</artifactId>
|
|
||||||
<version>0.4.x</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -47,7 +47,7 @@ public class StartedUpRunner implements ApplicationRunner {
|
|||||||
List<ScheduleJobEntity> list = scheduleJobService.list(Wrappers.<ScheduleJobEntity>lambdaQuery().eq(ScheduleJobEntity::getStatus, DataConstant.TrueOrFalse.TRUE.getKey()));
|
List<ScheduleJobEntity> list = scheduleJobService.list(Wrappers.<ScheduleJobEntity>lambdaQuery().eq(ScheduleJobEntity::getStatus, DataConstant.TrueOrFalse.TRUE.getKey()));
|
||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(job -> {
|
list.forEach(job -> {
|
||||||
SchedulingRunnable task = new SchedulingRunnable(job.getId(), job.getBeanName(), job.getMethodName(), job.getMethodParams(), job.getJobType());
|
SchedulingRunnable task = new SchedulingRunnable(job.getId(), job.getBeanName(), job.getMethodName(), job.getMethodParams());
|
||||||
cronTaskRegistrar.addCronTask(task, job.getCronExpression());
|
cronTaskRegistrar.addCronTask(task, job.getCronExpression());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,8 @@ public class CheckReportController extends BaseController {
|
|||||||
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleSource()), "r.rule_source", checkReportQuery.getRuleSource());
|
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleSource()), "r.rule_source", checkReportQuery.getRuleSource());
|
||||||
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleTable()), "r.rule_table", checkReportQuery.getRuleTable());
|
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleTable()), "r.rule_table", checkReportQuery.getRuleTable());
|
||||||
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleColumn()), "r.rule_column", checkReportQuery.getRuleColumn());
|
queryWrapper.like(StrUtil.isNotBlank(checkReportQuery.getRuleColumn()), "r.rule_column", checkReportQuery.getRuleColumn());
|
||||||
|
// 确定唯一核查报告
|
||||||
|
queryWrapper.apply("c.check_batch = r.last_check_batch");
|
||||||
IPage<CheckReportEntity> page = checkReportService.page(new Page<>(checkReportQuery.getPageNum(), checkReportQuery.getPageSize()), queryWrapper);
|
IPage<CheckReportEntity> page = checkReportService.page(new Page<>(checkReportQuery.getPageNum(), checkReportQuery.getPageSize()), queryWrapper);
|
||||||
List<CheckReportVo> collect = page.getRecords().stream().map(checkReportMapper::toVO).collect(Collectors.toList());
|
List<CheckReportVo> collect = page.getRecords().stream().map(checkReportMapper::toVO).collect(Collectors.toList());
|
||||||
JsonPage<CheckReportVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
|
JsonPage<CheckReportVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
|
||||||
|
@ -85,16 +85,6 @@ public class CheckRuleController extends BaseController {
|
|||||||
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleSource()), "r.rule_source", checkRuleQuery.getRuleSource());
|
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleSource()), "r.rule_source", checkRuleQuery.getRuleSource());
|
||||||
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleTable()), "r.rule_table", checkRuleQuery.getRuleTable());
|
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleTable()), "r.rule_table", checkRuleQuery.getRuleTable());
|
||||||
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleColumn()), "r.rule_column", checkRuleQuery.getRuleColumn());
|
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleColumn()), "r.rule_column", checkRuleQuery.getRuleColumn());
|
||||||
//结构符合校验过滤
|
|
||||||
if("jg".equals(checkRuleQuery.getRuleType())){
|
|
||||||
queryWrapper.in("t.code","table_jc","length_jc","null_jc","pk_jc","fk_jc");
|
|
||||||
} else if ("gl".equals(checkRuleQuery.getRuleType())){
|
|
||||||
// 关联性
|
|
||||||
queryWrapper.in("t.code","relevance");
|
|
||||||
} else {
|
|
||||||
queryWrapper.in("t.code","unique","integrity","accuracy","consistent","regular","timeliness");
|
|
||||||
}
|
|
||||||
// queryWrapper.in("t.code","")
|
|
||||||
IPage<CheckRuleEntity> page = checkRuleService.page(new Page<>(checkRuleQuery.getPageNum(), checkRuleQuery.getPageSize()), queryWrapper);
|
IPage<CheckRuleEntity> page = checkRuleService.page(new Page<>(checkRuleQuery.getPageNum(), checkRuleQuery.getPageSize()), queryWrapper);
|
||||||
List<CheckRuleVo> collect = page.getRecords().stream().map(checkRuleMapper::toVO).collect(Collectors.toList());
|
List<CheckRuleVo> collect = page.getRecords().stream().map(checkRuleMapper::toVO).collect(Collectors.toList());
|
||||||
JsonPage<CheckRuleVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
|
JsonPage<CheckRuleVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
|
||||||
@ -114,7 +104,6 @@ public class CheckRuleController extends BaseController {
|
|||||||
return R.ok().setData(checkRuleMapper.toVO(checkRuleEntity));
|
return R.ok().setData(checkRuleMapper.toVO(checkRuleEntity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改
|
* 修改
|
||||||
* @param checkRule
|
* @param checkRule
|
||||||
@ -156,15 +145,4 @@ public class CheckRuleController extends BaseController {
|
|||||||
checkRuleService.deleteCheckRuleBatch(ids);
|
checkRuleService.deleteCheckRuleBatch(ids);
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/listSourceIdBytable/{id}/ruleId/{ruleId}")
|
|
||||||
public R listSourceIdBytable(@PathVariable String id,@PathVariable String ruleId) {
|
|
||||||
QueryWrapper<CheckRuleEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.eq("rule_source_id",id);
|
|
||||||
queryWrapper.eq("rule_item_id",ruleId);
|
|
||||||
List<CheckRuleEntity> checkRuleList = checkRuleService.list(queryWrapper);
|
|
||||||
return R.ok().setData(checkRuleMapper.toVO(checkRuleList));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
package cn.datax.service.data.quality.controller;
|
package cn.datax.service.data.quality.controller;
|
||||||
|
|
||||||
import cn.datax.common.base.BaseController;
|
|
||||||
import cn.datax.common.core.JsonPage;
|
import cn.datax.common.core.JsonPage;
|
||||||
import cn.datax.common.core.R;
|
import cn.datax.common.core.R;
|
||||||
import cn.datax.common.validate.ValidationGroups;
|
|
||||||
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
||||||
import cn.datax.service.data.quality.api.query.ScheduleJobQuery;
|
|
||||||
import cn.datax.service.data.quality.api.vo.ScheduleJobVo;
|
import cn.datax.service.data.quality.api.vo.ScheduleJobVo;
|
||||||
|
import cn.datax.service.data.quality.api.query.ScheduleJobQuery;
|
||||||
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
|
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
|
||||||
import cn.datax.service.data.quality.service.ScheduleJobService;
|
import cn.datax.service.data.quality.service.ScheduleJobService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
@ -17,10 +15,10 @@ import io.swagger.annotations.ApiImplicitParam;
|
|||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Date;
|
import cn.datax.common.base.BaseController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -76,61 +74,6 @@ public class ScheduleJobController extends BaseController {
|
|||||||
return R.ok().setData(jsonPage);
|
return R.ok().setData(jsonPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加
|
|
||||||
* @param scheduleJob
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "添加信息", notes = "根据checkRule对象添加信息")
|
|
||||||
@ApiImplicitParam(name = "scheduleJob", value = "详细实体scheduleJob", required = true, dataType = "scheduleJob")
|
|
||||||
@PostMapping()
|
|
||||||
public R saveScheduleJob(@RequestBody @Validated({ValidationGroups.Insert.class}) ScheduleJobEntity scheduleJob) {
|
|
||||||
ScheduleJobEntity scheduleJobEntity = scheduleJobService.saveScheduleJob(scheduleJob);
|
|
||||||
return R.ok().setData(scheduleJobEntity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改
|
|
||||||
* @param scheduleJob
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "修改信息", notes = "根据url的id来指定修改对象,并根据传过来的信息来修改详细信息")
|
|
||||||
@ApiImplicitParams({
|
|
||||||
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path"),
|
|
||||||
@ApiImplicitParam(name = "scheduleJob", value = "详细实体scheduleJob", required = true, dataType = "scheduleJob")
|
|
||||||
})
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public R updateScheduleJob(@PathVariable String id, @RequestBody @Validated({ValidationGroups.Update.class}) ScheduleJobEntity scheduleJob) {
|
|
||||||
ScheduleJobEntity scheduleJobEntity = scheduleJobService.updateScheduleJob(scheduleJob);
|
|
||||||
return R.ok().setData(scheduleJobEntity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除
|
|
||||||
* @param id
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
|
|
||||||
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
|
|
||||||
@DeleteMapping("/{id}")
|
|
||||||
public R deleteScheduleJobById(@PathVariable String id) {
|
|
||||||
scheduleJobService.deleteScheduleJobById(id);
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除
|
|
||||||
* @param ids
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "批量删除", notes = "根据url的ids来批量删除对象")
|
|
||||||
@ApiImplicitParam(name = "ids", value = "ID集合", required = true, dataType = "List", paramType = "path")
|
|
||||||
@DeleteMapping("/batch/{ids}")
|
|
||||||
public R deleteCheckRuleBatch(@PathVariable List<String> ids) {
|
|
||||||
scheduleJobService.deleteScheduleJobBatch(ids);
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 暂停任务
|
* 暂停任务
|
||||||
* @param id
|
* @param id
|
||||||
@ -167,11 +110,6 @@ public class ScheduleJobController extends BaseController {
|
|||||||
@PostMapping("/run/{id}")
|
@PostMapping("/run/{id}")
|
||||||
public R runScheduleJobById(@PathVariable("id") String id) {
|
public R runScheduleJobById(@PathVariable("id") String id) {
|
||||||
scheduleJobService.runScheduleJobById(id);
|
scheduleJobService.runScheduleJobById(id);
|
||||||
QueryWrapper<ScheduleJobEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.eq("id", id);
|
|
||||||
ScheduleJobEntity updatedEntity = new ScheduleJobEntity();
|
|
||||||
updatedEntity.setAfterDate(new Date());
|
|
||||||
scheduleJobService.update(updatedEntity,queryWrapper);
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,14 +25,11 @@ public class SchedulingRunnable implements Runnable {
|
|||||||
|
|
||||||
private String params;
|
private String params;
|
||||||
|
|
||||||
private String jobType;
|
public SchedulingRunnable(String id, String beanName, String methodName, String params) {
|
||||||
|
|
||||||
public SchedulingRunnable(String id, String beanName, String methodName, String params, String jobType) {
|
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.beanName = beanName;
|
this.beanName = beanName;
|
||||||
this.methodName = methodName;
|
this.methodName = methodName;
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.jobType = jobType;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -50,7 +47,6 @@ public class SchedulingRunnable implements Runnable {
|
|||||||
}
|
}
|
||||||
batch = DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN);
|
batch = DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN);
|
||||||
map.put("batch", batch);
|
map.put("batch", batch);
|
||||||
map.put("jobType", jobType);
|
|
||||||
ReflectionUtils.makeAccessible(method);
|
ReflectionUtils.makeAccessible(method);
|
||||||
method.invoke(target, map);
|
method.invoke(target, map);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
package cn.datax.service.data.quality.schedule.rules;
|
|
||||||
|
|
||||||
import cn.datax.common.database.constants.DbType;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author ch
|
|
||||||
* @date 2023/12/25 18:14
|
|
||||||
*/
|
|
||||||
public class RegularRule implements RuleItem{
|
|
||||||
private static String REGULAR = "regular";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String parse(DbType dbType, String table, String column, Map<String, Object> map) {
|
|
||||||
final StringBuilder builder = new StringBuilder();
|
|
||||||
switch (dbType) {
|
|
||||||
case ORACLE:
|
|
||||||
case ORACLE_12C:
|
|
||||||
case MYSQL:
|
|
||||||
// mysql 执行正则
|
|
||||||
builder.append("SELECT SUM(CASE WHEN ").append(column).append(" REGEXP ").append("'"+map.get(REGULAR)+"'").append(" != '' THEN 0 ELSE 1 END),").append(" COUNT(*) FROM ").append(table);
|
|
||||||
break;
|
|
||||||
case MARIADB:
|
|
||||||
case SQL_SERVER:
|
|
||||||
case SQL_SERVER2008:
|
|
||||||
case POSTGRE_SQL:
|
|
||||||
case OTHER:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return builder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String code() {
|
|
||||||
return "timeliness_key";
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,5 @@
|
|||||||
package cn.datax.service.data.quality.schedule.rules;
|
package cn.datax.service.data.quality.schedule.rules;
|
||||||
|
|
||||||
import cn.datax.service.data.quality.api.dto.Regular;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -15,7 +13,6 @@ public class RuleItemRegistry {
|
|||||||
this.rule_item_map.put("integrity_key", new IntegrityRule());
|
this.rule_item_map.put("integrity_key", new IntegrityRule());
|
||||||
this.rule_item_map.put("relevance_key", new RelevanceRule());
|
this.rule_item_map.put("relevance_key", new RelevanceRule());
|
||||||
this.rule_item_map.put("timeliness_key", new TimelinessRule());
|
this.rule_item_map.put("timeliness_key", new TimelinessRule());
|
||||||
this.rule_item_map.put("regular_key", new RegularRule());
|
|
||||||
this.rule_item_map.put("accuracy_key_length", new AccuracyLengthRule());
|
this.rule_item_map.put("accuracy_key_length", new AccuracyLengthRule());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,8 +65,6 @@ public class QualityTask {
|
|||||||
tasks.add(task);
|
tasks.add(task);
|
||||||
});
|
});
|
||||||
List<Future<CheckReportEntity>> futures;
|
List<Future<CheckReportEntity>> futures;
|
||||||
long checkConsumeTime = 0L;
|
|
||||||
long startTime = System.currentTimeMillis();
|
|
||||||
try {
|
try {
|
||||||
futures = threadPoolExecutor.invokeAll(tasks);
|
futures = threadPoolExecutor.invokeAll(tasks);
|
||||||
// 处理线程返回结果
|
// 处理线程返回结果
|
||||||
@ -78,18 +76,13 @@ public class QualityTask {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
checkConsumeTime = System.currentTimeMillis() - startTime;
|
|
||||||
// 关闭线程池
|
// 关闭线程池
|
||||||
threadPoolExecutor.shutdown();
|
threadPoolExecutor.shutdown();
|
||||||
// 核查报告
|
// 核查报告
|
||||||
long finalCheckConsumeTime = checkConsumeTime;
|
|
||||||
result.forEach(s -> {
|
result.forEach(s -> {
|
||||||
// 插入核查结果正常的数据
|
// 插入核查结果正常的数据
|
||||||
String status = StrUtil.isBlank(s.getCheckResult()) ? DataConstant.TrueOrFalse.TRUE.getKey() : DataConstant.TrueOrFalse.FALSE.getKey();
|
String status = StrUtil.isBlank(s.getCheckResult()) ? DataConstant.TrueOrFalse.TRUE.getKey() : DataConstant.TrueOrFalse.FALSE.getKey();
|
||||||
if (StrUtil.isBlank(s.getCheckResult())) {
|
if (StrUtil.isBlank(s.getCheckResult())) {
|
||||||
s.setCheckTimeConsuming((int) finalCheckConsumeTime);
|
|
||||||
s.setCheckResult(DataConstant.TrueOrFalse.TRUE.getKey());
|
|
||||||
s.setCheckReportType((String) map.get("jobType"));
|
|
||||||
s.setCheckBatch((String) map.get("batch"));
|
s.setCheckBatch((String) map.get("batch"));
|
||||||
checkReportService.save(s);
|
checkReportService.save(s);
|
||||||
// 更新最近核查批次号
|
// 更新最近核查批次号
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
package cn.datax.service.data.quality.service;
|
package cn.datax.service.data.quality.service;
|
||||||
|
|
||||||
import cn.datax.service.data.quality.api.dto.CheckRuleDto;
|
|
||||||
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
|
||||||
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
||||||
import cn.datax.common.base.BaseService;
|
import cn.datax.common.base.BaseService;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 数据质量监控任务信息表 服务类
|
* 数据质量监控任务信息表 服务类
|
||||||
@ -19,14 +15,6 @@ public interface ScheduleJobService extends BaseService<ScheduleJobEntity> {
|
|||||||
|
|
||||||
ScheduleJobEntity getScheduleJobById(String id);
|
ScheduleJobEntity getScheduleJobById(String id);
|
||||||
|
|
||||||
ScheduleJobEntity saveScheduleJob(ScheduleJobEntity scheduleJob);
|
|
||||||
|
|
||||||
ScheduleJobEntity updateScheduleJob(ScheduleJobEntity scheduleJob);
|
|
||||||
|
|
||||||
void deleteScheduleJobById(String id);
|
|
||||||
|
|
||||||
void deleteScheduleJobBatch(List<String> ids);
|
|
||||||
|
|
||||||
void pauseScheduleJobById(String id);
|
void pauseScheduleJobById(String id);
|
||||||
|
|
||||||
void resumeScheduleJobById(String id);
|
void resumeScheduleJobById(String id);
|
||||||
|
@ -4,8 +4,12 @@ import cn.datax.common.base.BaseServiceImpl;
|
|||||||
import cn.datax.common.core.RedisConstant;
|
import cn.datax.common.core.RedisConstant;
|
||||||
import cn.datax.common.database.constants.DbType;
|
import cn.datax.common.database.constants.DbType;
|
||||||
import cn.datax.common.redis.service.RedisService;
|
import cn.datax.common.redis.service.RedisService;
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataTableEntity;
|
import cn.datax.service.data.quality.api.dto.Accuracy;
|
||||||
import cn.datax.service.data.quality.api.dto.*;
|
import cn.datax.service.data.quality.api.dto.CheckRuleDto;
|
||||||
|
import cn.datax.service.data.quality.api.dto.Consistent;
|
||||||
|
import cn.datax.service.data.quality.api.dto.Relevance;
|
||||||
|
import cn.datax.service.data.quality.api.dto.RuleConfig;
|
||||||
|
import cn.datax.service.data.quality.api.dto.Timeliness;
|
||||||
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
||||||
import cn.datax.service.data.quality.api.enums.RuleItem;
|
import cn.datax.service.data.quality.api.enums.RuleItem;
|
||||||
import cn.datax.service.data.quality.dao.CheckRuleDao;
|
import cn.datax.service.data.quality.dao.CheckRuleDao;
|
||||||
@ -45,49 +49,25 @@ public class CheckRuleServiceImpl extends BaseServiceImpl<CheckRuleDao, CheckRul
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisService redisService;
|
private RedisService redisService;
|
||||||
|
|
||||||
/*@Autowired
|
|
||||||
private MetadataTableDao metadataTableDao;*/
|
|
||||||
|
|
||||||
private static String BIND_GB_CODE = "gb_code";
|
private static String BIND_GB_CODE = "gb_code";
|
||||||
private static String BIND_GB_NAME = "gb_name";
|
private static String BIND_GB_NAME = "gb_name";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public CheckRuleEntity saveCheckRule(CheckRuleDto checkRuleDto) {
|
public CheckRuleEntity saveCheckRule(CheckRuleDto checkRuleDto) {
|
||||||
|
CheckRuleEntity checkRule = checkRuleMapper.toEntity(checkRuleDto);
|
||||||
// 结构性检测
|
String sql = parseSql(checkRule);
|
||||||
if("jg".equals(checkRuleDto.getQualityType())){
|
checkRule.setRuleSql(sql);
|
||||||
CheckRuleEntity checkRule = null;
|
checkRuleDao.insert(checkRule);
|
||||||
for (int i = 0; i < checkRuleDto.getTransferValue().size(); i++) {
|
return checkRule;
|
||||||
String currentString = checkRuleDto.getTransferValue().get(i);
|
|
||||||
|
|
||||||
QueryWrapper<MetadataTableEntity> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.eq("source_id", checkRuleDto.getRuleSourceId());
|
|
||||||
queryWrapper.eq("table_name",currentString);
|
|
||||||
//MetadataTableEntity metadataTableEntity = metadataTableDao.selectOne(queryWrapper);
|
|
||||||
checkRule = checkRuleMapper.toEntity(checkRuleDto);
|
|
||||||
checkRule.setRuleTable(currentString);
|
|
||||||
//checkRule.setRuleTableId(metadataTableEntity.getId());
|
|
||||||
checkRuleDao.insert(checkRule);
|
|
||||||
}
|
|
||||||
return checkRule;
|
|
||||||
}else {
|
|
||||||
CheckRuleEntity checkRule = checkRuleMapper.toEntity(checkRuleDto);
|
|
||||||
String sql = parseSql(checkRule);
|
|
||||||
checkRule.setRuleSql(sql);
|
|
||||||
checkRuleDao.insert(checkRule);
|
|
||||||
return checkRule;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public CheckRuleEntity updateCheckRule(CheckRuleDto checkRuleDto) {
|
public CheckRuleEntity updateCheckRule(CheckRuleDto checkRuleDto) {
|
||||||
CheckRuleEntity checkRule = checkRuleMapper.toEntity(checkRuleDto);
|
CheckRuleEntity checkRule = checkRuleMapper.toEntity(checkRuleDto);
|
||||||
if(!"jg".equals(checkRuleDto.getQualityType())){
|
String sql = parseSql(checkRule);
|
||||||
String sql = parseSql(checkRule);
|
checkRule.setRuleSql(sql);
|
||||||
checkRule.setRuleSql(sql);
|
|
||||||
}
|
|
||||||
checkRuleDao.updateById(checkRule);
|
checkRuleDao.updateById(checkRule);
|
||||||
return checkRule;
|
return checkRule;
|
||||||
}
|
}
|
||||||
@ -115,7 +95,6 @@ public class CheckRuleServiceImpl extends BaseServiceImpl<CheckRuleDao, CheckRul
|
|||||||
return checkRuleDao.selectOne(new QueryWrapper<CheckRuleEntity>().eq("rule_source_id", sourceId).last("limit 1"));
|
return checkRuleDao.selectOne(new QueryWrapper<CheckRuleEntity>().eq("rule_source_id", sourceId).last("limit 1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String parseSql(CheckRuleEntity checkRule) {
|
private String parseSql(CheckRuleEntity checkRule) {
|
||||||
RuleConfig ruleConfig = checkRule.getRuleConfig();
|
RuleConfig ruleConfig = checkRule.getRuleConfig();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
@ -153,11 +132,6 @@ public class CheckRuleServiceImpl extends BaseServiceImpl<CheckRuleDao, CheckRul
|
|||||||
Accuracy accuracy = ruleConfig.getAccuracy();
|
Accuracy accuracy = ruleConfig.getAccuracy();
|
||||||
map.put("max_length", accuracy.getMaxLength());
|
map.put("max_length", accuracy.getMaxLength());
|
||||||
break;
|
break;
|
||||||
// 正则表达
|
|
||||||
case Regular:
|
|
||||||
Regular regular = ruleConfig.getRegular();
|
|
||||||
map.put("regular", regular.getRegular());
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,19 @@
|
|||||||
package cn.datax.service.data.quality.service.impl;
|
package cn.datax.service.data.quality.service.impl;
|
||||||
|
|
||||||
import cn.datax.common.base.BaseServiceImpl;
|
|
||||||
import cn.datax.common.core.DataConstant;
|
import cn.datax.common.core.DataConstant;
|
||||||
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
|
||||||
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
import cn.datax.service.data.quality.api.entity.ScheduleJobEntity;
|
||||||
import cn.datax.service.data.quality.dao.ScheduleJobDao;
|
|
||||||
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
|
|
||||||
import cn.datax.service.data.quality.schedule.CronTaskRegistrar;
|
import cn.datax.service.data.quality.schedule.CronTaskRegistrar;
|
||||||
import cn.datax.service.data.quality.schedule.SchedulingRunnable;
|
import cn.datax.service.data.quality.schedule.SchedulingRunnable;
|
||||||
import cn.datax.service.data.quality.service.ScheduleJobService;
|
import cn.datax.service.data.quality.service.ScheduleJobService;
|
||||||
|
import cn.datax.service.data.quality.mapstruct.ScheduleJobMapper;
|
||||||
|
import cn.datax.service.data.quality.dao.ScheduleJobDao;
|
||||||
|
import cn.datax.common.base.BaseServiceImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 数据质量监控任务信息表 服务实现类
|
* 数据质量监控任务信息表 服务实现类
|
||||||
@ -32,9 +29,6 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ScheduleJobDao scheduleJobDao;
|
private ScheduleJobDao scheduleJobDao;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ScheduleJobMapper scheduleJobMapper;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CronTaskRegistrar cronTaskRegistrar;
|
private CronTaskRegistrar cronTaskRegistrar;
|
||||||
|
|
||||||
@ -44,36 +38,10 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
|
|||||||
return scheduleJobEntity;
|
return scheduleJobEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public ScheduleJobEntity saveScheduleJob(ScheduleJobEntity scheduleJob) {
|
|
||||||
scheduleJobDao.insert(scheduleJob);
|
|
||||||
return scheduleJob;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public ScheduleJobEntity updateScheduleJob(ScheduleJobEntity scheduleJob) {
|
|
||||||
scheduleJobDao.updateById(scheduleJob);
|
|
||||||
return scheduleJob;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void deleteScheduleJobById(String id) {
|
|
||||||
scheduleJobDao.deleteById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void deleteScheduleJobBatch(List<String> ids) {
|
|
||||||
scheduleJobDao.deleteBatchIds(ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void pauseScheduleJobById(String id) {
|
public void pauseScheduleJobById(String id) {
|
||||||
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
||||||
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams(), scheduleJobEntity.getJobType());
|
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams());
|
||||||
cronTaskRegistrar.removeCronTask(task);
|
cronTaskRegistrar.removeCronTask(task);
|
||||||
scheduleJobEntity.setStatus(DataConstant.TrueOrFalse.FALSE.getKey());
|
scheduleJobEntity.setStatus(DataConstant.TrueOrFalse.FALSE.getKey());
|
||||||
scheduleJobDao.updateById(scheduleJobEntity);
|
scheduleJobDao.updateById(scheduleJobEntity);
|
||||||
@ -82,7 +50,7 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
|
|||||||
@Override
|
@Override
|
||||||
public void resumeScheduleJobById(String id) {
|
public void resumeScheduleJobById(String id) {
|
||||||
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
||||||
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams(), scheduleJobEntity.getJobType());
|
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams());
|
||||||
cronTaskRegistrar.addCronTask(task, scheduleJobEntity.getCronExpression());
|
cronTaskRegistrar.addCronTask(task, scheduleJobEntity.getCronExpression());
|
||||||
scheduleJobEntity.setStatus(DataConstant.TrueOrFalse.TRUE.getKey());
|
scheduleJobEntity.setStatus(DataConstant.TrueOrFalse.TRUE.getKey());
|
||||||
scheduleJobDao.updateById(scheduleJobEntity);
|
scheduleJobDao.updateById(scheduleJobEntity);
|
||||||
@ -92,7 +60,7 @@ public class ScheduleJobServiceImpl extends BaseServiceImpl<ScheduleJobDao, Sche
|
|||||||
@Async("taskExecutor")
|
@Async("taskExecutor")
|
||||||
public void runScheduleJobById(String id) {
|
public void runScheduleJobById(String id) {
|
||||||
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
ScheduleJobEntity scheduleJobEntity = super.getById(id);
|
||||||
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams(), scheduleJobEntity.getJobType());
|
SchedulingRunnable task = new SchedulingRunnable(id, scheduleJobEntity.getBeanName(), scheduleJobEntity.getMethodName(), scheduleJobEntity.getMethodParams());
|
||||||
task.run();
|
task.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
<result column="check_total_count" property="checkTotalCount" />
|
<result column="check_total_count" property="checkTotalCount" />
|
||||||
<result column="check_error_count" property="checkErrorCount" />
|
<result column="check_error_count" property="checkErrorCount" />
|
||||||
<result column="check_batch" property="checkBatch" />
|
<result column="check_batch" property="checkBatch" />
|
||||||
<result column="check_report_type" property="checkReportType" />
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="ExtendResultMap" type="cn.datax.service.data.quality.api.entity.CheckReportEntity" extends="BaseResultMap">
|
<resultMap id="ExtendResultMap" type="cn.datax.service.data.quality.api.entity.CheckReportEntity" extends="BaseResultMap">
|
||||||
@ -25,12 +24,12 @@
|
|||||||
<!-- 通用查询结果列 -->
|
<!-- 通用查询结果列 -->
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id,
|
id,
|
||||||
check_rule_id, check_date, check_result, check_total_count, check_error_count, check_batch, check_report_type, check_time_consuming
|
check_rule_id, check_date, check_result, check_total_count, check_error_count, check_batch
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="Report_Column_List">
|
<sql id="Report_Column_List">
|
||||||
${alias}.id,
|
${alias}.id,
|
||||||
${alias}.check_rule_id, ${alias}.check_date, ${alias}.check_result, ${alias}.check_total_count, ${alias}.check_error_count, ${alias}.check_batch, ${alias}.check_report_type, ${alias}.check_time_consuming
|
${alias}.check_rule_id, ${alias}.check_date, ${alias}.check_result, ${alias}.check_total_count, ${alias}.check_error_count, ${alias}.check_batch
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectPage" resultMap="ExtendResultMap">
|
<select id="selectPage" resultMap="ExtendResultMap">
|
||||||
@ -52,8 +51,6 @@
|
|||||||
<result column="rule_level_id" property="ruleLevelId" />
|
<result column="rule_level_id" property="ruleLevelId" />
|
||||||
<result column="rule_level_name" property="ruleLevelName" />
|
<result column="rule_level_name" property="ruleLevelName" />
|
||||||
<result column="check_error_count" property="checkErrorCount" />
|
<result column="check_error_count" property="checkErrorCount" />
|
||||||
<result column="check_report_type" property="checkReportType" />
|
|
||||||
<result column="check_time_consuming" property="checkTimeConsuming" />
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="ExtendReportResultMap" type="cn.datax.service.data.quality.api.entity.DataReportEntity" extends="ReportResultMap">
|
<resultMap id="ExtendReportResultMap" type="cn.datax.service.data.quality.api.entity.DataReportEntity" extends="ReportResultMap">
|
||||||
@ -63,8 +60,6 @@
|
|||||||
<result column="rule_column_name" property="ruleColumnName" />
|
<result column="rule_column_name" property="ruleColumnName" />
|
||||||
<result column="rule_column_comment" property="ruleColumnComment" />
|
<result column="rule_column_comment" property="ruleColumnComment" />
|
||||||
<result column="check_total_count" property="checkTotalCount" />
|
<result column="check_total_count" property="checkTotalCount" />
|
||||||
<result column="check_report_type" property="checkReportType" />
|
|
||||||
<result column="check_time_consuming" property="checkTimeConsuming" />
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="getReportBySource" resultMap="ReportResultMap">
|
<select id="getReportBySource" resultMap="ReportResultMap">
|
||||||
|
@ -7,20 +7,17 @@
|
|||||||
<result column="id" property="id" />
|
<result column="id" property="id" />
|
||||||
<result column="status" property="status" />
|
<result column="status" property="status" />
|
||||||
<result column="job_name" property="jobName" />
|
<result column="job_name" property="jobName" />
|
||||||
<result column="job_type" property="jobType" />
|
|
||||||
<result column="bean_name" property="beanName" />
|
<result column="bean_name" property="beanName" />
|
||||||
<result column="method_name" property="methodName" />
|
<result column="method_name" property="methodName" />
|
||||||
<result column="method_params" property="methodParams" />
|
<result column="method_params" property="methodParams" />
|
||||||
<result column="cron_expression" property="cronExpression" />
|
<result column="cron_expression" property="cronExpression" />
|
||||||
<result column="after_date" property="afterDate" />
|
|
||||||
<result column="remark" property="remark" />
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 通用查询结果列 -->
|
<!-- 通用查询结果列 -->
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id,
|
id,
|
||||||
status,
|
status,
|
||||||
job_name, job_type, bean_name, method_name, method_params, cron_expression, after_date, remark
|
job_name, bean_name, method_name, method_params, cron_expression
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -22,11 +22,11 @@ eureka:
|
|||||||
# 设置使用IP
|
# 设置使用IP
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
# 设置外网IP号
|
# 设置外网IP号
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
@ -63,7 +63,7 @@ public class AuthorizationController {
|
|||||||
public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
|
public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
|
||||||
// 密码解密
|
// 密码解密
|
||||||
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword());
|
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword());
|
||||||
/* // 查询验证码
|
// 查询验证码
|
||||||
String code = (String) redisUtils.get(authUser.getUuid());
|
String code = (String) redisUtils.get(authUser.getUuid());
|
||||||
// 清除验证码
|
// 清除验证码
|
||||||
redisUtils.del(authUser.getUuid());
|
redisUtils.del(authUser.getUuid());
|
||||||
@ -72,7 +72,7 @@ public class AuthorizationController {
|
|||||||
}
|
}
|
||||||
if (StringUtils.isBlank(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) {
|
if (StringUtils.isBlank(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) {
|
||||||
throw new BadRequestException("验证码错误");
|
throw new BadRequestException("验证码错误");
|
||||||
}*/
|
}
|
||||||
UsernamePasswordAuthenticationToken authenticationToken =
|
UsernamePasswordAuthenticationToken authenticationToken =
|
||||||
new UsernamePasswordAuthenticationToken(authUser.getUsername(), password);
|
new UsernamePasswordAuthenticationToken(authUser.getUsername(), password);
|
||||||
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
|
||||||
|
@ -46,11 +46,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka/
|
defaultZone: http://192.168.1.169:8610/eureka/
|
@ -20,11 +20,11 @@ eureka:
|
|||||||
instance:
|
instance:
|
||||||
lease-renewal-interval-in-seconds: 20
|
lease-renewal-interval-in-seconds: 20
|
||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.169
|
||||||
client:
|
client:
|
||||||
register-with-eureka: true
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
service-url:
|
service-url:
|
||||||
defaultZone: http://192.168.1.217:8610/eureka
|
defaultZone: http://192.168.1.169:8610/eureka
|
||||||
|
Loading…
x
Reference in New Issue
Block a user