Commit e4ca7afc authored by dqjdda's avatar dqjdda
Browse files

阿里巴巴代码规范

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