日志查询优化, Es Tool 添加 聚合函数

yun-zuoyi
wei.peng 5 years ago
parent 88fe498fea
commit 92758d80e0

@ -22,21 +22,25 @@ public interface ISysLogService {
ListPager<SysLogException> queryLogExceptionPager(SysLogException log, Pager pager);
List<SysLogException> findLogExceptionList(SysLogException log, Pager pager);
List<SysLogException> findLogExceptionList(SysLogException log);
SysLogException insertLogException(SysLogException log);
SysLogException getLogException(SysLogException log);
ListPager<SysLogOperate> queryLogOperatePager(SysLogOperate log, Pager pager);
List<SysLogOperate> findLogOperateList(SysLogOperate log, Pager pager);
List<SysLogOperate> findLogOperateList(SysLogOperate log);
SysLogOperate insertLogOperate(SysLogOperate log);
SysLogOperate getLogOperate(SysLogOperate log);
ListPager<SysLogSystem> queryLogSystemPager(SysLogSystem log, Pager pager);
List<SysLogSystem> findLogSystemList(SysLogSystem log, Pager pager);
List<SysLogSystem> findLogSystemList(SysLogSystem log);
SysLogSystem insertLogSystem(SysLogSystem log);
SysLogSystem getLogSystem(SysLogSystem log);
ListPager<SysLogTaskTime> queryLogTaskTimePager(SysLogTaskTime log, Pager pager);
List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log, Pager pager);
List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log);
SysLogTaskTime insertLogTaskTime(SysLogTaskTime log);
SysLogTaskTime getLogTaskTime(SysLogTaskTime log);

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import io.swagger.annotations.ApiOperation;
@ -18,20 +19,6 @@ import java.util.Map;
public interface ISysDashboardService {
/**
*
* @return
*/
@ApiOperation(value = "查询组织个数")
long getSysOrganizeCount();
/**
*
* @return
*/
@ApiOperation(value = "获取部门数量")
long getSysDepartmentCount();
/**
*
* @return
*/
@ -40,28 +27,17 @@ public interface ISysDashboardService {
/**
*
* @param size
* @return
*/
@ApiOperation(value = "查询操作日志",notes = "查询最近操作日志")
ListPager<SysLogOperate> findNewSysLogOperateSize(Integer size);
List<SysLogOperate> findNewSysLogOperateSize();
/**
*
* @param size
* @return
*/
@ApiOperation(value = "查询异常日志",notes = "查询最近异常日志")
ListPager<SysLogOperate> findNewSysLogExceptionSize(Integer size);
/**
*
* @param startTime
* @param endTime
* @return
*/
@ApiOperation(value = "查询系统日志",notes = "查询系统日志各级别占比")
Map findSysLogSystempByLevel(String startTime,String endTime);
List<SysLogException> findNewSysLogExceptionSize();
/**
*

@ -92,7 +92,7 @@ public class DemoUserInfoController extends CoreBaseController {
executorService.execute(new Runnable() {
@Override
public void run() {
for (int j = 0; j < 10000; j++) {
for (int j = 0; j < 20000; j++) {
try {
System.out.println(Thread.currentThread().getName() + "----> Start insert " + j);
personnelController.insertUserDetailModel(getUserDetailModel());

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
@ -49,6 +51,12 @@ public class SysDashboardController extends CoreBaseController {
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
private ImppRedis redisCore;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysDepartmentService departmentService;
public static final int TIMEOUT = 60 * 60;
/**
@ -68,8 +76,8 @@ public class SysDashboardController extends CoreBaseController {
LOGGER.info("getBasicInforedisKey:{},dashboardData:{}",redisKey,dashboardData);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
dashboardData.put("orgNum", organizeService.getSysOrganizeCount());
dashboardData.put("deptNum", departmentService.getSysDepartmentCount());
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
@ -100,8 +108,8 @@ public class SysDashboardController extends CoreBaseController {
LOGGER.info("最近操作,异常日志:{}",redisKey);
if (dashboardData == null || dashboardData.size() == 0) {
dashboardData = new HashMap<>();
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize());
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize());
redisCore.putHashMap(redisKey, dashboardData, TIMEOUT);
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.core.apiservice.controller.busi.SysDashboardController;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
@ -14,6 +16,7 @@ import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@ -40,6 +43,13 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
@Autowired
private ISysDashboardService sysDashboardService;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysDepartmentService departmentService;
@Resource(name = CommonConstWords.IMPP_REDIS_CORE)
private ImppRedis redisCore;
@ -53,8 +63,8 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
// 更新基础信息 获取基础数据,用户,部门,组织等信息
Map<Object, Object> dashboardData = new HashMap<>();
dashboardData.put("orgNum", sysDashboardService.getSysOrganizeCount());
dashboardData.put("deptNum", sysDashboardService.getSysDepartmentCount());
dashboardData.put("orgNum", organizeService.getSysOrganizeCount());
dashboardData.put("deptNum", departmentService.getSysDepartmentCount());
dashboardData.put("onlineUser", webSessionManager.getSessionDAO().getActiveSessions().size());
dashboardData.put("userLoginLog", sysDashboardService.findSysUserLoginLog(10));
@ -63,8 +73,8 @@ public class SysDashboardDataJob extends BaseImppScheduleJob {
// 最近操作,异常日志
dashboardData = new HashMap<>();
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize(10));
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize(10));
dashboardData.put("logOperate", sysDashboardService.findNewSysLogOperateSize());
dashboardData.put("logException", sysDashboardService.findNewSysLogExceptionSize());
LOGGER.info("最近操作,异常日志 {}{}", PlatformConstWords.REDIS_DASHBOARD_LOG_INFO, dashboardData);
redisCore.putHashMap(PlatformConstWords.REDIS_DASHBOARD_LOG_INFO, dashboardData, SysDashboardController.TIMEOUT);

@ -45,6 +45,11 @@ public class SysLogElasticSearchService implements ISysLogService {
}
@Override
public List<SysLogException> findLogExceptionList(SysLogException log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogException(log),SysLogException.class);
}
@Override
public SysLogException insertLogException(SysLogException log) {
imppLog.insertSysLogException(log);
return log;
@ -66,6 +71,11 @@ public class SysLogElasticSearchService implements ISysLogService {
}
@Override
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogOperate(log),SysLogOperate.class);
}
@Override
public SysLogOperate insertLogOperate(SysLogOperate log) {
imppLog.insertSysLogOperate(log);
return log;
@ -87,6 +97,11 @@ public class SysLogElasticSearchService implements ISysLogService {
}
@Override
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogSystem(log), SysLogSystem.class);
}
@Override
public SysLogSystem insertLogSystem(SysLogSystem log) {
imppLog.insertSysLogSystem(log);
return log;
@ -108,6 +123,11 @@ public class SysLogElasticSearchService implements ISysLogService {
}
@Override
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
return ElasticSearchTool.searchList(NoSqlPack.packEsSysLogTaskTime(log),SysLogTaskTime.class);
}
@Override
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
imppLog.insertSysLogTaskTime(log);
return log;

@ -89,6 +89,11 @@ public class SysLogFactory implements ISysLogService {
}
@Override
public List<SysLogException> findLogExceptionList(SysLogException log) {
return getSysLogService().findLogExceptionList(log);
}
@Override
public SysLogException insertLogException(SysLogException log) {
return getSysLogService().insertLogException(log);
}
@ -109,6 +114,11 @@ public class SysLogFactory implements ISysLogService {
}
@Override
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
return getSysLogService().findLogOperateList(log);
}
@Override
public SysLogOperate insertLogOperate(SysLogOperate log) {
return getSysLogService().insertLogOperate(log);
}
@ -129,6 +139,11 @@ public class SysLogFactory implements ISysLogService {
}
@Override
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
return getSysLogService().findLogSystemList(log);
}
@Override
public SysLogSystem insertLogSystem(SysLogSystem log) {
return getSysLogService().insertLogSystem(log);
}
@ -149,6 +164,11 @@ public class SysLogFactory implements ISysLogService {
}
@Override
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
return getSysLogService().findLogTaskTimeList(log);
}
@Override
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
return getSysLogService().insertLogTaskTime(log);
}

@ -5,6 +5,7 @@ import cn.estsh.i3plus.core.apiservice.util.NoSqlPack;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.MathOperation;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -155,6 +156,12 @@ public class SysLogMongoService implements ISysLogService {
}
@Override
public List<SysLogException> findLogExceptionList(SysLogException log) {
Bson bson = NoSqlPack.packMongoBySysLogException(log);
return getSysLogExceptionRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
public SysLogException insertLogException(SysLogException log) {
return getSysLogExceptionRepository().save(log);
}
@ -178,6 +185,12 @@ public class SysLogMongoService implements ISysLogService {
}
@Override
public List<SysLogOperate> findLogOperateList(SysLogOperate log) {
Bson bson = NoSqlPack.packMongoByLogOperate(log);
return getSysLogOperateRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
public SysLogOperate insertLogOperate(SysLogOperate log) {
return getSysLogOperateRepository().save(log);
}
@ -201,6 +214,12 @@ public class SysLogMongoService implements ISysLogService {
}
@Override
public List<SysLogSystem> findLogSystemList(SysLogSystem log) {
Bson bson = NoSqlPack.packMongoByLogSystem(log);
return getSysLogSystemRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
public SysLogSystem insertLogSystem(SysLogSystem log) {
return getSysLogSystemRepository().save(log);
}
@ -224,6 +243,12 @@ public class SysLogMongoService implements ISysLogService {
}
@Override
public List<SysLogTaskTime> findLogTaskTimeList(SysLogTaskTime log) {
Bson bson = NoSqlPack.packMongoByLogTaskTime(log);
return getSysLogTaskTimeRepository().findByBsonPager(bson, CommonConstWords.getDefaultPager(), log.getOrderByParam(), log.getAscOrDesc());
}
@Override
public SysLogTaskTime insertLogTaskTime(SysLogTaskTime log) {
return getSysLogTaskTimeRepository().save(log);
}

@ -2,12 +2,15 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysDashboardService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
@ -35,24 +38,22 @@ public class SysDashboardService implements ISysDashboardService {
private SysDepartmentRepository sysDepartmentRDao;
@Autowired
private ISysOrganizeService organizeService;
@Autowired
private ISysLogService logService;
@Autowired
private SysUserRepository sysUserRDao;
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询组织个数")
public long getSysOrganizeCount() {
// return logService.countSysLogOperate();
return 0L;
}
private static final Pager PAGER;
private static final SysLogOperate SYS_LOG_OPERATE = new SysLogOperate();
private static final SysLogException SYS_LOG_EXCEPTION = new SysLogException();
@Override
@AnnoIgnoreLog
@ApiOperation(value = "获取部门数量")
public long getSysDepartmentCount() {
return sysDepartmentRDao.listCount();
static {
PAGER = new Pager();
PAGER.setCurrentPage(1);
PAGER.setPageSize(CommonConstWords.DASHBOARD_TABLE_SIZE);
}
@Override
@ -68,34 +69,15 @@ public class SysDashboardService implements ISysDashboardService {
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询操作日志",notes = "查询最新的几条操作日志")
public ListPager<SysLogOperate> findNewSysLogOperateSize(Integer size) {
Pager page = new Pager();
page.setCurrentPage(1);
page.setPageSize(size);
SysLogOperate sysLogOperate = new SysLogOperate();
sysLogOperate.setOrderByParam("createDatetime");
sysLogOperate.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
return logService.queryLogOperatePager(sysLogOperate,page);
public List<SysLogOperate> findNewSysLogOperateSize() {
return logService.findLogOperateList(SYS_LOG_OPERATE);
}
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询操异常日志",notes = "查询最新的几条异常日志")
public ListPager<SysLogOperate> findNewSysLogExceptionSize(Integer size) {
Pager page = new Pager();
page.setCurrentPage(1);
page.setPageSize(size);
SysLogOperate sysLogOperate = new SysLogOperate();
sysLogOperate.setOrderByParam("createDatetime");
sysLogOperate.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
return logService.queryLogOperatePager(sysLogOperate,page);
}
@Override
@AnnoIgnoreLog
@ApiOperation(value = "查询系统日志",notes = "查询系统日志各级别占比")
public Map findSysLogSystempByLevel(String startTime, String endTime) {
return null;
public List<SysLogException> findNewSysLogExceptionSize() {
return logService.findLogExceptionList(SYS_LOG_EXCEPTION);
}
@Override

@ -287,7 +287,7 @@ public class SysDepartmentService implements ISysDepartmentService {
@Override
public long getSysDepartmentCount() {
return departmentRDao.listCount();
return departmentRDao.findByHqlWhereCount(DdlPackBean.getDdlPackBean());
}
}

@ -234,7 +234,7 @@ public class SysOrganizeService implements ISysOrganizeService {
@Override
public long getSysOrganizeCount() {
return organizeRDao.listCount();
return organizeRDao.findByHqlWhereCount(DdlPackBean.getDdlPackBean());
}
@Override

@ -100,7 +100,7 @@ public class NoSqlPack {
result.andKeywordEquals("operateModule",bean.getOperateModule());
result.andStringEquals("remoteIp",bean.getRemoteIp());
result.andStringEquals("createUser",bean.getCreateUser());
result.andTextLike("operateMessage",bean.getOperateMessage());
result.andStringLike("operateMessage",bean.getOperateMessage());
result.andStringDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd());
return result;

Loading…
Cancel
Save