Compare commits
No commits in common. "2dfd012aa139879235d138ef044d6bb964cecbb1" and "de5ce6a9b92d0d08a428b9963a592ec8ffbfd285" have entirely different histories.
2dfd012aa1
...
de5ce6a9b9
|
|
@ -6,7 +6,10 @@ 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.*;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
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;
|
||||||
|
|
@ -31,12 +34,6 @@ 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,26 +79,7 @@
|
||||||
<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>
|
||||||
|
|
@ -129,6 +110,3 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,36 @@ 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 {
|
||||||
http.csrf().disable()
|
String[] authenticated = properties.authenticatedPatterns();
|
||||||
.authorizeRequests()
|
String[] permitAll = properties.permitAllPatterns();
|
||||||
.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,38 +1,5 @@
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
|
||||||
active: ${SPRING_PROFILES_ACTIVE:local}
|
|
||||||
cloud:
|
|
||||||
nacos:
|
|
||||||
config:
|
config:
|
||||||
import-check:
|
|
||||||
enabled: false
|
|
||||||
---
|
|
||||||
spring:
|
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,6 @@ 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}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
management:
|
|
||||||
endpoints:
|
|
||||||
web:
|
|
||||||
exposure:
|
|
||||||
include: health,metrics
|
|
||||||
# base-path: /monitor
|
|
||||||
endpoint:
|
|
||||||
health:
|
|
||||||
show-details: always
|
|
||||||
shutdown:
|
|
||||||
enabled: true
|
|
||||||
env:
|
|
||||||
enabled: false
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,194 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
server:
|
|
||||||
port: 80
|
|
||||||
debug: false
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,96 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
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,28 +5,34 @@
|
||||||
application:
|
application:
|
||||||
name: safety-eval-service
|
name: safety-eval-service
|
||||||
version:
|
version:
|
||||||
gateway: safetyEval
|
gateway: safety-eval
|
||||||
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,12 +1,36 @@
|
||||||
management:
|
management:
|
||||||
endpoints:
|
endpoints:
|
||||||
web:
|
web:
|
||||||
exposure:
|
base-path: /${application.gateway}${application.version}/actuator
|
||||||
include: health,metrics
|
enabled-by-default: true
|
||||||
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,21 +1,5 @@
|
||||||
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
|
||||||
|
|
@ -30,7 +14,6 @@
|
||||||
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:
|
||||||
|
|
@ -38,7 +21,6 @@
|
||||||
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:
|
||||||
|
|
@ -47,137 +29,7 @@
|
||||||
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
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
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,4 +1,4 @@
|
||||||
# JOB 配置
|
# JOB 配置
|
||||||
xxl-job:
|
xxl-job:
|
||||||
admin:
|
admin:
|
||||||
address: ${common.xxl-job.address}
|
address: ${common.xxl-job.address}
|
||||||
|
|
@ -6,4 +6,3 @@ xxl-job:
|
||||||
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,7 +13,7 @@ spring:
|
||||||
group: ${spring.application.name}-${spring.profiles.active}
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
rocketmq:
|
rocketmq:
|
||||||
binder:
|
binder:
|
||||||
name-server: ${mq.server}
|
name-server: ${common.mq.host}
|
||||||
group: ${spring.application.name}-${spring.profiles.active}
|
group: ${spring.application.name}-${spring.profiles.active}
|
||||||
bindings:
|
bindings:
|
||||||
input:
|
input:
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml
|
mapper-locations: classpath*: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-value: 1
|
logic-delete-field: deleteEnum
|
||||||
logic-not-delete-value: 0
|
logic-delete-value: "true"
|
||||||
|
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,7 +1,15 @@
|
||||||
spring:
|
mysql:
|
||||||
|
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: root
|
username: admin
|
||||||
password: jjb123456
|
password: jjb123456
|
||||||
allows:
|
allows:
|
||||||
denys:
|
denys:
|
||||||
|
|
@ -16,14 +24,14 @@
|
||||||
datasource:
|
datasource:
|
||||||
names: master,slave-1
|
names: master,slave-1
|
||||||
master:
|
master:
|
||||||
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
|
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
|
||||||
username: ${mysql.username}
|
username: ${common.mysql.username}
|
||||||
password: ${mysql.password}
|
password: ${common.mysql.password}
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
initial-size: 6
|
initial-size: 6
|
||||||
min-idle: 1
|
min-idle: 4
|
||||||
maxActive: 100
|
maxActive: 40
|
||||||
maxWait: 60000
|
maxWait: 60000
|
||||||
timeBetweenEvictionRunsMillis: 60000
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
minEvictableIdleTimeMillis: 300000
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
|
@ -32,19 +40,19 @@
|
||||||
testOnReturn: false
|
testOnReturn: false
|
||||||
poolPreparedStatements: true
|
poolPreparedStatements: true
|
||||||
maxPoolPreparedStatementPerConnectionSize: 20
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
filters: stat,slf4j
|
filters: 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://${mysql.host}:${mysql.port}/${mysql.db}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
|
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
|
||||||
username: ${mysql.username}
|
username: ${common.mysql.username}
|
||||||
password: ${mysql.password}
|
password: ${common.mysql.password}
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: com.mysql.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
initial-size: 6
|
initial-size: 6
|
||||||
min-idle: 1
|
min-idle: 4
|
||||||
maxActive: 100
|
maxActive: 20
|
||||||
maxWait: 60000
|
maxWait: 60000
|
||||||
timeBetweenEvictionRunsMillis: 60000
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
minEvictableIdleTimeMillis: 300000
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
|
@ -53,7 +61,7 @@
|
||||||
testOnReturn: false
|
testOnReturn: false
|
||||||
poolPreparedStatements: true
|
poolPreparedStatements: true
|
||||||
maxPoolPreparedStatementPerConnectionSize: 20
|
maxPoolPreparedStatementPerConnectionSize: 20
|
||||||
filters: stat,slf4j
|
filters: 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
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,15 @@
|
||||||
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: 15000
|
timeout: 10000
|
||||||
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,4 +1,11 @@
|
||||||
spring:
|
spring:
|
||||||
|
zipkin:
|
||||||
|
base-url: http://jjb-saas-zipkin/
|
||||||
|
sender:
|
||||||
|
type: web
|
||||||
|
sleuth:
|
||||||
|
sampler:
|
||||||
|
probability: 1
|
||||||
web:
|
web:
|
||||||
resources:
|
resources:
|
||||||
cache:
|
cache:
|
||||||
|
|
@ -21,10 +28,21 @@
|
||||||
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: 100MB
|
max-http-post-size: 200MB
|
||||||
connection-timeout: 180000
|
connection-timeout: 180000
|
||||||
|
|
||||||
fastjson:
|
fastjson:
|
||||||
|
|
@ -42,35 +60,22 @@ thymeleaf:
|
||||||
dubbo:
|
dubbo:
|
||||||
application:
|
application:
|
||||||
name: ${spring.application.name}
|
name: ${spring.application.name}
|
||||||
|
service-discovery:
|
||||||
|
migration: FORCE_INTERFACE
|
||||||
registry:
|
registry:
|
||||||
timeout: 60000
|
timeout: 20000
|
||||||
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}
|
address: nacos://${spring.cloud.nacos.config.server-addr}?namespace=${spring.cloud.nacos.config.namespace}-facade
|
||||||
check: false
|
check: false
|
||||||
filter: providerContextFilter
|
filter: providerContextFilter
|
||||||
|
scan:
|
||||||
|
base-packages: org.qinan.safetyeval
|
||||||
protocol:
|
protocol:
|
||||||
port: -1
|
port: 20895
|
||||||
name: dubbo
|
name: dubbo
|
||||||
consumer:
|
consumer:
|
||||||
timeout: 60000
|
timeout: 20000
|
||||||
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
|
||||||
|
|
@ -82,15 +87,11 @@ logging:
|
||||||
|
|
||||||
datapermssion:
|
datapermssion:
|
||||||
tenantcondition:
|
tenantcondition:
|
||||||
defaultversion: NEWVERSION
|
defaultversion: NEWERSION
|
||||||
|
|
||||||
gateway:
|
|
||||||
url: ${common.gateway.network.http.external}
|
|
||||||
baseUrl: ${common.gateway.network.http.external}
|
|
||||||
|
|
||||||
easy-retry:
|
easy-retry:
|
||||||
server:
|
server:
|
||||||
host: 10.43.183.92
|
host: http://jjb-saas-config
|
||||||
port: 1788
|
port: 1788
|
||||||
|
|
||||||
dromara:
|
dromara:
|
||||||
|
|
@ -114,11 +115,6 @@ 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
|
||||||
|
|
@ -167,4 +163,3 @@ safety-eval:
|
||||||
def:
|
def:
|
||||||
password: a123456
|
password: a123456
|
||||||
publicKey: 0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee
|
publicKey: 0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue