Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
聂康
local-rnr-enterprise
Commits
c997214d
Commit
c997214d
authored
Jun 17, 2025
by
kang.nie@inzymeits.com
Browse files
初始化代码
parent
741c2feb
Pipeline
#3107
failed with stages
in 0 seconds
Changes
265
Pipelines
1
Show whitespace changes
Inline
Side-by-side
.gitignore
0 → 100644
View file @
c997214d
#Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
*/bin/
*/gen/
*/out/
# Gradle files
.gradle/
build/
*/build/
gradlew
gradlew.bat
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
*/*.iml
# Keystore files
#*.jks
#gradle wrapper
gradle/
#some local files
*/.settings/
*/.DS_Store
.DS_Store
*/.idea/
.idea/
gradlew
gradlew.bat
unused.txt
# Eclipse Project files
.classpath
.project
.settings/
.factorypath
*/target/
# Nodejs files
*/node-modules/
\ No newline at end of file
pom.xml
0 → 100644
View file @
c997214d
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
cusc-parent
</artifactId>
<version>
1.2.1-SNAPSHOT
</version>
<relativePath/>
</parent>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-enterprise
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<mysql-connector-j.version>
5.1.49
</mysql-connector-j.version>
<druid.version>
1.1.24
</druid.version>
<pagehelper.version>
5.1.11
</pagehelper.version>
<jsqlparser.version>
3.2
</jsqlparser.version>
<mybatis.version>
3.5.4
</mybatis.version>
<mybatis-plus.version>
3.3.2
</mybatis-plus.version>
<mapstruct.version>
1.4.2.Final
</mapstruct.version>
<poi.version>
4.0.1
</poi.version>
<easyexcel.version>
2.1.2
</easyexcel.version>
<skipTests>
true
</skipTests>
</properties>
<dependencies>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
${easyexcel.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<exclusions>
<exclusion>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
user-config-common
</artifactId>
<version>
1.2-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.mockito
</groupId>
<artifactId>
mockito-core
</artifactId>
<version>
4.0.0
</version>
<scope>
test
</scope>
</dependency>
<!--rocketmq -->
<dependency>
<groupId>
org.apache.rocketmq
</groupId>
<artifactId>
rocketmq-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.rocketmq
</groupId>
<artifactId>
rocketmq-client
</artifactId>
<version>
4.8.0
</version>
</dependency>
<!-- mapstruct-->
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<version>
${mapstruct.version}
</version>
</dependency>
<!-- AOP -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
</dependency>
<!-- redis依赖 -->
<dependency>
<groupId>
com.cusc.component
</groupId>
<artifactId>
cache-spring
</artifactId>
<version>
1.0.4-RELEASE
</version>
</dependency>
<dependency>
<groupId>
com.cusc.component
</groupId>
<artifactId>
cache-annotation
</artifactId>
<version>
1.0.4-RELEASE
</version>
</dependency>
<dependency>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-user-remote
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-fp-remote
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-mg-remote
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.cusc.nirvana
</groupId>
<artifactId>
local-rnr-user-plug
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<!-- POI -->
<!-- poi 相关 -->
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
${poi.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
${poi.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml-schemas
</artifactId>
<version>
${poi.version}
</version>
</dependency>
<!-- apache 文件处理 -->
<dependency>
<groupId>
commons-fileupload
</groupId>
<artifactId>
commons-fileupload
</artifactId>
<version>
1.4
</version>
</dependency>
<dependency>
<groupId>
com.aliyun.oss
</groupId>
<artifactId>
aliyun-sdk-oss
</artifactId>
<version>
3.10.2
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-resources-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
<annotationProcessorPaths>
<path>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${lombok.version}
</version>
</path>
<path>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${mapstruct.version}
</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>
src/main/java
</directory>
<includes>
<include>
**/*.xml
</include>
</includes>
<filtering>
false
</filtering>
</resource>
<resource>
<directory>
src/main/resources/
</directory>
<includes>
<include>
**/*.properties
</include>
<include>
**/*.yml
</include>
<include>
**/*.yaml
</include>
<include>
**/*.xml
</include>
<include>
**/*.factories
</include>
</includes>
<filtering>
false
</filtering>
</resource>
</resources>
</build>
</project>
src/main/java/com/cusc/nirvana/user/rnr/enterprise/LocalRnrEnterpriseApplication.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.ComponentScan
;
/**
* Description: 实名admin启动
* <br />
* CreateDate 2021-11-09 13:38:16
*
* @author yuyi
**/
@Slf4j
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
})
@ComponentScan
({
"com.cusc"
,
"com.cache.*"
})
@EnableDiscoveryClient
public
class
LocalRnrEnterpriseApplication
{
public
static
void
main
(
String
[]
args
)
{
try
{
ApplicationContext
context
=
SpringApplication
.
run
(
LocalRnrEnterpriseApplication
.
class
,
args
);
String
serverPort
=
context
.
getEnvironment
().
getProperty
(
"server.port"
);
log
.
info
(
"启动成功! Swagger2: http://127.0.0.1:"
+
serverPort
+
"/swagger-ui.html"
);
}
catch
(
Exception
ex
)
{
log
.
error
(
""
,
ex
);
}
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/BizConstants.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
public
class
BizConstants
{
/**
* 车企bizType in eiam_organization
*/
public
static
final
Integer
ORG_BIZ_TYPE_VEHICLE_COMPANY
=
1
;
/**
* 经销商bizType in eiam_organization
*/
public
static
final
Integer
ORG_BIZ_TYPE_DISTRIBUTOR
=
2
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/CompanyTypeEnum.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
com.cusc.nirvana.common.tool.url.StringUtils
;
/**
* 公司类型
*/
public
enum
CompanyTypeEnum
{
GYQY
(
0
,
"国有企业"
),
JTSYZ
(
1
,
"集体所有制"
),
SYQY
(
2
,
"私营企业"
),
YXZRGS
(
3
,
"有限责任公司"
),
GFYXGS
(
4
,
"股份有限公司"
),
YXHHQY
(
5
,
"有限合伙企业"
),
LYQY
(
6
,
"联营企业"
),
WSTZQY
(
7
,
"外商投资企业"
),
GRDZQY
(
8
,
"个人独资企业"
),
QT
(
9
,
"其他"
);
private
int
code
;
private
String
value
;
CompanyTypeEnum
(
int
code
,
String
value
)
{
this
.
code
=
code
;
this
.
value
=
value
;
}
public
static
CompanyTypeEnum
getEnumByCode
(
int
code
)
{
for
(
CompanyTypeEnum
item
:
CompanyTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
code
)
{
return
item
;
}
}
return
null
;
}
public
static
CompanyTypeEnum
getEnumByCode
(
String
codeStr
)
{
if
(
StringUtils
.
isBlank
(
codeStr
))
{
return
null
;
}
for
(
CompanyTypeEnum
item
:
CompanyTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
Integer
.
parseInt
(
codeStr
))
{
return
item
;
}
}
return
null
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/DesensitizationFieId.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
java.lang.annotation.*
;
/**
* @author stayAnd
* @date 2022/6/20
*/
@Target
(
ElementType
.
FIELD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Inherited
public
@interface
DesensitizationFieId
{
int
desensitizationRule
();
int
sort
();
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/EnterpriseIgnoreBase64ImgJsonSerializeFilter.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
com.alibaba.fastjson.serializer.ValueFilter
;
import
com.cusc.nirvana.user.rnr.enterprise.constants.EnterpriseLogOutputConstants
;
import
com.cusc.nirvana.user.util.crypt.CryptKeyUtil
;
/**
* Description: 日志输出json序列化过滤器
* <br />
* CreateDate 2022-05-12 16:55:45
*
* @author yuyi
**/
public
class
EnterpriseIgnoreBase64ImgJsonSerializeFilter
implements
ValueFilter
{
@Override
public
Object
process
(
Object
object
,
String
name
,
Object
value
)
{
// 过滤base64字段的输出
if
(
EnterpriseLogOutputConstants
.
IGNORE_BASE64_FIELD_LIST
.
contains
(
name
))
{
return
"ignore base64 string"
;
}
//隐私数据加密
if
(
EnterpriseLogOutputConstants
.
ENCRYPTION_FIELD_LIST
.
contains
(
name
))
{
return
value
==
null
?
""
:
CryptKeyUtil
.
encryptToBase64
(
value
.
toString
());
}
return
value
;
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/FileTypeEnum.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
org.apache.commons.lang3.StringUtils
;
/**
* @className: FileTypeEnum
* @description: TODO
* @author: fxh
* @date: 2022/7/21 9:28
* @version: 1.0
**/
public
enum
FileTypeEnum
{
SIMCARD
(
0
,
"SIM卡"
),
CARCARD
(
1
,
"车卡关系"
),
CARINFO
(
3
,
"车辆信息"
),
CARSTARTUP
(
4
,
"车卡启动"
),
CARCLOSE
(
5
,
"车卡禁用"
);
private
int
code
;
private
String
value
;
FileTypeEnum
(
int
code
,
String
value
)
{
this
.
code
=
code
;
this
.
value
=
value
;
}
public
static
FileTypeEnum
getEnumByCode
(
int
code
)
{
for
(
FileTypeEnum
item
:
FileTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
code
)
{
return
item
;
}
}
return
null
;
}
public
static
FileTypeEnum
getEnumByCode
(
String
codeStr
)
{
if
(
StringUtils
.
isBlank
(
codeStr
))
{
return
null
;
}
for
(
FileTypeEnum
item
:
FileTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
Integer
.
parseInt
(
codeStr
))
{
return
item
;
}
}
return
null
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/IndustryTypeEnum.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
org.apache.commons.lang3.StringUtils
;
/**
* 行业类型
*/
public
enum
IndustryTypeEnum
{
blmy
(
0
,
"农、林、牧、渔业"
),
cky
(
1
,
"采矿业"
),
zzy
(
2
,
"制造业"
),
dlrlrqjsschgyy
(
3
,
"电力、热力、燃气及水生产和供应业"
),
jzy
(
4
,
"建筑业"
),
pfhlsy
(
5
,
"批发和零售业"
),
jtyscchyzy
(
6
,
"交通运输、仓储和邮政业"
),
zshcyy
(
7
,
"住宿和餐饮业"
),
xxcsrjhxxjsfwy
(
8
,
"信息传输、软件和信息技术服务业"
),
jry
(
9
,
"金融业"
),
fdcy
(
10
,
"房地产业"
),
zlhswfwy
(
11
,
"租赁和商务服务业"
),
kxyjhjsfwy
(
12
,
"科学研究和技术服务业"
),
sl_hjhggssgly
(
13
,
"水利、环境和公共设施管理业"
),
jmfw_xlhqtfwy
(
14
,
"居民服务、修理和其他服务业"
),
jy
(
15
,
"教育"
),
wshshgz
(
16
,
"卫生和社会工作"
),
wh_tyhyly
(
17
,
"文化、体育和娱乐业"
),
gggl_shbzhshzz
(
18
,
"公共管理、社会保障和社会组织"
),
gjzz
(
19
,
"国际组织"
),
qt
(
20
,
"其他"
),
;
private
int
code
;
private
String
value
;
IndustryTypeEnum
(
int
code
,
String
value
)
{
this
.
code
=
code
;
this
.
value
=
value
;
}
public
static
IndustryTypeEnum
getEnumByCode
(
int
code
)
{
for
(
IndustryTypeEnum
item
:
IndustryTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
code
)
{
return
item
;
}
}
return
null
;
}
public
static
IndustryTypeEnum
getEnumByCode
(
String
codeStr
)
{
if
(
StringUtils
.
isBlank
(
codeStr
))
{
return
null
;
}
for
(
IndustryTypeEnum
item
:
IndustryTypeEnum
.
values
())
{
if
(
item
.
getCode
()
==
Integer
.
parseInt
(
codeStr
))
{
return
item
;
}
}
return
null
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/RedisConstants.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
/**
* @author stayAnd
* @date 2022/4/14
*/
public
class
RedisConstants
{
/**
* 组织code生成key
*/
public
static
final
String
ORG_ORGAN_CODE_PREFIX
=
"CT:USER:ORGAN:"
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/RoleEnum.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author stayAnd
* @date 2022/4/15
*/
@Getter
@AllArgsConstructor
/**
* 车企租户管理员 101
*
* 车企业务操作员 102
* 经销商管理员 201
* 经销商业务操作员202
*/
public
enum
RoleEnum
{
/**
* 车企租户管理员
*/
CAR_ENTERPRISES_ADMIN
(
"101"
,
"车企租户管理员"
),
/**
* 车企业务操作员
*/
CAR_ENTERPRISES_OP
(
"102"
,
"车企业务操作员"
),
/**
* 经销商管理员
*/
DISTRIBUTOR_ENTERPRISES_ADMIN
(
"201"
,
"经销商管理员"
),
/**
* 经销商业务操作员
*/
DISTRIBUTOR_ENTERPRISES_OP
(
"202"
,
"经销商业务操作员"
),
;
private
String
code
;
private
String
name
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/common/SysModuleEnum.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.common
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author stayAnd
* @date 2022/6/20
*/
@AllArgsConstructor
public
enum
SysModuleEnum
{
/**
* 登录日志
*/
USER_SMS_LOGIN
(
"登录日志"
,
"短信验证码登录"
,
"用户:%s通过手机短信验证码登录,来源:%s"
),
USER_PWD_LOGIN
(
"登录日志"
,
"密码登录"
,
"用户:%s通过用户名密码登录,来源:%s"
),
USER_LOGOUT
(
"登录日志"
,
"注销"
,
""
),
/**
* 实名日志
*/
PERSON_WEB_RNR
(
"实名日志"
,
"自然人实名(web)"
,
"发起自然人实名,姓名:%s,手机号:%s"
),
PERSON_H5_RNR
(
"实名日志"
,
"自然人实名(H5)"
,
"发起自然人实名,姓名:%s,手机号:%s"
),
ENTERPRISE_WEB_RNR
(
"实名日志"
,
"企业实名(web)"
,
"发起企业实名,企业名称:%s,责任人:%s,手机号:%s"
),
ENTERPRISE_H5_RNR
(
"实名日志"
,
"企业实名(H5)"
,
"发起企业实名,企业名称:%s,责任人:%s,手机号:%s"
),
MANUFACTURER_WEB_RNR_FIRST
(
"实名日志"
,
"车企实名(WEB)首次"
,
"发起车企实名,企业名称:%s,责任人:%s,手机号:%s"
),
MANUFACTURER_WEB_RNR_FOLLOW_UP
(
"实名日志"
,
"车企实名(WEB)后续"
,
""
),
ENTERPRISE_CHANGE_RNR
(
"实名日志"
,
"责任人变更"
,
"发起责任人变更,企业名称:%s,原责任人:%s,新责任人:%s,手机号码:%s"
),
SURPLUS_CARD_BIND
(
"实名日志"
,
"一车多卡绑定"
,
"发起一车多卡绑定,vin:%s"
),
CHANGE_BOX
(
"实名日志"
,
"换件"
,
"发起换件,vin:%s"
),
ORIGINALOWNER_UNBIND
(
"实名日志"
,
"原车主解绑"
,
"发起原车主解绑,vin:%s"
),
SECONDOWNER_UNBIND
(
"实名日志"
,
"二手车主车主解绑"
,
"发起二手车主车主解绑,vin:%s,责任人:%s,手机号:%s"
),
MANUFACTURER_UBIND
(
"实名日志"
,
"车企实名解绑"
,
""
),
/**
* 管理日志
*/
ADD_ORGAN
(
"管理日志"
,
"组织管理-新增"
,
"新增组织:%s,管理员姓名:%s,管理员账号:%s,手机号码:%s"
),
UPDATE_ORGAN
(
"管理日志"
,
"组织管理-更新"
,
"更新组织,组织名称:%s,备注:%s"
),
ADD_PROTOCOL
(
"管理日志"
,
"协议管理-新增"
,
""
),
UPDATE_PROTOCOL
(
"管理日志"
,
"协议管理-更新"
,
""
),
SIM_VEHICLE
(
"管理日志"
,
"车卡管理-导入车卡关系"
,
""
),
ADD_ACCOUNT
(
"管理日志"
,
"账户管理-新增"
,
"新增账户:%s,姓名:%s,手机号码:%s"
),
UPDATE_ACCOUNT
(
"管理日志"
,
"账户管理-更新"
,
"修改账户:%s,姓名:%s,手机号码:%s"
),
CAR_INFO_IMPORT
(
"管理日志"
,
"车辆信息导入"
,
""
),
/**
* 其他日志
*/
CAR_PROGRESS
(
"其他日志"
,
"单车认证进度查询"
,
""
),
CHECK_PROGRESS
(
"其他日志"
,
"车企审核进度查询"
,
""
),
QUERY_CHECKSTATISTICS
(
"其他日志"
,
"审核统计查询"
,
""
),
;
/**
* 系统模块描述
*/
@Getter
private
String
sysModule
;
/**
* 业务类型
*/
@Getter
private
String
sysAction
;
/**
* 操作内容 操作时间放在最后
*/
@Getter
private
String
optContent
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/EnterpriseConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.cloud.context.config.annotation.RefreshScope
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
@RefreshScope
@Data
public
class
EnterpriseConfig
{
@Value
(
"${rnr.tenantNo:1}"
)
private
String
tenantNo
;
@Value
(
"${rnr.allowedOrigins:}"
)
private
List
<
String
>
allowedOrigins
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/EnterpriseFileHttpPoolConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
/**
* Description: resttemplate的连接池配置
* <br />
* CreateDate 2022-05-18 15:00
*
* @author yuy336
**/
@Component
@Data
public
class
EnterpriseFileHttpPoolConfig
{
/**
* 设置整个连接池最大连接数
*/
@Value
(
"${httpPool.rnrBase.maxTotal:200}"
)
private
Integer
maxTotal
;
/**
* 路由是对maxTotal的细分,针对一个url的最大并发数,每路由最大连接数,默认值是2
*/
@Value
(
"${httpPool.rnrBase.defaultMaxPerRoute:100}"
)
private
Integer
defaultMaxPerRoute
;
/**
* 服务器返回数据(response)的时间,超过该时间抛出read timeout
*/
@Value
(
"${httpPool.rnrBase.socketTimeout:40000}"
)
private
Integer
socketTimeout
;
/**
* 连接上服务器(握手成功)的时间,超出该时间抛出connect timeout
*/
@Value
(
"${httpPool.rnrBase.connectTimeout:2000}"
)
private
Integer
connectTimeout
;
/**
* 从连接池中获取连接的超时时间,超过该时间未拿到可用连接,会抛出org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
*/
@Value
(
"${httpPool.rnrBase.connectionRequestTimeout:1000}"
)
private
Integer
connectionRequestTimeout
;
/**
* 线程最大空闲时间
*/
@Value
(
"${httpPool.rnrBase.maxIdleTime:10}"
)
private
Integer
maxIdleTime
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/GlobalCorsConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
@Configuration
public
class
GlobalCorsConfig
{
@Autowired
private
EnterpriseConfig
enterpriseConfig
;
@Bean
public
CorsFilter
corsFilter
()
{
CorsConfiguration
config
=
new
CorsConfiguration
();
//config.addAllowedOrigin("*");
if
(
CollectionUtils
.
isEmpty
(
config
.
getAllowedOrigins
())){
config
.
setAllowedOrigins
(
enterpriseConfig
.
getAllowedOrigins
());
}
else
{
config
.
getAllowedOrigins
().
addAll
(
enterpriseConfig
.
getAllowedOrigins
());
}
config
.
setAllowCredentials
(
true
);
config
.
addAllowedMethod
(
"POST"
);
config
.
addAllowedMethod
(
"OPTIONS"
);
config
.
addAllowedMethod
(
"GET"
);
config
.
addAllowedHeader
(
"*"
);
UrlBasedCorsConfigurationSource
configSource
=
new
UrlBasedCorsConfigurationSource
();
configSource
.
registerCorsConfiguration
(
"/**"
,
config
);
return
new
CorsFilter
(
configSource
);
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/OssConfig.java
0 → 100644
View file @
c997214d
/*
package com.cusc.nirvana.user.rnr.enterprise.config;
import com.cusc.nirvana.user.rnr.enterprise.util.OSSUtil;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
*/
/**
* @author fyp
* @CreateTime: 2022/6/10
* @Description: OSS配置类
*//*
@Data
@Component
public class OssConfig {
@Value("${oss.endpoint}")
private String endpoint;
@Value("${oss.accessKeyId}")
private String accessKeyId;
@Value("${oss.accessKeySecret}")
private String accessKeySecret;
@Value("${oss.bucketName}")
private String bucketName;
@Value("${oss.prefix}")
private String prefix;
@Bean
public OSSUtil createOssClient() {
return new OSSUtil(endpoint, bucketName, accessKeyId, accessKeySecret,prefix);
}
}
*/
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/RestTemplateRnrFileConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
import
org.apache.http.conn.socket.ConnectionSocketFactory
;
import
org.apache.http.conn.socket.PlainConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.client.ClientHttpRequestFactory
;
import
org.springframework.http.client.HttpComponentsClientHttpRequestFactory
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.concurrent.TimeUnit
;
/**
* RestTemplate对象
*
* @author yubo
* @since 2022-04-18 09:54
*/
@Configuration
@Slf4j
public
class
RestTemplateRnrFileConfig
{
@Autowired
private
EnterpriseFileHttpPoolConfig
httpPoolConstants
;
@Bean
RestTemplate
nonLoadBalancedFile
()
{
return
new
RestTemplate
(
httpRequestFactoryRnrFile
());
}
private
ClientHttpRequestFactory
httpRequestFactoryRnrFile
()
{
return
new
HttpComponentsClientHttpRequestFactory
(
httpClientRnrFile
());
}
private
HttpClient
httpClientRnrFile
()
{
Registry
<
ConnectionSocketFactory
>
registry
=
RegistryBuilder
.<
ConnectionSocketFactory
>
create
()
.
register
(
"http"
,
PlainConnectionSocketFactory
.
getSocketFactory
())
.
register
(
"https"
,
SSLConnectionSocketFactory
.
getSocketFactory
())
.
build
();
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
(
registry
);
//设置整个连接池最大连接数
connectionManager
.
setMaxTotal
(
httpPoolConstants
.
getMaxTotal
());
//路由是对maxTotal的细分
connectionManager
.
setDefaultMaxPerRoute
(
httpPoolConstants
.
getDefaultMaxPerRoute
());
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
.
setSocketTimeout
(
httpPoolConstants
.
getSocketTimeout
())
//返回数据的超时时间
.
setConnectTimeout
(
httpPoolConstants
.
getConnectTimeout
())
//连接上服务器的超时时间
.
setConnectionRequestTimeout
(
httpPoolConstants
.
getConnectionRequestTimeout
())
//从连接池中获取连接的超时时间
.
build
();
return
HttpClientBuilder
.
create
()
.
setDefaultRequestConfig
(
requestConfig
)
.
setConnectionManager
(
connectionManager
)
//设置后台线程剔除失效连接
.
evictExpiredConnections
().
evictIdleConnections
(
httpPoolConstants
.
getMaxIdleTime
(),
TimeUnit
.
SECONDS
)
.
build
();
}
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/SysLog.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum
;
import
java.lang.annotation.*
;
/**
* @author stayAnd
* @date 2022/6/20
*/
@Target
(
ElementType
.
METHOD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Inherited
public
@interface
SysLog
{
/**
* 系统日志模块
*/
SysModuleEnum
sysModule
();
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/SystemConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
/**
* Description: 系统配置
* <br />
* CreateDate 2022-06-22 14:12:53
*
* @author yuyi
**/
@Data
@Component
public
class
SystemConfig
{
@Value
(
"${system.tenantNo:1}"
)
private
String
tenantNo
;
}
src/main/java/com/cusc/nirvana/user/rnr/enterprise/config/ThreadPoolConfig.java
0 → 100644
View file @
c997214d
package
com.cusc.nirvana.user.rnr.enterprise.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
/**
* @author stayAnd
* @date 2022/6/20
*/
@Configuration
public
class
ThreadPoolConfig
{
@Bean
public
ThreadPoolExecutor
logThreadPool
(){
return
new
ThreadPoolExecutor
(
1
,
5
,
10
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
1024
),
new
ThreadPoolExecutor
.
AbortPolicy
());
}
}
Prev
1
2
3
4
5
…
14
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment