Merge remote-tracking branch 'origin/dev' into dev
commit
634468bc85
|
|
@ -6,10 +6,7 @@ import io.swagger.annotations.ApiParam;
|
||||||
import org.qinan.safetyeval.client.api.FileUploadApi;
|
import org.qinan.safetyeval.client.api.FileUploadApi;
|
||||||
import org.qinan.safetyeval.client.co.FileInfoCO;
|
import org.qinan.safetyeval.client.co.FileInfoCO;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
@ -34,6 +31,12 @@ public class FileUploadPublicController {
|
||||||
|
|
||||||
// ==================== 公开上传 ====================
|
// ==================== 公开上传 ====================
|
||||||
|
|
||||||
|
@ApiOperation("测试接口")
|
||||||
|
@GetMapping("/helloword")
|
||||||
|
public SingleResponse<String> helloword() {
|
||||||
|
return SingleResponse.success("helloword");
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation("公开上传单个文件(创建人默认 system)")
|
@ApiOperation("公开上传单个文件(创建人默认 system)")
|
||||||
@PostMapping("/upload")
|
@PostMapping("/upload")
|
||||||
public SingleResponse<FileInfoCO> uploadPublic(
|
public SingleResponse<FileInfoCO> uploadPublic(
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,26 @@
|
||||||
<version>8.0.33</version>
|
<version>8.0.33</version>
|
||||||
<scope>runtime</scope>
|
<scope>runtime</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- ShardingSphere(适配线上 spring.shardingsphere.* 数据源配置) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.shardingsphere</groupId>
|
||||||
|
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
|
||||||
|
<version>4.1.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Druid(线上 shardingsphere datasource type 使用 DruidDataSource) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>druid</artifactId>
|
||||||
|
<version>1.2.6</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Align Spring Security modules managed by Spring Boot. -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.security</groupId>
|
||||||
|
<artifactId>spring-security-core</artifactId>
|
||||||
|
<version>5.7.11</version>
|
||||||
|
</dependency>
|
||||||
<!-- Spring Boot Test -->
|
<!-- Spring Boot Test -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|
@ -110,3 +129,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,36 +10,12 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||||
|
|
||||||
private final WebSecurityProperties properties;
|
|
||||||
|
|
||||||
public WebSecurityConfig(WebSecurityProperties properties) {
|
|
||||||
this.properties = properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
String[] authenticated = properties.authenticatedPatterns();
|
http.csrf().disable()
|
||||||
String[] permitAll = properties.permitAllPatterns();
|
.authorizeRequests()
|
||||||
|
.anyRequest().permitAll();
|
||||||
if (permitAll.length > 0) {
|
|
||||||
http.csrf().ignoringAntMatchers(permitAll);
|
|
||||||
}
|
|
||||||
|
|
||||||
org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer<HttpSecurity>
|
|
||||||
.ExpressionInterceptUrlRegistry requests = http.authorizeRequests();
|
|
||||||
|
|
||||||
// Authentication rules take priority when they overlap with a public prefix.
|
|
||||||
if (authenticated.length > 0) {
|
|
||||||
requests.antMatchers(authenticated).authenticated();
|
|
||||||
}
|
|
||||||
if (permitAll.length > 0) {
|
|
||||||
requests.antMatchers(permitAll).permitAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
requests.anyRequest().authenticated()
|
|
||||||
.and()
|
|
||||||
.formLogin()
|
|
||||||
.and()
|
|
||||||
.httpBasic();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,39 @@
|
||||||
spring:
|
spring:
|
||||||
|
profiles:
|
||||||
|
active: ${SPRING_PROFILES_ACTIVE:local}
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
config:
|
||||||
|
import-check:
|
||||||
|
enabled: false
|
||||||
|
---
|
||||||
|
spring:
|
||||||
config:
|
config:
|
||||||
|
activate:
|
||||||
|
on-profile: local
|
||||||
|
import:
|
||||||
|
- classpath:nacos.yml
|
||||||
|
- classpath:nacos/config-common.yml
|
||||||
|
- classpath:nacos/config-port.yml
|
||||||
|
- classpath:nacos/config-mq.yml
|
||||||
|
- classpath:nacos/config-log.yml
|
||||||
|
- classpath:nacos/config-actuator.yml
|
||||||
|
- classpath:nacos/config-job.yml
|
||||||
|
- classpath:nacos/config-mysql.yml
|
||||||
|
- classpath:nacos/config-redis.yml
|
||||||
|
- classpath:nacos/config-cache.yml
|
||||||
|
- classpath:nacos/config-spring.yml
|
||||||
|
- classpath:nacos/config-mybatis.yml
|
||||||
|
- classpath:nacos/config-sdk.yml
|
||||||
|
- classpath:nacos/config-flyway.yml
|
||||||
|
- classpath:sdk.yml
|
||||||
|
- classpath:swagger.yml
|
||||||
|
---
|
||||||
|
spring:
|
||||||
|
config:
|
||||||
|
activate:
|
||||||
|
on-profile: prod
|
||||||
import:
|
import:
|
||||||
- classpath:nacos-prod.yml
|
- classpath:nacos-prod.yml
|
||||||
- classpath:sdk-prod.yml
|
- classpath:sdk-prod.yml
|
||||||
- classpath:swagger.yml
|
- classpath:swagger.yml
|
||||||
|
|
@ -6,6 +6,10 @@ application:
|
||||||
version:
|
version:
|
||||||
gateway: safetyEval
|
gateway: safetyEval
|
||||||
cn-name: 重庆安全评价
|
cn-name: 重庆安全评价
|
||||||
|
server:
|
||||||
|
servlet:
|
||||||
|
context-path: /${application.gateway}
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: ${application.name}${application.version}
|
name: ${application.name}${application.version}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
management:
|
||||||
|
endpoints:
|
||||||
|
web:
|
||||||
|
exposure:
|
||||||
|
include: health,metrics
|
||||||
|
# base-path: /monitor
|
||||||
|
endpoint:
|
||||||
|
health:
|
||||||
|
show-details: always
|
||||||
|
shutdown:
|
||||||
|
enabled: true
|
||||||
|
env:
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
spring:
|
||||||
|
cache:
|
||||||
|
redis:
|
||||||
|
time-to-live: 1800s
|
||||||
|
|
||||||
|
|
||||||
|
# 二级缓存配置
|
||||||
|
# 注:caffeine 不适用于数据量大,并且缓存命中率极低的业务场景,如用户维度的缓存。请慎重选择。
|
||||||
|
l2cache:
|
||||||
|
config:
|
||||||
|
# 是否存储空值,默认true,防止缓存穿透
|
||||||
|
allowNullValues: true
|
||||||
|
# 组合缓存配置
|
||||||
|
composite:
|
||||||
|
# 是否全部启用一级缓存,默认false
|
||||||
|
l1AllOpen: false
|
||||||
|
# 一级缓存
|
||||||
|
caffeine:
|
||||||
|
# 是否自动刷新过期缓存 true 是 false 否
|
||||||
|
autoRefreshExpireCache: false
|
||||||
|
# 缓存刷新调度线程池的大小
|
||||||
|
refreshPoolSize: 2
|
||||||
|
# 缓存刷新的频率(秒)
|
||||||
|
refreshPeriod: 10
|
||||||
|
# 写入后过期时间(秒)
|
||||||
|
expireAfterWrite: 180
|
||||||
|
# 访问后过期时间(秒)
|
||||||
|
expireAfterAccess: 180
|
||||||
|
# 初始化大小
|
||||||
|
initialCapacity: 1
|
||||||
|
# 最大缓存对象个数,超过此数量时之前放入的缓存将失效
|
||||||
|
maximumSize: 3
|
||||||
|
|
||||||
|
# 二级缓存
|
||||||
|
redis:
|
||||||
|
# 全局过期时间,单位毫秒,默认不过期
|
||||||
|
defaultExpiration: 1800000
|
||||||
|
# 缓存更新时通知其他节点的topic名称 默认 cache:redis:caffeine:topic
|
||||||
|
topic: cache:redis:caffeine:topic
|
||||||
|
|
@ -0,0 +1,194 @@
|
||||||
|
common:
|
||||||
|
dx:
|
||||||
|
url:
|
||||||
|
https:
|
||||||
|
url: https://gbs-gateway.qhdsafety.com
|
||||||
|
ota:
|
||||||
|
platform-attr-enum: SLAVE
|
||||||
|
server:
|
||||||
|
url: https://ota.cqjjb.cn
|
||||||
|
public-key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7jzwrM8q2DGkhQlN3rw80YZfdqwnSBw7/Ogz0ENGHOSuG8hQGgy/5v4zthV5tijdnhMf5Mrkle8syJLNyaNRqVEtOaJns3A8/kn8t9GDt7Fu62MaKZa7OPqKO6wobNMbvaYshAIiK8M+ljAbZC3Cjq3YsqzPh+dTJluKPtR/rOQIDAQAB
|
||||||
|
client:
|
||||||
|
plat-key: a9431176-f906-419e-af6c-a3898d96750f
|
||||||
|
private-key: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJia4mwX87Ii3owQpavPQI/f+Tr9q1p95E5XYujawJKWG3fRj+xyhbXl0l/Zd/ZFEZqKXLrz8bUbWFixagQfm95IuvVJX0x1PkFKYDZKud+0zFP7Xw2NFyOLkjvFE8KWrLRPkNJkVH/kvGQjJwtVrsEoNPILl4EmhczsbBITA2dVAgMBAAECgYANY+XDM1TUSB/77UgEK9LP7Qiq5vA+p/Y884j/wpYMJrSxTkeRKTlXTRupAmV2y/ev9j0NwHLwf75ARgz14Kol88ytMiZGQIpSkxfpEzEe8aJkYrFqaFX/55P6uKNZaVvsH8AB6fk0Hl8xA59frNZZShdRvKd4IHC50MgH05wWkQJBAMpFjSFSQxwO1jkx61OcYURKRZM5UANEIo6QY+2J3dN66FOe3eIVFZT3eWaTXikdboTBCfBqZO83cKCWEMXledkCQQDBJAGSoMYAR5vLsGk7npb1HJ8WCwZyi6c8oN6xRbwKpzDxaSqqZckb6hJ6I5E1HTE7Ak4CPK3Q1SCCJ5RLAY/dAkEAto5RUuqY0SD+7X4FY1/3VZgm9To74cbD3aGp3sCYaX87YgU3Qw4+fUVh11dYG4mJrt0+6DJOSKzjxLvMBaAX+QJAEm5LMCDjhDdRKLjm8eeKZE2c6M+Yh+nHxcNcPPJ4pVObGg59IdGgxWcq6DjorHbisczggNolhB4ygfkg759wiQJBAJC3sXFjar9C5ydoCoy6AG1owANn0cRoFecBDQx3xadBE8kk39tIKp+OSWRf6xthyaDm+5DiF0JM8nD6d0nxIhU=
|
||||||
|
test-plat:
|
||||||
|
plat-id: 1846821090933841922
|
||||||
|
plat-appKey: 81eebce6c6084c928acfeb9a2c3d6dc2
|
||||||
|
mysql:
|
||||||
|
type: mysql
|
||||||
|
gateway:
|
||||||
|
network:
|
||||||
|
http:
|
||||||
|
#网关的外网访问地址 必须配置为HTTPS协议
|
||||||
|
#external: http://121.40.150.22:10062
|
||||||
|
external: https://gbs-gateway.qhdsafety.com
|
||||||
|
#网关的内网访问地址 固定配置为http://jjb-saas-gateway
|
||||||
|
intranet: http://jjb-saas-gateway
|
||||||
|
#http://jjb-saas-gateway
|
||||||
|
wx:
|
||||||
|
#webSocket外网地址
|
||||||
|
external: wss://gbs-gateway.qhdsafety.com
|
||||||
|
#webSocket内网地址
|
||||||
|
intranet: ws://192.168.67.192:80
|
||||||
|
swagger:
|
||||||
|
#是否打开swagger 测试及UAT配置为true,生产环境配置为false
|
||||||
|
enabled: true
|
||||||
|
base:
|
||||||
|
# base应用访问外网访问地址
|
||||||
|
host-url: https://gbs-gateway.qhdsafety.com
|
||||||
|
desk:
|
||||||
|
# desk工程的外网地址
|
||||||
|
host-url: https://gbs-gateway.qhdsafety.com/desk
|
||||||
|
login:
|
||||||
|
# login工程的外网访问地址
|
||||||
|
host-url: https://gbs-gateway.qhdsafety.com/login
|
||||||
|
|
||||||
|
# 阿里云
|
||||||
|
aliyun:
|
||||||
|
video:
|
||||||
|
callbackURL: /aliyun/callbackVideo/
|
||||||
|
userId: 1242180681728462
|
||||||
|
regionId: cn-shanghai
|
||||||
|
accessKeyId: LTAI5tDAMFkin5tavp4thfaG
|
||||||
|
accessKeySecret: XoBYTtIgeHOiz3udiP5gm0rcdRWp25
|
||||||
|
templateGroupId: 1a3c38cee4b8fa4be7459a17fe836559
|
||||||
|
twAppKey: czBapTtFBlkHCKSm
|
||||||
|
#accessKeyId: LTAI5tGQQibyiNbepTCjVuRB
|
||||||
|
#accessKeySecret: E0F6B6nxFiYjRhWGk4ZexifTGLcZNE
|
||||||
|
oss:
|
||||||
|
accessKeyId: LTAI5tP6UnjpDRBjsUaxbLz9
|
||||||
|
accessKeySecret: 9XCpOutOC1lTE7E4twbUOHGzaxoMRz
|
||||||
|
bucketName: cqqypx
|
||||||
|
endpoint: http://oss-cn-hangzhou.aliyuncs.com
|
||||||
|
bucket: https://${aliyun.oss.bucketName}.oss-cn-hangzhou.aliyuncs.com
|
||||||
|
apps:
|
||||||
|
basic-application: 976f689efcfd413981dfa1f2b814406d
|
||||||
|
apply-application: 586d4d3a2fbb4a669391335ae054479f
|
||||||
|
order-application: 15893f852a0d4eb3b2c968f0735cc9ed
|
||||||
|
cedu-application: 7c3cd4ae12534b7bbf0e1eddaa144341
|
||||||
|
train-application: d4cfbd62d9ec47c69697026be6430685
|
||||||
|
hour-application: 58e59ab7cfaa40df849e0480b88c4349
|
||||||
|
exam-application: 5b69745cadf84051beab2de3fb9fa6b2
|
||||||
|
evaluate-application: 93ec0094dd4e4be8afe8212e7c6b33e4
|
||||||
|
courseopenplatform-application: 60fa325b557c4113ad6510f62783a0a8
|
||||||
|
plan-approve-application: d1d0768f54cd4b2086c244a0dba0495e
|
||||||
|
industry-application: a1e1130e830347818455a6ff16ccf92a
|
||||||
|
scd-course-application: 6b1f3fed8e9140e984199e5ce9254374
|
||||||
|
qswj-customer-application: d3838b98d6f84ae48d3fe181074dcbd5
|
||||||
|
jjb-saas-official: 2bfa69cf673d487d89a1dd7348fa0bb4
|
||||||
|
cedu-customer-application: f1e16689eb914f009d0b461e818555b9
|
||||||
|
saas-customer-application: 2751e9bd060a4f659b7454dca4877c32
|
||||||
|
cert-application: 751d2135c48a4b18960c558b4143469b
|
||||||
|
jjb-saas-res: f18f760cc564441f8a90c6479152c115
|
||||||
|
declare-application: 7c6ab4793cb54d59a2319088110fd313
|
||||||
|
jjb-saas-exam-affairs: 2ea51819fc354088bf02d11effd1bd08
|
||||||
|
jjb-saas-punch-clock: c45d94add16a49e8bb66ba5e170b3439
|
||||||
|
jjb-apps-exam-manage: 2b00997376664a58b415391c02b7d9de
|
||||||
|
jjb-cedu-applet-v2: abcc08a98fba430dbd3f7dd08c6a98cd
|
||||||
|
review-application: 53a469ed0e19498fa8d43687d8ef2323
|
||||||
|
live-application: 5c75704416bc4a64a59729439116575a
|
||||||
|
jjb-apps-sign: 6b2f7ee0ed86423d8013268950b088d0
|
||||||
|
jjb-apps-customer-service: 9661da58847743c48bd1f7af39454ce5
|
||||||
|
signature-application: 0e65e899e0b04b7a82594de452850c6a
|
||||||
|
jjb-saas-course-open-platform: 16660510fe89413fbfac59e7b709f95f
|
||||||
|
jjb-apps-ocr: 18eb863aa7f64d08b980f9657b9c8c89
|
||||||
|
jjb-apps-archives: ecf369c676f24ea59aa671e4895d232d
|
||||||
|
jjb-apps-enterprisecenter: d51302107d144c4c8f45ba27c1e1170c
|
||||||
|
uris:
|
||||||
|
signature-application: http://business-signature-application
|
||||||
|
jjb-saas-archives: http://business-jjb-saas-archives
|
||||||
|
jjb-saas-base: http://jjb-saas-base
|
||||||
|
basic-application: http://business-jjb-apps-basic
|
||||||
|
apply-application: http://business-jjb-apps-apply
|
||||||
|
order-application: http://business-order-application
|
||||||
|
cedu-application: http://business-cedu-application
|
||||||
|
train-application: http://business-jjb-apps-train
|
||||||
|
hour-application: http://business-hour-application
|
||||||
|
exam-application: http://business-exam-application
|
||||||
|
evaluate-application: http://business-evaluate-application
|
||||||
|
courseopenplatform-application: http://courseopenplatform-application
|
||||||
|
plan-approve-application: http://business-jjb-apps-plan-approve
|
||||||
|
industry-application: http://business-jjb-apps-industry
|
||||||
|
scd-course-application: http://business-course-application
|
||||||
|
qswj-customer-application: http://business-jjb-apps-qswj-applet
|
||||||
|
jjb-saas-official: http://jjb-saas-official
|
||||||
|
cedu-customer-application: http://business-cedu-customer-application
|
||||||
|
saas-customer-application: http://business-saas-customer-application
|
||||||
|
cert-application: http://business-cert-application
|
||||||
|
jjb-saas-res: http://jjb-saas-res
|
||||||
|
declare-application: http://business-declare-application
|
||||||
|
jjb-saas-exam-affairs: http://business-exam-affairs
|
||||||
|
jjb-saas-punch-clock: http://jjb-saas-punch-clock
|
||||||
|
jjb-cedu-applet-v2: http://business-jjb-apps-cedu-applet-v2
|
||||||
|
jjb-apps-exam-manage: http://business-exam-manage
|
||||||
|
jjb-apps-sign: http://business-jjb-apps-sign
|
||||||
|
review-application: http://business-review-application
|
||||||
|
jjb-apps-customer-service: http://business-jjb-apps-customer-service
|
||||||
|
jjb-saas-course-open-platform: http://business-course-open-application
|
||||||
|
jjb-apps-ocr: http://business-jjb-saas-ocr
|
||||||
|
jjb-apps-enterprisecenter: http://business-jjb-apps-enterprisecenter
|
||||||
|
open:
|
||||||
|
sdk:
|
||||||
|
protocol: HTTP
|
||||||
|
url: 172.16.170.41
|
||||||
|
appPublicKey: 0490713158a22073896b9f3e79726eaac5e5a432cfc9c5512e86f856e307989625e29c6760462ed61c9328045e6d72223dfdc3dede5ae8ac44af3707c3d48ccb15
|
||||||
|
appPrivateKey: 308193020100301306072a8648ce3d020106082a811ccf5501822d047930770201010420079dce3b32004ec5694f096b431e1e41f17af8ec412ca81990169db195e9bb1ba00a06082a811ccf5501822da1440342000490713158a22073896b9f3e79726eaac5e5a432cfc9c5512e86f856e307989625e29c6760462ed61c9328045e6d72223dfdc3dede5ae8ac44af3707c3d48ccb15
|
||||||
|
#所有的前端域名配置 避免iframe跨域
|
||||||
|
x-frame-options: ${common.desk.host-url}/ ${common.login.host-url}/ ${common.base.host-url}/ ${common.gateway.network.http.external}/ http://10.43.250.65/ http://192.168.2.180:8085/ http://192.168.12.26:8085/ http://192.168.2.60:6030 http://192.168.3.105:8066 http://192.168.3.105:8085 http://10.43.145.16/ http://192.168.2.30:8080/ http://192.168.3.157:6011/ http://10.43.33.207/
|
||||||
|
|
||||||
|
openapi:
|
||||||
|
url: 10.43.82.219
|
||||||
|
db:
|
||||||
|
type: mysql
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
host: 192.168.141.171
|
||||||
|
username: root
|
||||||
|
password: 5tS3owZ7w8Uk1egv
|
||||||
|
db: ${spring.application.name}
|
||||||
|
port: 3306
|
||||||
|
# host: nlb-kd2xz70qhllfet2koj.cn-beijing.nlb.aliyuncsslb.com
|
||||||
|
# username: root
|
||||||
|
# password: 5tS3owZ7w8Uk1egv
|
||||||
|
# db: ${spring.application.name}
|
||||||
|
# port: 33068
|
||||||
|
|
||||||
|
open:
|
||||||
|
sdk:
|
||||||
|
basic:
|
||||||
|
url: ${common.gateway.network.http.external}/basic/api/sdk/sets
|
||||||
|
|
||||||
|
k8s:
|
||||||
|
#配置生产环境的底座K8S
|
||||||
|
namespace: jjb-dragon
|
||||||
|
arch: x86
|
||||||
|
|
||||||
|
dragon:
|
||||||
|
perms:
|
||||||
|
api:
|
||||||
|
type: HTTP
|
||||||
|
gateway:
|
||||||
|
baseurl: ${common.gateway.network.http.intranet}
|
||||||
|
|
||||||
|
url-ip: 10.43.146.37
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------基础配置-----------------
|
||||||
|
|
||||||
|
snail-job:
|
||||||
|
server:
|
||||||
|
# 服务端的地址,若服务端集群部署则此处配置域名
|
||||||
|
host: 192.168.88.26
|
||||||
|
port: 17888
|
||||||
|
port: 17889
|
||||||
|
# 名称空间ID,若不填为默认空间(764d604ec6fc45f68cd92514c40e9e1a)
|
||||||
|
# namespace:
|
||||||
|
# 令牌,若不填则默认为(SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj)
|
||||||
|
# token:
|
||||||
|
rpc-type: grpc
|
||||||
|
file:
|
||||||
|
url: https://jpfz.qhdsafety.com/gbsFileTest/
|
||||||
|
aqdUrl: https://jpfz.qhdsafety.com/aqdFileTest/
|
||||||
|
ai:
|
||||||
|
ali-openai-url: http://101.201.170.9:3000
|
||||||
|
base-url: https://api.moonshot.cn/v1/chat/completions
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
spring:
|
||||||
|
flyway:
|
||||||
|
#升级数据库的文件路径
|
||||||
|
locations:
|
||||||
|
- classpath:db/migration/${db.type}/
|
||||||
|
# 当迁移数据库存在但没有元数据的表时,自动执行基准迁移,新建flyway_schema_history表
|
||||||
|
baseline-on-migrate: true
|
||||||
|
#基准版本号
|
||||||
|
baseline-version: 2.0.0
|
||||||
|
#是否启动flyway
|
||||||
|
enabled: true
|
||||||
|
#是否校验已迁移过的脚步变更
|
||||||
|
validate-migration-naming: false
|
||||||
|
#用于存储迁移历史记录的表名,默认为flyway_schema_history
|
||||||
|
table: new_flyway_schema_history
|
||||||
|
#定义SQL文件的编码格式
|
||||||
|
encoding: UTF-8
|
||||||
|
#定义SQL文件名的前缀
|
||||||
|
sql-migration-prefix: V
|
||||||
|
#SQL迁移脚本文件名后缀,默认为.sql
|
||||||
|
sql-migration-suffixes: .sql
|
||||||
|
#是否在迁移时验证脚本,默认为true
|
||||||
|
validate-on-migrate: false
|
||||||
|
#禁用清理功能
|
||||||
|
clean-disabled: true
|
||||||
|
#是否允许无序迁移
|
||||||
|
out-of-order: false
|
||||||
|
#SQL分隔符
|
||||||
|
sql-migration-separator: __
|
||||||
|
url: ${spring.shardingsphere.datasource.master.url}
|
||||||
|
user: ${spring.shardingsphere.datasource.master.username}
|
||||||
|
password: ${spring.shardingsphere.datasource.master.password}
|
||||||
|
driverClassName: ${spring.shardingsphere.datasource.master.driver-class-name}
|
||||||
|
#占位符校验
|
||||||
|
placeholderReplacement: false
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
# JOB 配置
|
||||||
|
xxl-job:
|
||||||
|
admin:
|
||||||
|
address: http://192.168.13.63:8080/xxl-job-admin
|
||||||
|
username: admin
|
||||||
|
password: u9Hc7tLFBY
|
||||||
|
executor:
|
||||||
|
app-name: ${spring.application.name}
|
||||||
|
accessToken: 90d9aa354ad6f8c64ec01176ed66e611
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
common:
|
||||||
|
log:
|
||||||
|
jjb-saas-system:
|
||||||
|
- com.jjb:info
|
||||||
|
jjb-saas-auth1:
|
||||||
|
- com.jjb:info
|
||||||
|
jjb-saas-user:
|
||||||
|
- com.jjb:info
|
||||||
|
gray:
|
||||||
|
log:
|
||||||
|
host: 192.168.1.1
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
mq:
|
||||||
|
topic: springcloudStream-jjb-dragon-test
|
||||||
|
#server: rmq-cn-7mz2wwso306-vpc.cn-hangzhou.rmq.aliyuncs.com:8080 #10.43.189.176:9876 172.16.244.187:9876
|
||||||
|
server: rocketmq:9876
|
||||||
|
spring:
|
||||||
|
cloud:
|
||||||
|
stream:
|
||||||
|
bindings:
|
||||||
|
input:
|
||||||
|
destination: springcloudStream-jjb-dragon-test
|
||||||
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
|
output:
|
||||||
|
destination: springcloudStream-jjb-dragon-test
|
||||||
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
|
rocketmq:
|
||||||
|
binder:
|
||||||
|
name-server: rocketmq:9876
|
||||||
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
|
bindings:
|
||||||
|
input:
|
||||||
|
consumer:
|
||||||
|
tags: a
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
mybatis-plus:
|
||||||
|
mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml
|
||||||
|
type-handlers-package: com.jjb.saas.framework.datascope.handler
|
||||||
|
global-config:
|
||||||
|
banner: false
|
||||||
|
db-config:
|
||||||
|
id-type: assign_id
|
||||||
|
logic-delete-value: 1
|
||||||
|
logic-not-delete-value: 0
|
||||||
|
configuration:
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
spring:
|
||||||
|
shardingsphere:
|
||||||
|
druid:
|
||||||
|
username: root
|
||||||
|
password: jjb123456
|
||||||
|
allows:
|
||||||
|
denys:
|
||||||
|
props:
|
||||||
|
sql:
|
||||||
|
show: true
|
||||||
|
enabled: true
|
||||||
|
masterslave:
|
||||||
|
name: ms # 名字,任意,需要保证唯一
|
||||||
|
master-data-source-name: master # 主库数据源
|
||||||
|
slave-data-source-names: slave-1 # 从库数据源
|
||||||
|
datasource:
|
||||||
|
names: master,slave-1
|
||||||
|
master:
|
||||||
|
#url: jdbc:mysql://10.43.123.226:3306/${spring.application.name}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
|
url: jdbc:mysql://${mysql.host}:${mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
|
username: ${mysql.username}
|
||||||
|
password: ${mysql.password}
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
# 降级
|
||||||
|
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
|
initial-size: 6
|
||||||
|
min-idle: 1
|
||||||
|
maxActive: 100
|
||||||
|
# 配置获取连接等待超时的时间
|
||||||
|
maxWait: 60000
|
||||||
|
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||||
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
|
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||||
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
#Oracle需要打开注释
|
||||||
|
#validationQuery: SELECT 1 FROM DUAL
|
||||||
|
testWhileIdle: true
|
||||||
|
testOnBorrow: false
|
||||||
|
testOnReturn: false
|
||||||
|
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||||
|
poolPreparedStatements: true
|
||||||
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
|
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
|
||||||
|
filters: stat,slf4j
|
||||||
|
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||||
|
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||||
|
wall:
|
||||||
|
multi-statement-allow: true
|
||||||
|
slave-1:
|
||||||
|
# url: jdbc:mysql://10.43.123.226:3306/${spring.application.name}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
|
url: jdbc:mysql://${mysql.host}:3306/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
|
username: ${mysql.username}
|
||||||
|
password: ${mysql.password}
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
# 降级
|
||||||
|
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
|
initial-size: 6
|
||||||
|
min-idle: 1
|
||||||
|
maxActive: 100
|
||||||
|
# 配置获取连接等待超时的时间
|
||||||
|
maxWait: 60000
|
||||||
|
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||||
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
|
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||||
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
#Oracle需要打开注释
|
||||||
|
#validationQuery: SELECT 1 FROM DUAL
|
||||||
|
testWhileIdle: true
|
||||||
|
testOnBorrow: false
|
||||||
|
testOnReturn: false
|
||||||
|
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||||
|
poolPreparedStatements: true
|
||||||
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
|
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
|
||||||
|
filters: stat,slf4j
|
||||||
|
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||||
|
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||||
|
wall:
|
||||||
|
multi-statement-allow: true
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
server:
|
||||||
|
port: 80
|
||||||
|
debug: false
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
spring:
|
||||||
|
redis:
|
||||||
|
#host: r-bp1j7heizb63kxg7b6.redis.rds.aliyuncs.com
|
||||||
|
host: 192.168.66.161
|
||||||
|
#Y53N4qNXuWXgHs$w
|
||||||
|
password: RS3owZ7w8Uk1e
|
||||||
|
port: 6379
|
||||||
|
timeout: 15000
|
||||||
|
database: 0
|
||||||
|
prefix: dragon
|
||||||
|
jedis:
|
||||||
|
pool:
|
||||||
|
max-active: 600
|
||||||
|
max-idle: 300
|
||||||
|
max-wait: 15000
|
||||||
|
min-idle: 10
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
sdk:
|
||||||
|
server:
|
||||||
|
symmetry-url: jjb-saas-application/application/applications/server/secure/
|
||||||
|
# app-key: jjb-saas-dragon
|
||||||
|
client:
|
||||||
|
security:
|
||||||
|
gateway: ${common.gateway.network.http.intranet}
|
||||||
|
appKey: ${sdk.server.app-key}
|
||||||
|
desensitization:
|
||||||
|
symmetric-key: 1234567887654321
|
||||||
|
enable: true
|
||||||
|
logging:
|
||||||
|
gateway: ${sdk.client.security.gateway}
|
||||||
|
appKey: ${sdk.client.security.app-key}
|
||||||
|
#不上报
|
||||||
|
clientLoggingEnable: true
|
||||||
|
level: debug
|
||||||
|
username: user
|
||||||
|
password: 123456
|
||||||
|
showConsoleLog: true
|
||||||
|
#不上报
|
||||||
|
formatConsoleLogJson: true
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
spring:
|
||||||
|
web:
|
||||||
|
resources:
|
||||||
|
cache:
|
||||||
|
cachecontrol:
|
||||||
|
no-store: false
|
||||||
|
max-age: 10000
|
||||||
|
no-cache: false
|
||||||
|
autoconfigure:
|
||||||
|
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
|
mvc:
|
||||||
|
pathmatch:
|
||||||
|
matching-strategy: ant_path_matcher
|
||||||
|
messages:
|
||||||
|
basename: i18n.message
|
||||||
|
encoding: UTF-8
|
||||||
|
server:
|
||||||
|
tomcat:
|
||||||
|
max-http-post-size: 100MB
|
||||||
|
connection-timeout: 180000
|
||||||
|
fastjson:
|
||||||
|
parser:
|
||||||
|
safeMode: true
|
||||||
|
mvc:
|
||||||
|
pathmatch:
|
||||||
|
matching-strategy: ANT_PATH_MATCHER
|
||||||
|
thymeleaf:
|
||||||
|
prefix: classpath:/templates/
|
||||||
|
cache: false
|
||||||
|
dubbo:
|
||||||
|
application:
|
||||||
|
name: ${spring.application.name}
|
||||||
|
registry:
|
||||||
|
timeout: 60000
|
||||||
|
address: nacos://${spring.cloud.nacos.config.server-addr}?namespace=${spring.cloud.nacos.config.namespace}-facade&username=${spring.cloud.nacos.config.username}&password=${spring.cloud.nacos.config.password}
|
||||||
|
check: false
|
||||||
|
filter: providerContextFilter
|
||||||
|
protocol:
|
||||||
|
port: -1
|
||||||
|
name: dubbo
|
||||||
|
consumer:
|
||||||
|
timeout: 60000
|
||||||
|
check: false
|
||||||
|
filter: consumerContextFilter
|
||||||
|
metadata:
|
||||||
|
report-definition: false
|
||||||
|
report-consumer-definition: false
|
||||||
|
metadata-report:
|
||||||
|
address: nacos://${spring.cloud.nacos.config.server-addr}
|
||||||
|
parameters:
|
||||||
|
namespace: ${spring.cloud.nacos.config.namespace}
|
||||||
|
username: ${spring.cloud.nacos.config.username}
|
||||||
|
password: ${spring.cloud.nacos.config.password}
|
||||||
|
# 关闭服务定义上报
|
||||||
|
report-definition: false
|
||||||
|
# 只上报必要元数据
|
||||||
|
report-metadata: true
|
||||||
|
# 重试次数
|
||||||
|
retry-times: 3
|
||||||
|
# 重试间隔(ms)
|
||||||
|
retry-period: 5000
|
||||||
|
timeout: 5000
|
||||||
|
# 压缩元数据内容
|
||||||
|
compress: true
|
||||||
|
# 元数据缓存本地
|
||||||
|
cache-metadata: true
|
||||||
|
# 同步转异步上报
|
||||||
|
sync-report: false
|
||||||
|
logging:
|
||||||
|
config: classpath:jjb-saas-logback-spring.xml
|
||||||
|
level:
|
||||||
|
com.alibaba.nacos.client.naming: OFF
|
||||||
|
com.alibaba.nacos.client.config.impl: OFF
|
||||||
|
com.alibaba.nacos.common.remote.client: OFF
|
||||||
|
|
||||||
|
datapermssion:
|
||||||
|
tenantcondition:
|
||||||
|
defaultversion: NEWVERSION
|
||||||
|
|
||||||
|
gateway:
|
||||||
|
url: ${common.gateway.network.http.external}
|
||||||
|
baseUrl: ${common.gateway.network.http.external}
|
||||||
|
|
||||||
|
easy-retry:
|
||||||
|
server:
|
||||||
|
#host: 10.43.73.61
|
||||||
|
#host: jjb-saas-config
|
||||||
|
host: 10.43.183.92
|
||||||
|
port: 1788
|
||||||
|
|
||||||
|
other:
|
||||||
|
platform:
|
||||||
|
cqyj:
|
||||||
|
openId: 1724256774550495232
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
sdk:
|
||||||
|
client:
|
||||||
|
app-key: e6ab3c9abda747b39d7cc12b6dc0f5a0
|
||||||
|
gateway:
|
||||||
|
url: ${common.gateway.network.http.intranet}
|
||||||
|
swagger:
|
||||||
|
enabled: ${common.swagger.enabled}
|
||||||
|
title: Demo
|
||||||
|
description: Safety Eval API Docs
|
||||||
|
version: ${application.version}
|
||||||
|
group-name: Demo
|
||||||
|
springfox:
|
||||||
|
documentation:
|
||||||
|
swagger:
|
||||||
|
v2:
|
||||||
|
path: /v2/api-docs
|
||||||
|
|
@ -5,34 +5,28 @@
|
||||||
application:
|
application:
|
||||||
name: safety-eval-service
|
name: safety-eval-service
|
||||||
version:
|
version:
|
||||||
gateway: safety-eval
|
gateway: safetyEval
|
||||||
cn-name: 重庆安全评价
|
cn-name: 重庆安全评价
|
||||||
|
|
||||||
|
server:
|
||||||
|
servlet:
|
||||||
|
context-path: /${application.gateway}
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: ${application.name}${application.version}
|
name: ${application.name}${application.version}
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
config:
|
config:
|
||||||
|
enabled: ${NACOS_CONFIG_ENABLED:true}
|
||||||
|
username: ${NACOS_USERNAME:nacos}
|
||||||
|
password: ${NACOS_PASSWORD:nacos}
|
||||||
namespace: ${nacos.namespace}
|
namespace: ${nacos.namespace}
|
||||||
server-addr: ${nacos.url}
|
server-addr: ${nacos.url}
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
shared-configs:
|
|
||||||
- config-common.yml
|
|
||||||
- config-port.yml
|
|
||||||
- config-mq.yml
|
|
||||||
- config-log.yml
|
|
||||||
- config-sdk-server.yml
|
|
||||||
- config-actuator.yml
|
|
||||||
- config-job.yml
|
|
||||||
- config-mysql.yml
|
|
||||||
- config-redis.yml
|
|
||||||
- config-cache.yml
|
|
||||||
- config-spring.yml
|
|
||||||
- config-mybatis.yml
|
|
||||||
- config-sdk.yml
|
|
||||||
- config-flyway.yml
|
|
||||||
discovery:
|
discovery:
|
||||||
enabled: true
|
enabled: true
|
||||||
server-addr: ${spring.cloud.nacos.config.server-addr}
|
server-addr: ${spring.cloud.nacos.config.server-addr}
|
||||||
namespace: ${spring.cloud.nacos.config.namespace}
|
namespace: ${spring.cloud.nacos.config.namespace}
|
||||||
|
username: ${spring.cloud.nacos.config.username}
|
||||||
|
password: ${spring.cloud.nacos.config.password}
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,12 @@
|
||||||
management:
|
management:
|
||||||
endpoints:
|
endpoints:
|
||||||
web:
|
web:
|
||||||
base-path: /${application.gateway}${application.version}/actuator
|
exposure:
|
||||||
enabled-by-default: true
|
include: health,metrics
|
||||||
endpoint:
|
endpoint:
|
||||||
health:
|
health:
|
||||||
|
show-details: always
|
||||||
|
shutdown:
|
||||||
enabled: true
|
enabled: true
|
||||||
info:
|
|
||||||
enabled: false
|
|
||||||
auditevents:
|
|
||||||
enabled: false
|
|
||||||
metrics:
|
|
||||||
enabled: false
|
|
||||||
loggers:
|
|
||||||
enabled: false
|
|
||||||
logfile:
|
|
||||||
enabled: false
|
|
||||||
httptrace:
|
|
||||||
enabled: false
|
|
||||||
env:
|
env:
|
||||||
enabled: false
|
enabled: false
|
||||||
flyway:
|
|
||||||
enabled: false
|
|
||||||
liquidbase:
|
|
||||||
enabled: false
|
|
||||||
shutdown:
|
|
||||||
enabled: false
|
|
||||||
mappings:
|
|
||||||
enabled: false
|
|
||||||
scheduledtasks:
|
|
||||||
enabled: false
|
|
||||||
threaddump:
|
|
||||||
enabled: false
|
|
||||||
heapdump:
|
|
||||||
enabled: false
|
|
||||||
|
|
@ -1,5 +1,21 @@
|
||||||
common:
|
common:
|
||||||
|
dx:
|
||||||
|
url:
|
||||||
|
https:
|
||||||
|
url: ${common.gateway.network.http.external}
|
||||||
|
ota:
|
||||||
|
platform-attr-enum: SLAVE
|
||||||
|
server:
|
||||||
|
url: https://ota.cqjjb.cn
|
||||||
|
public-key:
|
||||||
|
client:
|
||||||
|
plat-key:
|
||||||
|
private-key:
|
||||||
|
test-plat:
|
||||||
|
plat-id:
|
||||||
|
platAppKey:
|
||||||
mysql:
|
mysql:
|
||||||
|
type: mysql
|
||||||
host: 192.168.20.100
|
host: 192.168.20.100
|
||||||
port: 33080
|
port: 33080
|
||||||
username: root
|
username: root
|
||||||
|
|
@ -14,6 +30,7 @@
|
||||||
address: http://10.43.98.135:8080/xxl-job-admin/
|
address: http://10.43.98.135:8080/xxl-job-admin/
|
||||||
username: admin
|
username: admin
|
||||||
password: jjb123456
|
password: jjb123456
|
||||||
|
access-token: 90d9aa354ad6f8c64ec01176ed66e611
|
||||||
gateway:
|
gateway:
|
||||||
network:
|
network:
|
||||||
http:
|
http:
|
||||||
|
|
@ -21,6 +38,7 @@
|
||||||
intranet: http://192.168.20.100
|
intranet: http://192.168.20.100
|
||||||
wx:
|
wx:
|
||||||
external: wx://testdragon.cqjjb.cn
|
external: wx://testdragon.cqjjb.cn
|
||||||
|
intranet: ws://192.168.20.100
|
||||||
swagger:
|
swagger:
|
||||||
enabled: true
|
enabled: true
|
||||||
base:
|
base:
|
||||||
|
|
@ -29,7 +47,137 @@
|
||||||
host-url: http://10.43.12.158
|
host-url: http://10.43.12.158
|
||||||
login:
|
login:
|
||||||
host-url: http://10.43.12.158
|
host-url: http://10.43.12.158
|
||||||
|
aliyun:
|
||||||
|
video:
|
||||||
|
callbackURL: /aliyun/callbackVideo/
|
||||||
|
userId:
|
||||||
|
regionId: cn-shanghai
|
||||||
|
accessKeyId:
|
||||||
|
accessKeySecret:
|
||||||
|
templateGroupId:
|
||||||
|
twAppKey:
|
||||||
|
oss:
|
||||||
|
accessKeyId: ${dromara.x-file-storage.aliyun-oss[0].access-key}
|
||||||
|
accessKeySecret: ${dromara.x-file-storage.aliyun-oss[0].secret-key}
|
||||||
|
bucketName: ${dromara.x-file-storage.aliyun-oss[0].bucket-name}
|
||||||
|
endpoint: http://${dromara.x-file-storage.aliyun-oss[0].end-point}
|
||||||
|
bucket: ${dromara.x-file-storage.aliyun-oss[0].domain}
|
||||||
|
apps:
|
||||||
|
basic-application: 976f689efcfd413981dfa1f2b814406d
|
||||||
|
apply-application: 586d4d3a2fbb4a669391335ae054479f
|
||||||
|
order-application: 15893f852a0d4eb3b2c968f0735cc9ed
|
||||||
|
cedu-application: 7c3cd4ae12534b7bbf0e1eddaa144341
|
||||||
|
train-application: d4cfbd62d9ec47c69697026be6430685
|
||||||
|
hour-application: 58e59ab7cfaa40df849e0480b88c4349
|
||||||
|
exam-application: 5b69745cadf84051beab2de3fb9fa6b2
|
||||||
|
evaluate-application: 93ec0094dd4e4be8afe8212e7c6b33e4
|
||||||
|
courseopenplatform-application: 60fa325b557c4113ad6510f62783a0a8
|
||||||
|
plan-approve-application: d1d0768f54cd4b2086c244a0dba0495e
|
||||||
|
industry-application: a1e1130e830347818455a6ff16ccf92a
|
||||||
|
scd-course-application: 6b1f3fed8e9140e984199e5ce9254374
|
||||||
|
qswj-customer-application: d3838b98d6f84ae48d3fe181074dcbd5
|
||||||
|
jjb-saas-official: 2bfa69cf673d487d89a1dd7348fa0bb4
|
||||||
|
cedu-customer-application: f1e16689eb914f009d0b461e818555b9
|
||||||
|
saas-customer-application: 2751e9bd060a4f659b7454dca4877c32
|
||||||
|
cert-application: 751d2135c48a4b18960c558b4143469b
|
||||||
|
jjb-saas-res: f18f760cc564441f8a90c6479152c115
|
||||||
|
declare-application: 7c6ab4793cb54d59a2319088110fd313
|
||||||
|
jjb-saas-exam-affairs: 2ea51819fc354088bf02d11effd1bd08
|
||||||
|
jjb-saas-punch-clock: c45d94add16a49e8bb66ba5e170b3439
|
||||||
|
jjb-apps-exam-manage: 2b00997376664a58b415391c02b7d9de
|
||||||
|
jjb-cedu-applet-v2: abcc08a98fba430dbd3f7dd08c6a98cd
|
||||||
|
review-application: 53a469ed0e19498fa8d43687d8ef2323
|
||||||
|
live-application: 5c75704416bc4a64a59729439116575a
|
||||||
|
jjb-apps-sign: 6b2f7ee0ed86423d8013268950b088d0
|
||||||
|
jjb-apps-customer-service: 9661da58847743c48bd1f7af39454ce5
|
||||||
|
signature-application: 0e65e899e0b04b7a82594de452850c6a
|
||||||
|
jjb-saas-course-open-platform: 16660510fe89413fbfac59e7b709f95f
|
||||||
|
jjb-apps-ocr: 18eb863aa7f64d08b980f9657b9c8c89
|
||||||
|
jjb-apps-archives: ecf369c676f24ea59aa671e4895d232d
|
||||||
|
jjb-apps-enterprisecenter: d51302107d144c4c8f45ba27c1e1170c
|
||||||
|
uris:
|
||||||
|
signature-application: http://business-signature-application
|
||||||
|
jjb-saas-archives: http://business-jjb-saas-archives
|
||||||
|
jjb-saas-base: http://jjb-saas-base
|
||||||
|
basic-application: http://business-jjb-apps-basic
|
||||||
|
apply-application: http://business-jjb-apps-apply
|
||||||
|
order-application: http://business-order-application
|
||||||
|
cedu-application: http://business-cedu-application
|
||||||
|
train-application: http://business-jjb-apps-train
|
||||||
|
hour-application: http://business-hour-application
|
||||||
|
exam-application: http://business-exam-application
|
||||||
|
evaluate-application: http://business-evaluate-application
|
||||||
|
courseopenplatform-application: http://courseopenplatform-application
|
||||||
|
plan-approve-application: http://business-jjb-apps-plan-approve
|
||||||
|
industry-application: http://business-jjb-apps-industry
|
||||||
|
scd-course-application: http://business-course-application
|
||||||
|
qswj-customer-application: http://business-jjb-apps-qswj-applet
|
||||||
|
jjb-saas-official: http://jjb-saas-official
|
||||||
|
cedu-customer-application: http://business-cedu-customer-application
|
||||||
|
saas-customer-application: http://business-saas-customer-application
|
||||||
|
cert-application: http://business-cert-application
|
||||||
|
jjb-saas-res: http://jjb-saas-res
|
||||||
|
declare-application: http://business-declare-application
|
||||||
|
jjb-saas-exam-affairs: http://business-exam-affairs
|
||||||
|
jjb-saas-punch-clock: http://jjb-saas-punch-clock
|
||||||
|
jjb-cedu-applet-v2: http://business-jjb-apps-cedu-applet-v2
|
||||||
|
jjb-apps-exam-manage: http://business-exam-manage
|
||||||
|
jjb-apps-sign: http://business-jjb-apps-sign
|
||||||
|
review-application: http://business-review-application
|
||||||
|
jjb-apps-customer-service: http://business-jjb-apps-customer-service
|
||||||
|
jjb-saas-course-open-platform: http://business-course-open-application
|
||||||
|
jjb-apps-ocr: http://business-jjb-saas-ocr
|
||||||
|
jjb-apps-enterprisecenter: http://business-jjb-apps-enterprisecenter
|
||||||
|
open:
|
||||||
|
sdk:
|
||||||
|
protocol: HTTP
|
||||||
|
url: 172.16.170.41
|
||||||
|
appPublicKey:
|
||||||
|
appPrivateKey:
|
||||||
x-frame-options: ${common.desk.host-url}/ ${common.login.host-url}/ ${common.base.host-url}/ ${common.gateway.network.http.external}/ http://10.43.250.65/
|
x-frame-options: ${common.desk.host-url}/ ${common.login.host-url}/ ${common.base.host-url}/ ${common.gateway.network.http.external}/ http://10.43.250.65/
|
||||||
|
openapi:
|
||||||
|
url: 10.43.82.219
|
||||||
|
|
||||||
|
db:
|
||||||
|
type: mysql
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
host: ${common.mysql.host}
|
||||||
|
port: ${common.mysql.port}
|
||||||
|
username: ${common.mysql.username}
|
||||||
|
password: ${common.mysql.password}
|
||||||
|
db: jjb_saas_safety_eval
|
||||||
|
|
||||||
|
open:
|
||||||
|
sdk:
|
||||||
|
basic:
|
||||||
|
url: ${common.gateway.network.http.external}/basic/api/sdk/sets
|
||||||
|
|
||||||
k8s:
|
k8s:
|
||||||
namespace: test-dragon
|
namespace: test-dragon
|
||||||
|
arch: x86
|
||||||
|
|
||||||
|
dragon:
|
||||||
|
perms:
|
||||||
|
api:
|
||||||
|
type: HTTP
|
||||||
|
gateway:
|
||||||
|
baseurl: ${common.gateway.network.http.intranet}
|
||||||
|
|
||||||
|
url-ip: 10.43.146.37
|
||||||
|
|
||||||
|
snail-job:
|
||||||
|
server:
|
||||||
|
host: 192.168.88.26
|
||||||
|
port: 17888
|
||||||
|
port: 17889
|
||||||
|
rpc-type: grpc
|
||||||
|
|
||||||
|
file:
|
||||||
|
url: ${common.gateway.network.http.external}/gbsFileTest/
|
||||||
|
aqdUrl: ${common.gateway.network.http.external}/aqdFileTest/
|
||||||
|
|
||||||
|
ai:
|
||||||
|
ali-openai-url: http://101.201.170.9:3000
|
||||||
|
base-url: https://api.moonshot.cn/v1/chat/completions
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
spring:
|
||||||
|
flyway:
|
||||||
|
locations:
|
||||||
|
- classpath:db/migration/${db.type}/
|
||||||
|
baseline-on-migrate: true
|
||||||
|
baseline-version: 2.0.0
|
||||||
|
enabled: true
|
||||||
|
validate-migration-naming: false
|
||||||
|
table: new_flyway_schema_history
|
||||||
|
encoding: UTF-8
|
||||||
|
sql-migration-prefix: V
|
||||||
|
sql-migration-suffixes: .sql
|
||||||
|
validate-on-migrate: false
|
||||||
|
clean-disabled: true
|
||||||
|
out-of-order: false
|
||||||
|
sql-migration-separator: __
|
||||||
|
url: ${spring.shardingsphere.datasource.master.url}
|
||||||
|
user: ${spring.shardingsphere.datasource.master.username}
|
||||||
|
password: ${spring.shardingsphere.datasource.master.password}
|
||||||
|
driverClassName: ${spring.shardingsphere.datasource.master.driver-class-name}
|
||||||
|
placeholderReplacement: false
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
# JOB 配置
|
# JOB 配置
|
||||||
xxl-job:
|
xxl-job:
|
||||||
admin:
|
admin:
|
||||||
address: ${common.xxl-job.address}
|
address: ${common.xxl-job.address}
|
||||||
username: ${common.xxl-job.username}
|
username: ${common.xxl-job.username}
|
||||||
password: ${common.xxl-job.password}
|
password: ${common.xxl-job.password}
|
||||||
executor:
|
executor:
|
||||||
app-name: ${spring.application.name}
|
app-name: ${spring.application.name}
|
||||||
|
accessToken: ${common.xxl-job.access-token}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
mq:
|
mq:
|
||||||
topic: springcloudStream-jjb-dragon-test
|
topic: springcloudStream-jjb-dragon-test
|
||||||
server: ${common.mq.host}
|
server: ${common.mq.host}
|
||||||
spring:
|
spring:
|
||||||
|
|
@ -13,9 +13,9 @@ spring:
|
||||||
group: ${spring.application.name}-${spring.profiles.active}
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
rocketmq:
|
rocketmq:
|
||||||
binder:
|
binder:
|
||||||
name-server: ${common.mq.host}
|
name-server: ${mq.server}
|
||||||
group: ${spring.application.name}-${spring.profiles.active}
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
bindings:
|
bindings:
|
||||||
input:
|
input:
|
||||||
consumer:
|
consumer:
|
||||||
tags: a
|
tags: a
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:mapper/**/*.xml
|
mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml
|
||||||
type-handlers-package: com.jjb.saas.framework.datascope.handler
|
type-handlers-package: com.jjb.saas.framework.datascope.handler
|
||||||
global-config:
|
global-config:
|
||||||
banner: false
|
banner: false
|
||||||
db-config:
|
db-config:
|
||||||
id-type: assign_id
|
id-type: assign_id
|
||||||
logic-delete-field: deleteEnum
|
logic-delete-value: 1
|
||||||
logic-delete-value: "true"
|
logic-not-delete-value: 0
|
||||||
logic-not-delete-value: "false"
|
|
||||||
configuration:
|
configuration:
|
||||||
map-underscore-to-camel-case: true
|
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,7 @@
|
||||||
mysql:
|
spring:
|
||||||
db: jjb_saas_safety_eval
|
|
||||||
|
|
||||||
spring:
|
|
||||||
datasource:
|
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
||||||
url: jdbc:mysql://${common.mysql.host}:${common.mysql.port}/${mysql.db}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
|
||||||
username: ${common.mysql.username}
|
|
||||||
password: ${common.mysql.password}
|
|
||||||
shardingsphere:
|
shardingsphere:
|
||||||
druid:
|
druid:
|
||||||
username: admin
|
username: root
|
||||||
password: jjb123456
|
password: jjb123456
|
||||||
allows:
|
allows:
|
||||||
denys:
|
denys:
|
||||||
|
|
@ -24,14 +16,14 @@ spring:
|
||||||
datasource:
|
datasource:
|
||||||
names: master,slave-1
|
names: master,slave-1
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://${common.mysql.host}:${common.mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
url: jdbc:mysql://${mysql.host}:${mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
username: ${common.mysql.username}
|
username: ${mysql.username}
|
||||||
password: ${common.mysql.password}
|
password: ${mysql.password}
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
initial-size: 6
|
initial-size: 6
|
||||||
min-idle: 4
|
min-idle: 1
|
||||||
maxActive: 40
|
maxActive: 100
|
||||||
maxWait: 60000
|
maxWait: 60000
|
||||||
timeBetweenEvictionRunsMillis: 60000
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
minEvictableIdleTimeMillis: 300000
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
|
@ -40,19 +32,19 @@ spring:
|
||||||
testOnReturn: false
|
testOnReturn: false
|
||||||
poolPreparedStatements: true
|
poolPreparedStatements: true
|
||||||
maxPoolPreparedStatementPerConnectionSize: 20
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
filters: slf4j
|
filters: stat,slf4j
|
||||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||||
wall:
|
wall:
|
||||||
multi-statement-allow: true
|
multi-statement-allow: true
|
||||||
slave-1:
|
slave-1:
|
||||||
url: jdbc:mysql://${common.mysql.host}:${common.mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
url: jdbc:mysql://${mysql.host}:${mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
||||||
username: ${common.mysql.username}
|
username: ${mysql.username}
|
||||||
password: ${common.mysql.password}
|
password: ${mysql.password}
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
initial-size: 6
|
initial-size: 6
|
||||||
min-idle: 4
|
min-idle: 1
|
||||||
maxActive: 20
|
maxActive: 100
|
||||||
maxWait: 60000
|
maxWait: 60000
|
||||||
timeBetweenEvictionRunsMillis: 60000
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
minEvictableIdleTimeMillis: 300000
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
|
@ -61,7 +53,7 @@ spring:
|
||||||
testOnReturn: false
|
testOnReturn: false
|
||||||
poolPreparedStatements: true
|
poolPreparedStatements: true
|
||||||
maxPoolPreparedStatementPerConnectionSize: 20
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
filters: slf4j
|
filters: stat,slf4j
|
||||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||||
wall:
|
wall:
|
||||||
multi-statement-allow: true
|
multi-statement-allow: true
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
server:
|
server:
|
||||||
port: 80
|
port: 80
|
||||||
debug: false
|
debug: false
|
||||||
|
|
@ -3,15 +3,9 @@
|
||||||
host: ${common.redis.host}
|
host: ${common.redis.host}
|
||||||
password: ${common.redis.password}
|
password: ${common.redis.password}
|
||||||
port: ${common.redis.port}
|
port: ${common.redis.port}
|
||||||
timeout: 10000
|
timeout: 15000
|
||||||
database: 0
|
database: 0
|
||||||
prefix: dragon
|
prefix: dragon
|
||||||
lettuce:
|
|
||||||
pool:
|
|
||||||
max-active: 8
|
|
||||||
max-idle: 8
|
|
||||||
min-idle: 0
|
|
||||||
max-wait: -1
|
|
||||||
jedis:
|
jedis:
|
||||||
pool:
|
pool:
|
||||||
max-active: 600
|
max-active: 600
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
spring:
|
spring:
|
||||||
zipkin:
|
|
||||||
base-url: http://jjb-saas-zipkin/
|
|
||||||
sender:
|
|
||||||
type: web
|
|
||||||
sleuth:
|
|
||||||
sampler:
|
|
||||||
probability: 1
|
|
||||||
web:
|
web:
|
||||||
resources:
|
resources:
|
||||||
cache:
|
cache:
|
||||||
|
|
@ -28,21 +21,10 @@
|
||||||
enabled: true
|
enabled: true
|
||||||
max-file-size: 100MB
|
max-file-size: 100MB
|
||||||
max-request-size: 500MB
|
max-request-size: 500MB
|
||||||
flyway:
|
|
||||||
enabled: true
|
|
||||||
encoding: UTF-8
|
|
||||||
locations: classpath:db/migration
|
|
||||||
sql-migration-prefix: V
|
|
||||||
sql-migration-separator: __
|
|
||||||
sql-migration-suffixes: .sql
|
|
||||||
validate-on-migrate: true
|
|
||||||
baseline-on-migrate: true
|
|
||||||
|
|
||||||
server:
|
server:
|
||||||
servlet:
|
|
||||||
context-path: /${application.gateway}
|
|
||||||
tomcat:
|
tomcat:
|
||||||
max-http-post-size: 200MB
|
max-http-post-size: 100MB
|
||||||
connection-timeout: 180000
|
connection-timeout: 180000
|
||||||
|
|
||||||
fastjson:
|
fastjson:
|
||||||
|
|
@ -60,22 +42,35 @@ thymeleaf:
|
||||||
dubbo:
|
dubbo:
|
||||||
application:
|
application:
|
||||||
name: ${spring.application.name}
|
name: ${spring.application.name}
|
||||||
service-discovery:
|
|
||||||
migration: FORCE_INTERFACE
|
|
||||||
registry:
|
registry:
|
||||||
timeout: 20000
|
timeout: 60000
|
||||||
address: nacos://${spring.cloud.nacos.config.server-addr}?namespace=${spring.cloud.nacos.config.namespace}-facade
|
address: nacos://${spring.cloud.nacos.config.server-addr}?namespace=${spring.cloud.nacos.config.namespace}-facade&username=${spring.cloud.nacos.config.username}&password=${spring.cloud.nacos.config.password}
|
||||||
check: false
|
check: false
|
||||||
filter: providerContextFilter
|
filter: providerContextFilter
|
||||||
scan:
|
|
||||||
base-packages: org.qinan.safetyeval
|
|
||||||
protocol:
|
protocol:
|
||||||
port: 20895
|
port: -1
|
||||||
name: dubbo
|
name: dubbo
|
||||||
consumer:
|
consumer:
|
||||||
timeout: 20000
|
timeout: 60000
|
||||||
check: false
|
check: false
|
||||||
filter: consumerContextFilter
|
filter: consumerContextFilter
|
||||||
|
metadata:
|
||||||
|
report-definition: false
|
||||||
|
report-consumer-definition: false
|
||||||
|
metadata-report:
|
||||||
|
address: nacos://${spring.cloud.nacos.config.server-addr}
|
||||||
|
parameters:
|
||||||
|
namespace: ${spring.cloud.nacos.config.namespace}
|
||||||
|
username: ${spring.cloud.nacos.config.username}
|
||||||
|
password: ${spring.cloud.nacos.config.password}
|
||||||
|
report-definition: false
|
||||||
|
report-metadata: true
|
||||||
|
retry-times: 3
|
||||||
|
retry-period: 5000
|
||||||
|
timeout: 5000
|
||||||
|
compress: true
|
||||||
|
cache-metadata: true
|
||||||
|
sync-report: false
|
||||||
|
|
||||||
logging:
|
logging:
|
||||||
config: classpath:jjb-saas-logback-spring.xml
|
config: classpath:jjb-saas-logback-spring.xml
|
||||||
|
|
@ -87,11 +82,15 @@ logging:
|
||||||
|
|
||||||
datapermssion:
|
datapermssion:
|
||||||
tenantcondition:
|
tenantcondition:
|
||||||
defaultversion: NEWERSION
|
defaultversion: NEWVERSION
|
||||||
|
|
||||||
|
gateway:
|
||||||
|
url: ${common.gateway.network.http.external}
|
||||||
|
baseUrl: ${common.gateway.network.http.external}
|
||||||
|
|
||||||
easy-retry:
|
easy-retry:
|
||||||
server:
|
server:
|
||||||
host: http://jjb-saas-config
|
host: 10.43.183.92
|
||||||
port: 1788
|
port: 1788
|
||||||
|
|
||||||
dromara:
|
dromara:
|
||||||
|
|
@ -115,6 +114,11 @@ dragon:
|
||||||
is-system: 'false'
|
is-system: 'false'
|
||||||
system-url: http://jjb-saas-system
|
system-url: http://jjb-saas-system
|
||||||
|
|
||||||
|
other:
|
||||||
|
platform:
|
||||||
|
cqyj:
|
||||||
|
openId: 1724256774550495232
|
||||||
|
|
||||||
safety-eval:
|
safety-eval:
|
||||||
gbs-user-sync:
|
gbs-user-sync:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
|
|
@ -163,3 +167,4 @@ safety-eval:
|
||||||
def:
|
def:
|
||||||
password: a123456
|
password: a123456
|
||||||
publicKey: 0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee
|
publicKey: 0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue