|
|
|
@ -47,52 +47,53 @@ public class SysDashboardController extends CoreBaseController {
|
|
|
|
|
@Resource(name = "redisCore")
|
|
|
|
|
private ImppRedis redisCore;
|
|
|
|
|
|
|
|
|
|
@GetMapping("/get")
|
|
|
|
|
@ApiOperation(value = "获取dashboard数据")
|
|
|
|
|
public ResultBean getDashboardData(){
|
|
|
|
|
@GetMapping("/get-basic")
|
|
|
|
|
@ApiOperation(value = "获取基础数据", notes = "获取基础数据,用户,部门,组织等信息")
|
|
|
|
|
public ResultBean getBasicInfo() {
|
|
|
|
|
try {
|
|
|
|
|
Object ds = redisCore.getObject(PlatformConstWords.DASHBOARD_REDIS_KEY + new Date().getTime());
|
|
|
|
|
if(ds == null){
|
|
|
|
|
// 前10分钟的日期时间
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
|
|
cal.setTime(new Date());
|
|
|
|
|
|
|
|
|
|
String endTime = TimeTool.getNowTime(true);
|
|
|
|
|
cal.add(Calendar.MINUTE,-10);
|
|
|
|
|
String startTime = sdf.format(cal.getTime());
|
|
|
|
|
// 保持时间,key统一
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
String redisKey = PlatformConstWords.REDIS_DASHBOARD_BASIC_INFO + "_" + nowDate.getTime();
|
|
|
|
|
|
|
|
|
|
Map dashboardData = new HashMap<>();
|
|
|
|
|
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
|
|
|
|
|
if (dashboardData == null || dashboardData.size() == 0) {
|
|
|
|
|
dashboardData = new HashMap<>();
|
|
|
|
|
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
|
|
|
|
|
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
|
|
|
|
|
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
|
|
|
|
|
dashboardData.put("logOperate",sysDashboardService.findNewSysLogOperateSize(10));
|
|
|
|
|
dashboardData.put("logException",sysDashboardService.findNewSysLogExceptionSize(10));
|
|
|
|
|
dashboardData.put("avgExecuteTime",sysDashboardService.querySysLogSystemAvgExecuteTime(startTime,endTime));
|
|
|
|
|
dashboardData.put("levelLogNum",sysDashboardService.querySysLogSystemByLevel(startTime,endTime));
|
|
|
|
|
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
|
|
|
|
|
|
|
|
|
|
//获取上一分钟
|
|
|
|
|
sdf = new SimpleDateFormat("yyyyMMddHHmm");
|
|
|
|
|
cal.setTime(new Date());
|
|
|
|
|
cal.add(Calendar.MINUTE,-1);
|
|
|
|
|
dashboardData.put("serverPressure",redisCore.getHashMap(CommonConstWords.REDIS_DASHBOARD_MINUTE_SOURCE + "_" + sdf.format(cal.getTime())));
|
|
|
|
|
|
|
|
|
|
//获取上一秒
|
|
|
|
|
sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
cal.setTime(new Date());
|
|
|
|
|
cal.add(Calendar.SECOND,-1);
|
|
|
|
|
dashboardData.put("serverPressure",redisCore.getHashMap(CommonConstWords.REDIS_DASHBOARD_SECOND_PRESSURE + "_" + sdf.format(cal.getTime())));
|
|
|
|
|
redisCore.putHashMap(redisKey, dashboardData, 180);
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(dashboardData);
|
|
|
|
|
} catch (
|
|
|
|
|
ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
redisCore.putObject(PlatformConstWords.DASHBOARD_REDIS_KEY + new Date().getTime(),
|
|
|
|
|
SerializeTool.serialization(dashboardData),60);
|
|
|
|
|
@GetMapping(value = "/get-log")
|
|
|
|
|
@ApiOperation(value = "查询日志", notes = "最近操作,异常日志")
|
|
|
|
|
public ResultBean getLogInfo() {
|
|
|
|
|
try {
|
|
|
|
|
// 保持时间,key统一
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
String redisKey = PlatformConstWords.REDIS_DASHBOARD_AVG_RESP_TIME + "_" + nowDate.getTime();
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap(dashboardData);
|
|
|
|
|
}else{
|
|
|
|
|
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap((Map<Object, Object>) SerializeTool.deserialization(ds.toString()));
|
|
|
|
|
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
|
|
|
|
|
if (dashboardData == null || dashboardData.size() == 0) {
|
|
|
|
|
dashboardData = new HashMap<>();
|
|
|
|
|
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
|
|
|
|
|
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
|
|
|
|
|
|
|
|
|
|
redisCore.putHashMap(redisKey, dashboardData, 180);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap(dashboardData);
|
|
|
|
|
} catch (
|
|
|
|
|
ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
@ -101,4 +102,88 @@ public class SysDashboardController extends CoreBaseController {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/get-avg-response-time")
|
|
|
|
|
@ApiOperation(value = "获取平均响应时间", notes = "获取平均响应时间")
|
|
|
|
|
public ResultBean getAvgResponseTime() {
|
|
|
|
|
try {
|
|
|
|
|
// 保持时间,key统一
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
String redisKey = PlatformConstWords.REDIS_DASHBOARD_AVG_RESP_TIME + "_" + nowDate.getTime();
|
|
|
|
|
|
|
|
|
|
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
|
|
|
|
|
if (dashboardData == null || dashboardData.size() == 0) {
|
|
|
|
|
// 获取前5分钟时间
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
|
|
dashboardData = sysDashboardService.querySysLogSystemAvgExecuteTime(
|
|
|
|
|
sdf.format(TimeTool.timeCalc(nowDate, Calendar.MINUTE, -5)),sdf.format(nowDate));
|
|
|
|
|
|
|
|
|
|
redisCore.putHashMap(redisKey, dashboardData, 180);
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap(dashboardData);
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/get-level-log-num")
|
|
|
|
|
@ApiOperation(value = "获取各等级日志数量", notes = "获取各等级日志数量")
|
|
|
|
|
public ResultBean getLevelLogNum() {
|
|
|
|
|
try {
|
|
|
|
|
// 保持时间,key统一
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
String redisKey = PlatformConstWords.REDIS_DASHBOARD_LOG_NUM + "_" + nowDate.getTime();
|
|
|
|
|
|
|
|
|
|
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
|
|
|
|
|
if (dashboardData == null || dashboardData.size() == 0) {
|
|
|
|
|
// 获取前10分钟时间,日志数量
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
|
|
dashboardData = sysDashboardService.querySysLogSystemByLevel(
|
|
|
|
|
sdf.format(TimeTool.timeCalc(new Date(), Calendar.MINUTE, -10)), sdf.format(nowDate));
|
|
|
|
|
|
|
|
|
|
redisCore.putHashMap(redisKey, dashboardData, 180);
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap(dashboardData);
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/get-server-pressure")
|
|
|
|
|
public ResultBean getServerPressure() {
|
|
|
|
|
try {
|
|
|
|
|
// 保持时间,key统一
|
|
|
|
|
Date nowDate = new Date();
|
|
|
|
|
String redisKey = PlatformConstWords.REDIS_DASHBOARD_SERVER_PRESSURE + "_" + nowDate.getTime();
|
|
|
|
|
|
|
|
|
|
Map<Object, Object> dashboardData = redisCore.getHashMap(redisKey);
|
|
|
|
|
if (dashboardData == null || dashboardData.size() == 0) {
|
|
|
|
|
dashboardData = new HashMap<>();
|
|
|
|
|
//获取上一分钟,请求来源数据
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
|
|
|
|
|
|
|
|
|
|
dashboardData.put("requestSource", redisCore.getHashMap(
|
|
|
|
|
CommonConstWords.REDIS_DASHBOARD_MINUTE_SOURCE + "_" + sdf.format(TimeTool.timeCalc(nowDate, Calendar.MINUTE, -1))));
|
|
|
|
|
|
|
|
|
|
//获取上一秒,服务器压力数据
|
|
|
|
|
sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
|
|
|
|
|
dashboardData.put("serverPressure", redisCore.getObject(
|
|
|
|
|
CommonConstWords.REDIS_DASHBOARD_SECOND_PRESSURE + "_" + sdf.format(TimeTool.timeCalc(nowDate, Calendar.SECOND, -1))));
|
|
|
|
|
|
|
|
|
|
redisCore.putHashMap(redisKey, dashboardData, 180);
|
|
|
|
|
}
|
|
|
|
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
|
|
|
|
.setResultMap(dashboardData);
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|