Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Eladmin
Commits
e4ca7afc
Commit
e4ca7afc
authored
Nov 25, 2019
by
dqjdda
Browse files
阿里巴巴代码规范
parent
6d941c09
Changes
160
Hide whitespace changes
Inline
Side-by-side
eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java
View file @
e4ca7afc
...
...
@@ -92,7 +92,7 @@ public class GeneratorServiceImpl implements GeneratorService {
new
ColumnInfo
(
tableName
,
arr
[
0
].
toString
(),
arr
[
1
]
.
equals
(
"NO"
),
"NO"
.
equals
(
arr
[
1
]
),
arr
[
2
].
toString
(),
ObjectUtil
.
isNotNull
(
arr
[
3
])
?
arr
[
3
].
toString
()
:
null
,
ObjectUtil
.
isNotNull
(
arr
[
4
])
?
arr
[
4
].
toString
()
:
null
,
...
...
eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
View file @
e4ca7afc
...
...
@@ -22,6 +22,7 @@ import java.util.Map;
* @date 2019-01-02
*/
@Slf4j
@SuppressWarnings
(
"all"
)
public
class
GenUtil
{
private
static
final
String
TIMESTAMP
=
"Timestamp"
;
...
...
@@ -63,7 +64,7 @@ public class GenUtil {
public
static
void
generatorCode
(
List
<
ColumnInfo
>
columnInfos
,
GenConfig
genConfig
)
throws
IOException
{
// 存储模版字段数据
Map
<
String
,
Object
>
genMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
genMap
=
new
HashMap
<>(
16
);
// 包名称
genMap
.
put
(
"package"
,
genConfig
.
getPack
());
// 模块名称
...
...
@@ -115,7 +116,7 @@ public class GenUtil {
List
<
Map
<
String
,
Object
>>
isNotNullColumns
=
new
ArrayList
<>();
for
(
ColumnInfo
column
:
columnInfos
)
{
Map
<
String
,
Object
>
listMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
listMap
=
new
HashMap
<>(
16
);
// 字段描述
listMap
.
put
(
"remark"
,
column
.
getRemark
());
// 字段类型
...
...
eladmin-logging/src/main/java/me/zhengjie/domain/Log.java
View file @
e4ca7afc
...
...
@@ -21,40 +21,42 @@ public class Log implements Serializable {
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/
/
操作用户
/
**
操作用户
*/
private
String
username
;
/
/
描述
/
**
描述
*/
private
String
description
;
/
/
方法名
/
**
方法名
*/
private
String
method
;
/
/
参数
/
**
参数
*/
@Column
(
columnDefinition
=
"text"
)
private
String
params
;
/
/
日志类型
/
**
日志类型
*/
@Column
(
name
=
"log_type"
)
private
String
logType
;
/
/
请求ip
/
**
请求ip
*/
@Column
(
name
=
"request_ip"
)
private
String
requestIp
;
/** 地址 */
@Column
(
name
=
"address"
)
private
String
address
;
/** 浏览器 */
private
String
browser
;
/
/
请求耗时
/
**
请求耗时
*/
private
Long
time
;
/
/
异常详细
/
**
异常详细
*/
@Column
(
name
=
"exception_detail"
,
columnDefinition
=
"text"
)
private
byte
[]
exceptionDetail
;
/
/
创建日期
/
**
创建日期
*/
@CreationTimestamp
@Column
(
name
=
"create_time"
)
private
Timestamp
createTime
;
...
...
eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java
View file @
e4ca7afc
...
...
@@ -15,10 +15,10 @@ public interface LogRepository extends JpaRepository<Log,Long>, JpaSpecification
/**
* 获取一个时间段的IP记录
* @param date1 startTime
* @param date2 entTime
* @return IP数目
*/
@Query
(
value
=
"select count(*) FROM (select request_ip FROM log where create_time between ?1 and ?2 GROUP BY request_ip) as s"
,
nativeQuery
=
true
)
Long
findIp
(
String
date1
,
String
date2
);
@Query
(
value
=
"select l FROM Log l where l.id = ?1"
)
Log
findExceptionById
(
Long
id
);
}
eladmin-logging/src/main/java/me/zhengjie/service/LogService.java
View file @
e4ca7afc
...
...
@@ -16,12 +16,37 @@ import java.util.List;
*/
public
interface
LogService
{
/**
* 分页查询
* @param criteria 查询条件
* @param pageable 分页参数
* @return /
*/
Object
queryAll
(
LogQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 查询全部数据
* @param criteria 查询条件
* @return /
*/
List
<
Log
>
queryAll
(
LogQueryCriteria
criteria
);
/**
* 查询用户日志
* @param criteria 查询条件
* @param pageable 分页参数
* @return -
*/
Object
queryAllByUser
(
LogQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 保存日志数据
* @param username 用户
* @param browser 浏览器
* @param ip 请求IP
* @param joinPoint /
* @param log 日志实体
*/
@Async
void
save
(
String
username
,
String
browser
,
String
ip
,
ProceedingJoinPoint
joinPoint
,
Log
log
);
...
...
@@ -32,5 +57,11 @@ public interface LogService {
*/
Object
findByErrDetail
(
Long
id
);
void
download
(
List
<
Log
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
;
/**
* 导出日志
* @param logs 待导出的数据
* @param response /
* @throws IOException /
*/
void
download
(
List
<
Log
>
logs
,
HttpServletResponse
response
)
throws
IOException
;
}
eladmin-logging/src/main/java/me/zhengjie/service/dto/LogErrorDTO.java
View file @
e4ca7afc
...
...
@@ -13,26 +13,19 @@ public class LogErrorDTO implements Serializable {
private
Long
id
;
// 操作用户
private
String
username
;
// 描述
private
String
description
;
// 方法名
private
String
method
;
// 参数
private
String
params
;
private
String
browser
;
// 请求ip
private
String
requestIp
;
private
String
address
;
// 创建日期
private
Timestamp
createTime
;
}
\ No newline at end of file
eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java
View file @
e4ca7afc
...
...
@@ -13,7 +13,6 @@ import java.util.List;
@Data
public
class
LogQueryCriteria
{
// 多字段模糊
@Query
(
blurry
=
"username,description,address,requestIp,method,params"
)
private
String
blurry
;
...
...
eladmin-logging/src/main/java/me/zhengjie/service/dto/LogSmallDTO.java
View file @
e4ca7afc
...
...
@@ -11,19 +11,15 @@ import java.sql.Timestamp;
@Data
public
class
LogSmallDTO
implements
Serializable
{
// 描述
private
String
description
;
// 请求ip
private
String
requestIp
;
// 请求耗时
private
Long
time
;
private
String
address
;
private
String
browser
;
// 创建日期
private
Timestamp
createTime
;
}
eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java
View file @
e4ca7afc
...
...
@@ -9,10 +9,7 @@ import me.zhengjie.service.LogService;
import
me.zhengjie.service.dto.LogQueryCriteria
;
import
me.zhengjie.service.mapper.LogErrorMapper
;
import
me.zhengjie.service.mapper.LogSmallMapper
;
import
me.zhengjie.utils.FileUtil
;
import
me.zhengjie.utils.PageUtil
;
import
me.zhengjie.utils.QueryHelp
;
import
me.zhengjie.utils.StringUtils
;
import
me.zhengjie.utils.*
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.data.domain.Page
;
...
...
@@ -52,7 +49,8 @@ public class LogServiceImpl implements LogService {
@Override
public
Object
queryAll
(
LogQueryCriteria
criteria
,
Pageable
pageable
){
Page
<
Log
>
page
=
logRepository
.
findAll
(((
root
,
criteriaQuery
,
cb
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
cb
)),
pageable
);
if
(
"ERROR"
.
equals
(
criteria
.
getLogType
()))
{
String
status
=
"ERROR"
;
if
(
status
.
equals
(
criteria
.
getLogType
()))
{
return
PageUtil
.
toPage
(
page
.
map
(
logErrorMapper:
:
toDto
));
}
return
page
;
...
...
@@ -97,8 +95,8 @@ public class LogServiceImpl implements LogService {
assert
log
!=
null
;
log
.
setRequestIp
(
ip
);
String
LOGINPATH
=
"login"
;
if
(
LOGINPATH
.
equals
(
signature
.
getName
())){
String
loginPath
=
"login"
;
if
(
loginPath
.
equals
(
signature
.
getName
())){
try
{
assert
argValues
!=
null
;
username
=
new
JSONObject
(
argValues
[
0
]).
get
(
"username"
).
toString
();
...
...
@@ -116,7 +114,9 @@ public class LogServiceImpl implements LogService {
@Override
public
Object
findByErrDetail
(
Long
id
)
{
byte
[]
details
=
logRepository
.
findExceptionById
(
id
).
getExceptionDetail
();
Log
log
=
logRepository
.
findById
(
id
).
orElseGet
(
Log:
:
new
);
ValidationUtil
.
isNull
(
log
.
getId
(),
"Log"
,
"id"
,
id
);
byte
[]
details
=
log
.
getExceptionDetail
();
return
Dict
.
create
().
set
(
"exception"
,
new
String
(
ObjectUtil
.
isNotNull
(
details
)
?
details
:
""
.
getBytes
()));
}
...
...
eladmin-monitor/src/main/java/me/zhengjie/res/ServerMonitorController.java
View file @
e4ca7afc
...
...
@@ -36,19 +36,17 @@ public class ServerMonitorController {
FileSystem
[]
fsArray
=
sigar
.
getFileSystemList
();
double
diskTotal
=
0
;
double
diskUsed
=
0
;
for
(
int
i
=
0
;
i
<
fsArray
.
length
;
i
++
)
{
for
(
FileSystem
fileSystem
:
fsArray
)
{
try
{
FileSystem
fs
=
fsArray
[
i
];
FileSystemUsage
usage
=
null
;
usage
=
sigar
.
getFileSystemUsage
(
fs
.
getDirName
());
switch
(
fs
.
getType
())
{
case
2
:
//本地硬盘
diskTotal
+=
usage
.
getTotal
()/
GB
*
1024
;
diskUsed
+=
usage
.
getUsed
()/
GB
*
1024
;
break
;
usage
=
sigar
.
getFileSystemUsage
(
fileSystem
.
getDirName
());
// 本地硬盘
if
(
fileSystem
.
getType
()
==
2
)
{
diskTotal
+=
usage
.
getTotal
()
/
GB
*
1024
;
diskUsed
+=
usage
.
getUsed
()
/
GB
*
1024
;
}
}
catch
(
Exception
e
)
{}
}
catch
(
Exception
ignored
)
{
}
}
resultMap
.
put
(
"diskTotal"
,
diskTotal
);
resultMap
.
put
(
"diskUsed"
,
diskUsed
);
...
...
eladmin-monitor/src/main/java/me/zhengjie/utils/SigarUtil.java
View file @
e4ca7afc
package
me.zhengjie.utils
;
import
org.hyperic.sigar.*
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.Map
;
import
java.util.Properties
;
/**
* @author
:
ZhangHouYing
* @date
:
2019-11-03 15:04
* @author ZhangHouYing
* @date 2019-11-03 15:04
*/
public
class
SigarUtil
{
...
...
@@ -51,9 +50,12 @@ public class SigarUtil {
addr
=
InetAddress
.
getLocalHost
();
String
ip
=
addr
.
getHostAddress
();
Map
<
String
,
String
>
map
=
System
.
getenv
();
String
userName
=
map
.
get
(
"USERNAME"
);
// 获取用户名
String
computerName
=
map
.
get
(
"COMPUTERNAME"
);
// 获取计算机名
String
userDomain
=
map
.
get
(
"USERDOMAIN"
);
// 获取计算机域名
// 获取用户名
String
userName
=
map
.
get
(
"USERNAME"
);
// 获取计算机名
String
computerName
=
map
.
get
(
"COMPUTERNAME"
);
// 获取计算机域名
String
userDomain
=
map
.
get
(
"USERDOMAIN"
);
System
.
out
.
println
(
"用户名: "
+
userName
);
System
.
out
.
println
(
"计算机名: "
+
computerName
);
System
.
out
.
println
(
"计算机域名: "
+
userDomain
);
...
...
@@ -111,97 +113,100 @@ public class SigarUtil {
private
static
void
cpu
()
throws
SigarException
{
Sigar
sigar
=
new
Sigar
();
CpuInfo
infos
[]
=
sigar
.
getCpuInfoList
();
CpuPerc
cpuList
[]
=
null
;
CpuInfo
[]
infos
=
sigar
.
getCpuInfoList
();
CpuPerc
[]
cpuList
;
System
.
out
.
println
(
"cpu 总量参数情况:"
+
sigar
.
getCpu
());
System
.
out
.
println
(
"cpu 总百分比情况:"
+
sigar
.
getCpuPerc
());
cpuList
=
sigar
.
getCpuPercList
();
for
(
int
i
=
0
;
i
<
infos
.
length
;
i
++)
{
// 不管是单块CPU还是多CPU都适用
// 不管是单块CPU还是多CPU都适用
for
(
int
i
=
0
;
i
<
infos
.
length
;
i
++)
{
CpuInfo
info
=
infos
[
i
];
System
.
out
.
println
(
"第"
+
(
i
+
1
)
+
"块CPU信息"
);
System
.
out
.
println
(
"CPU的总量MHz: "
+
info
.
getMhz
());
// CPU的总量MHz
System
.
out
.
println
(
"CPU生产商: "
+
info
.
getVendor
());
// 获得CPU的卖主,如:Intel
System
.
out
.
println
(
"CPU类别: "
+
info
.
getModel
());
// 获得CPU的类别,如:Celeron
System
.
out
.
println
(
"CPU缓存数量: "
+
info
.
getCacheSize
());
// 缓冲存储器数量
// CPU的总量MHz
System
.
out
.
println
(
"CPU的总量MHz: "
+
info
.
getMhz
());
// 获得CPU的卖主,如:Intel
System
.
out
.
println
(
"CPU生产商: "
+
info
.
getVendor
());
// 获得CPU的类别
System
.
out
.
println
(
"CPU类别: "
+
info
.
getModel
());
// 缓冲存储器数量
System
.
out
.
println
(
"CPU缓存数量: "
+
info
.
getCacheSize
());
printCpuPerc
(
cpuList
[
i
]);
}
}
private
static
void
printCpuPerc
(
CpuPerc
cpu
)
{
System
.
out
.
println
(
"CPU用户使用率: "
+
CpuPerc
.
format
(
cpu
.
getUser
()));
// 用户使用率
System
.
out
.
println
(
"CPU系统使用率: "
+
CpuPerc
.
format
(
cpu
.
getSys
()));
// 系统使用率
System
.
out
.
println
(
"CPU当前等待率: "
+
CpuPerc
.
format
(
cpu
.
getWait
()));
// 当前等待率
System
.
out
.
println
(
"CPU当前错误率: "
+
CpuPerc
.
format
(
cpu
.
getNice
()));
//
System
.
out
.
println
(
"CPU当前空闲率: "
+
CpuPerc
.
format
(
cpu
.
getIdle
()));
// 当前空闲率
System
.
out
.
println
(
"CPU总的使用率: "
+
CpuPerc
.
format
(
cpu
.
getCombined
()));
// 总的使用率
System
.
out
.
println
(
"CPU用户使用率: "
+
CpuPerc
.
format
(
cpu
.
getUser
()));
System
.
out
.
println
(
"CPU系统使用率: "
+
CpuPerc
.
format
(
cpu
.
getSys
()));
System
.
out
.
println
(
"CPU当前等待率: "
+
CpuPerc
.
format
(
cpu
.
getWait
()));
System
.
out
.
println
(
"CPU当前错误率: "
+
CpuPerc
.
format
(
cpu
.
getNice
()));
System
.
out
.
println
(
"CPU当前空闲率: "
+
CpuPerc
.
format
(
cpu
.
getIdle
()));
System
.
out
.
println
(
"CPU总的使用率: "
+
CpuPerc
.
format
(
cpu
.
getCombined
()));
}
private
static
void
os
()
{
OperatingSystem
OS
=
OperatingSystem
.
getInstance
();
OperatingSystem
os
=
OperatingSystem
.
getInstance
();
// 操作系统内核类型如: 386、486、586等x86
System
.
out
.
println
(
"操作系统: "
+
OS
.
getArch
());
System
.
out
.
println
(
"操作系统CpuEndian(): "
+
OS
.
getCpuEndian
());
//
System
.
out
.
println
(
"操作系统DataModel(): "
+
OS
.
getDataModel
());
//
System
.
out
.
println
(
"操作系统: "
+
os
.
getArch
());
System
.
out
.
println
(
"操作系统CpuEndian(): "
+
os
.
getCpuEndian
());
System
.
out
.
println
(
"操作系统DataModel(): "
+
os
.
getDataModel
());
// 系统描述
System
.
out
.
println
(
"操作系统的描述: "
+
OS
.
getDescription
());
System
.
out
.
println
(
"操作系统的描述: "
+
os
.
getDescription
());
// 操作系统类型
//
System.out.println("OS.getName(): " +
OS
.getName());
//
System.out.println("OS.getPatchLevel(): " +
OS
.getPatchLevel());
//
System
.
out
.
println
(
"OS.getName(): "
+
os
.
getName
());
System
.
out
.
println
(
"OS.getPatchLevel(): "
+
os
.
getPatchLevel
());
// 操作系统的卖主
System
.
out
.
println
(
"操作系统的卖主: "
+
OS
.
getVendor
());
System
.
out
.
println
(
"操作系统的卖主: "
+
os
.
getVendor
());
// 卖主名称
System
.
out
.
println
(
"操作系统的卖主名: "
+
OS
.
getVendorCodeName
());
System
.
out
.
println
(
"操作系统的卖主名: "
+
os
.
getVendorCodeName
());
// 操作系统名称
System
.
out
.
println
(
"操作系统名称: "
+
OS
.
getVendorName
());
System
.
out
.
println
(
"操作系统名称: "
+
os
.
getVendorName
());
// 操作系统卖主类型
System
.
out
.
println
(
"操作系统卖主类型: "
+
OS
.
getVendorVersion
());
System
.
out
.
println
(
"操作系统卖主类型: "
+
os
.
getVendorVersion
());
// 操作系统的版本号
System
.
out
.
println
(
"操作系统的版本号: "
+
OS
.
getVersion
());
System
.
out
.
println
(
"操作系统的版本号: "
+
os
.
getVersion
());
}
private
static
void
who
()
throws
SigarException
{
Sigar
sigar
=
new
Sigar
();
Who
who
[]
=
sigar
.
getWhoList
();
if
(
who
!=
null
&&
who
.
length
>
0
)
{
for
(
int
i
=
0
;
i
<
who
.
length
;
i
++)
{
// System.out.println("当前系统进程表中的用户名" + String.valueOf(i));
Who
_who
=
who
[
i
];
System
.
out
.
println
(
"用户控制台: "
+
_who
.
getDevice
());
System
.
out
.
println
(
"用户host: "
+
_who
.
getHost
());
// System.out.println("getTime(): " + _who.getTime());
Who
[]
whos
=
sigar
.
getWhoList
();
if
(
whos
!=
null
&&
whos
.
length
>
0
)
{
for
(
Who
who
:
whos
)
{
System
.
out
.
println
(
"用户控制台: "
+
who
.
getDevice
());
System
.
out
.
println
(
"用户host: "
+
who
.
getHost
());
// 当前系统进程表中的用户名
System
.
out
.
println
(
"当前系统进程表中的用户名: "
+
_
who
.
getUser
());
System
.
out
.
println
(
"当前系统进程表中的用户名: "
+
who
.
getUser
());
}
}
}
private
static
void
file
()
throws
Exception
{
Sigar
sigar
=
new
Sigar
();
FileSystem
fs
l
ist
[]
=
sigar
.
getFileSystemList
();
for
(
int
i
=
0
;
i
<
fs
l
ist
.
length
;
i
++)
{
FileSystem
[]
fs
L
ist
=
sigar
.
getFileSystemList
();
for
(
int
i
=
0
;
i
<
fs
L
ist
.
length
;
i
++)
{
System
.
out
.
println
(
"分区的盘符名称"
+
i
);
FileSystem
fs
=
fs
l
ist
[
i
];
FileSystem
fs
=
fs
L
ist
[
i
];
// 分区的盘符名称
System
.
out
.
println
(
"盘符名称: "
+
fs
.
getDevName
());
// 分区的盘符名称
System
.
out
.
println
(
"盘符路径: "
+
fs
.
getDirName
());
System
.
out
.
println
(
"盘符标志: "
+
fs
.
getFlags
());
//
System
.
out
.
println
(
"盘符标志: "
+
fs
.
getFlags
());
// 文件系统类型,比如 FAT32、NTFS
System
.
out
.
println
(
"盘符类型: "
+
fs
.
getSysTypeName
());
// 文件系统类型名,比如本地硬盘、光驱、网络文件系统等
System
.
out
.
println
(
"盘符类型名: "
+
fs
.
getTypeName
());
// 文件系统类型
System
.
out
.
println
(
"盘符文件系统类型: "
+
fs
.
getType
());
FileSystemUsage
usage
=
null
;
FileSystemUsage
usage
;
usage
=
sigar
.
getFileSystemUsage
(
fs
.
getDirName
());
switch
(
fs
.
getType
())
{
case
0
:
// TYPE_UNKNOWN :未知
break
;
case
1
:
// TYPE_NONE
break
;
case
2
:
// TYPE_LOCAL_DISK : 本地硬盘
// TYPE_UNKNOWN :未知
case
0
:
break
;
// TYPE_NONE
case
1
:
break
;
// TYPE_LOCAL_DISK : 本地硬盘
case
2
:
// 文件系统总大小
System
.
out
.
println
(
fs
.
getDevName
()
+
"总大小: "
+
usage
.
getTotal
()
+
"KB"
);
// 文件系统剩余大小
...
...
@@ -214,62 +219,61 @@ public class SigarUtil {
// 文件系统资源的利用率
System
.
out
.
println
(
fs
.
getDevName
()
+
"资源的利用率: "
+
usePercent
+
"%"
);
break
;
case
3
:
// TYPE_NETWORK :网络
break
;
case
4
:
// TYPE_RAM_DISK :闪存
break
;
case
5
:
// TYPE_CDROM :光驱
break
;
case
6
:
// TYPE_SWAP :页面交换
break
;
// TYPE_NETWORK :网络
case
3
:
break
;
// TYPE_RAM_DISK :闪存
case
4
:
break
;
// TYPE_CD_ROM :光驱
case
5
:
break
;
// TYPE_SWAP :页面交换
case
6
:
break
;
default
:
break
;
}
System
.
out
.
println
(
fs
.
getDevName
()
+
"读出:
"
+
usage
.
getDiskReads
());
System
.
out
.
println
(
fs
.
getDevName
()
+
"写入:
"
+
usage
.
getDiskWrites
());
System
.
out
.
println
(
fs
.
getDevName
()
+
"读出:"
+
usage
.
getDiskReads
());
System
.
out
.
println
(
fs
.
getDevName
()
+
"写入:"
+
usage
.
getDiskWrites
());
}
return
;
}
private
static
void
net
()
throws
Exception
{
Sigar
sigar
=
new
Sigar
();
String
ifNames
[]
=
sigar
.
getNetInterfaceList
();
for
(
int
i
=
0
;
i
<
ifNames
.
length
;
i
++)
{
String
name
=
ifNames
[
i
];
String
[]
ifNames
=
sigar
.
getNetInterfaceList
();
for
(
String
name
:
ifNames
)
{
NetInterfaceConfig
ifconfig
=
sigar
.
getNetInterfaceConfig
(
name
);
System
.
out
.
println
(
"网络设备名: "
+
name
);
// 网络设备名
System
.
out
.
println
(
"IP地址: "
+
ifconfig
.
getAddress
());
// IP地址
System
.
out
.
println
(
"子网掩码: "
+
ifconfig
.
getNetmask
());
// 子网掩码
System
.
out
.
println
(
"网络设备名: "
+
name
);
System
.
out
.
println
(
"IP地址: "
+
ifconfig
.
getAddress
());
System
.
out
.
println
(
"子网掩码: "
+
ifconfig
.
getNetmask
());
if
((
ifconfig
.
getFlags
()
&
1L
)
<=
0L
)
{
System
.
out
.
println
(
"!IFF_UP...skipping getNetInterfaceStat"
);
continue
;
}
NetInterfaceStat
ifstat
=
sigar
.
getNetInterfaceStat
(
name
);
System
.
out
.
println
(
name
+
"接收的总包裹数:"
+
ifstat
.
getRxPackets
());
// 接收的总包裹数
System
.
out
.
println
(
name
+
"发送的总包裹数:"
+
ifstat
.
getTxPackets
());
// 发送的总包裹数
System
.
out
.
println
(
name
+
"接收到的总字节数:"
+
ifstat
.
getRxBytes
());
// 接收到的总字节数
System
.
out
.
println
(
name
+
"发送的总字节数:"
+
ifstat
.
getTxBytes
());
// 发送的总字节数
System
.
out
.
println
(
name
+
"接收到的错误包数:"
+
ifstat
.
getRxErrors
());
// 接收到的错误包数
System
.
out
.
println
(
name
+
"发送数据包时的错误数:"
+
ifstat
.
getTxErrors
());
// 发送数据包时的错误数
System
.
out
.
println
(
name
+
"接收时丢弃的包数:"
+
ifstat
.
getRxDropped
());
// 接收时丢弃的包数
System
.
out
.
println
(
name
+
"发送时丢弃的包数:"
+
ifstat
.
getTxDropped
());
// 发送时丢弃的包数
System
.
out
.
println
(
name
+
"接收的总包裹数:"
+
ifstat
.
getRxPackets
());
System
.
out
.
println
(
name
+
"发送的总包裹数:"
+
ifstat
.
getTxPackets
());
System
.
out
.
println
(
name
+
"接收到的总字节数:"
+
ifstat
.
getRxBytes
());
System
.
out
.
println
(
name
+
"发送的总字节数:"
+
ifstat
.
getTxBytes
());
System
.
out
.
println
(
name
+
"接收到的错误包数:"
+
ifstat
.
getRxErrors
());
System
.
out
.
println
(
name
+
"发送数据包时的错误数:"
+
ifstat
.
getTxErrors
());
System
.
out
.
println
(
name
+
"接收时丢弃的包数:"
+
ifstat
.
getRxDropped
());
System
.
out
.
println
(
name
+
"发送时丢弃的包数:"
+
ifstat
.
getTxDropped
());
}
}
private
static
void
ethernet
()
throws
SigarException
{
Sigar
sigar
=
null
;
Sigar
sigar
;
sigar
=
new
Sigar
();
String
[]
if
a
ces
=
sigar
.
getNetInterfaceList
();
for
(
int
i
=
0
;
i
<
if
a
ces
.
length
;
i
++
)
{
NetInterfaceConfig
cfg
=
sigar
.
getNetInterfaceConfig
(
if
a
ce
s
[
i
]
);
String
[]
if
A
ces
=
sigar
.
getNetInterfaceList
();
for
(
String
ifAce
:
if
A
ces
)
{
NetInterfaceConfig
cfg
=
sigar
.
getNetInterfaceConfig
(
if
A
ce
);
if
(
NetFlags
.
LOOPBACK_ADDRESS
.
equals
(
cfg
.
getAddress
())
||
(
cfg
.
getFlags
()
&
NetFlags
.
IFF_LOOPBACK
)
!=
0
||
NetFlags
.
NULL_HWADDR
.
equals
(
cfg
.
getHwaddr
()))
{
continue
;
}
System
.
out
.
println
(
cfg
.
getName
()
+
"IP地址:"
+
cfg
.
getAddress
());
// IP地址
System
.
out
.
println
(
cfg
.
getName
()
+
"网关广播地址:"
+
cfg
.
getBroadcast
());
// 网关广播地址
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡MAC地址:"
+
cfg
.
getHwaddr
());
// 网卡MAC地址
System
.
out
.
println
(
cfg
.
getName
()
+
"子网掩码:"
+
cfg
.
getNetmask
());
// 子网掩码
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡描述信息:"
+
cfg
.
getDescription
());
// 网卡描述信息
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡类型"
+
cfg
.
getType
());
//
System
.
out
.
println
(
cfg
.
getName
()
+
"IP地址:"
+
cfg
.
getAddress
());
System
.
out
.
println
(
cfg
.
getName
()
+
"网关广播地址:"
+
cfg
.
getBroadcast
());
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡MAC地址:"
+
cfg
.
getHwaddr
());
System
.
out
.
println
(
cfg
.
getName
()
+
"子网掩码:"
+
cfg
.
getNetmask
());
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡描述信息:"
+
cfg
.
getDescription
());
System
.
out
.
println
(
cfg
.
getName
()
+
"网卡类型"
+
cfg
.
getType
());
}
}
}
eladmin-system/src/main/java/me/zhengjie/config/DataScope.java
View file @
e4ca7afc
...
...
@@ -4,11 +4,9 @@ import me.zhengjie.modules.system.domain.Dept;
import
me.zhengjie.modules.system.service.DeptService
;
import
me.zhengjie.modules.system.service.RoleService
;
import
me.zhengjie.modules.system.service.UserService
;
import
me.zhengjie.modules.system.service.dto.DeptDTO
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDTO
;
import
me.zhengjie.modules.system.service.dto.UserDTO
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDto
;
import
me.zhengjie.modules.system.service.dto.UserDto
;
import
me.zhengjie.utils.SecurityUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
...
...
@@ -39,15 +37,15 @@ public class DataScope {
public
Set
<
Long
>
getDeptIds
()
{
UserD
TO
user
=
userService
.
findByName
(
SecurityUtils
.
getUsername
());
UserD
to
user
=
userService
.
findByName
(
SecurityUtils
.
getUsername
());
// 用于存储部门id
Set
<
Long
>
deptIds
=
new
HashSet
<>();
// 查询用户角色
List
<
RoleSmallD
TO
>
roleSet
=
roleService
.
findByUsers
_
Id
(
user
.
getId
());
List
<
RoleSmallD
to
>
roleSet
=
roleService
.
findByUsersId
(
user
.
getId
());
for
(
RoleSmallD
TO
role
:
roleSet
)
{
for
(
RoleSmallD
to
role
:
roleSet
)
{
if
(
scopeType
[
0
].
equals
(
role
.
getDataScope
()))
{
return
new
HashSet
<>()
;
...
...
eladmin-system/src/main/java/me/zhengjie/config/thread/AsyncTaskExecutePool.java
View file @
e4ca7afc
...
...
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadPoolExecutor;
@Configuration
public
class
AsyncTaskExecutePool
implements
AsyncConfigurer
{
/
/
注入配置类
/
**
注入配置类
*/
private
final
AsyncTaskProperties
config
;
public
AsyncTaskExecutePool
(
AsyncTaskProperties
config
)
{
...
...
eladmin-system/src/main/java/me/zhengjie/config/thread/TheadFactoryName.java
View file @
e4ca7afc
...
...
@@ -13,7 +13,7 @@ import java.util.concurrent.atomic.AtomicInteger;
@Component
public
class
TheadFactoryName
implements
ThreadFactory
{
private
static
final
AtomicInteger
poolNumber
=
new
AtomicInteger
(
1
);
private
static
final
AtomicInteger
POOL_NUMBER
=
new
AtomicInteger
(
1
);
private
final
ThreadGroup
group
;
private
final
AtomicInteger
threadNumber
=
new
AtomicInteger
(
1
);
private
final
String
namePrefix
;
...
...
@@ -28,7 +28,7 @@ public class TheadFactoryName implements ThreadFactory {
Thread
.
currentThread
().
getThreadGroup
();
//此时namePrefix就是 name + 第几个用这个工厂创建线程池的
this
.
namePrefix
=
name
+
poolNumber
.
getAndIncrement
();
POOL_NUMBER
.
getAndIncrement
();
}
@Override
...
...
eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/ServerDeploy.java
View file @
e4ca7afc
...
...
@@ -18,9 +18,6 @@ import java.sql.Timestamp;
@Table
(
name
=
"mnt_server"
)
public
class
ServerDeploy
implements
Serializable
{
/**
* 服务器IP
*/
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
...
...
eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/ServerDeployRepository.java
View file @
e4ca7afc
...
...
@@ -12,5 +12,10 @@ import org.springframework.data.jpa.repository.Query;
*/
public
interface
ServerDeployRepository
extends
JpaRepository
<
ServerDeploy
,
Long
>,
JpaSpecificationExecutor
<
ServerDeploy
>
{
/**
* 根据IP查询
* @param ip /
* @return /
*/
ServerDeploy
findByIp
(
String
ip
);
}
eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java
View file @
e4ca7afc
package
me.zhengjie.modules.mnt.service
;
import
me.zhengjie.modules.mnt.domain.App
;
import
me.zhengjie.modules.mnt.service.dto.AppD
TO
;
import
me.zhengjie.modules.mnt.service.dto.AppD
to
;
import
me.zhengjie.modules.mnt.service.dto.AppQueryCriteria
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -11,15 +11,44 @@ import org.springframework.data.domain.Pageable;
*/
public
interface
AppService
{
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object
queryAll
(
AppQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 查询全部数据
* @param criteria 条件
* @return /
*/
Object
queryAll
(
AppQueryCriteria
criteria
);
AppDTO
findById
(
Long
id
);
AppDTO
create
(
App
resources
);
/**
* 根据ID查询
* @param id /
* @return /
*/
AppDto
findById
(
Long
id
);
/**
* 创建
* @param resources /
* @return /
*/
AppDto
create
(
App
resources
);
/**
* 编辑
* @param resources /
*/
void
update
(
App
resources
);
/**
* 删除
* @param id /
*/
void
delete
(
Long
id
);
}
eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java
View file @
e4ca7afc
package
me.zhengjie.modules.mnt.service
;
import
me.zhengjie.modules.mnt.domain.Database
;
import
me.zhengjie.modules.mnt.service.dto.DatabaseD
TO
;
import
me.zhengjie.modules.mnt.service.dto.DatabaseD
to
;
import
me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -11,15 +11,44 @@ import org.springframework.data.domain.Pageable;
*/
public
interface
DatabaseService
{
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object
queryAll
(
DatabaseQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 查询全部
* @param criteria 条件
* @return /
*/
Object
queryAll
(
DatabaseQueryCriteria
criteria
);
DatabaseDTO
findById
(
String
id
);
DatabaseDTO
create
(
Database
resources
);
/**
* 根据ID查询
* @param id /
* @return /
*/
DatabaseDto
findById
(
String
id
);
/**
* 创建
* @param resources /
* @return /
*/
DatabaseDto
create
(
Database
resources
);
/**
* 编辑
* @param resources /
*/
void
update
(
Database
resources
);
/**
* 删除
* @param id /
*/
void
delete
(
String
id
);
}
eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java
View file @
e4ca7afc
package
me.zhengjie.modules.mnt.service
;
import
me.zhengjie.modules.mnt.domain.DeployHistory
;
import
me.zhengjie.modules.mnt.service.dto.DeployHistoryD
TO
;
import
me.zhengjie.modules.mnt.service.dto.DeployHistoryD
to
;
import
me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria
;
import
org.springframework.data.domain.Pageable
;
/**
* @author zhanghouying
*/
public
interface
DeployHistoryService
{
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object
queryAll
(
DeployHistoryQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 查询全部
* @param criteria 条件
* @return /
*/
Object
queryAll
(
DeployHistoryQueryCriteria
criteria
);
DeployHistoryDTO
findById
(
String
id
);
/**
* 根据ID查询
* @param id /
* @return /
*/
DeployHistoryDto
findById
(
String
id
);
DeployHistoryDTO
create
(
DeployHistory
resources
);
/**
* 创建
* @param resources /
* @return /
*/
DeployHistoryDto
create
(
DeployHistory
resources
);
/**
* 删除
* @param id /
*/
void
delete
(
String
id
);
}
eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java
View file @
e4ca7afc
...
...
@@ -2,7 +2,7 @@ package me.zhengjie.modules.mnt.service;
import
me.zhengjie.modules.mnt.domain.Deploy
;
import
me.zhengjie.modules.mnt.domain.DeployHistory
;
import
me.zhengjie.modules.mnt.service.dto.DeployD
TO
;
import
me.zhengjie.modules.mnt.service.dto.DeployD
to
;
import
me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -12,25 +12,54 @@ import org.springframework.data.domain.Pageable;
*/
public
interface
DeployService
{
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object
queryAll
(
DeployQueryCriteria
criteria
,
Pageable
pageable
);
/**
* 查询全部数据
* @param criteria 条件
* @return /
*/
Object
queryAll
(
DeployQueryCriteria
criteria
);
DeployDTO
findById
(
Long
id
);
/**
* 根据ID查询
* @param id /
* @return /
*/
DeployDto
findById
(
Long
id
);
/**
* 创建
* @param resources /
* @return /
*/
DeployDto
create
(
Deploy
resources
);
DeployDTO
create
(
Deploy
resources
);
/**
* 编辑
* @param resources /
*/
void
update
(
Deploy
resources
);
/**
* 删除
* @param id /
*/
void
delete
(
Long
id
);
/**
* 部署文件到服务器
* @param fileSavePath 文件路径
* @param appId 应用ID
* @return /
*/
String
deploy
(
String
fileSavePath
,
Long
appId
);
*/
void
deploy
(
String
fileSavePath
,
Long
appId
);
/**
* 查询部署状态
...
...
Prev
1
2
3
4
5
6
…
8
Next
Write
Preview
Supports
Markdown
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