From cde0b20d9b1a380862824fdc3c57c0a2fd11f798 Mon Sep 17 00:00:00 2001 From: lbw Date: Mon, 27 Nov 2023 13:45:28 +0800 Subject: [PATCH] =?UTF-8?q?ref:=20=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BE=E8=A1=A8=E5=B1=95=E7=A4=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=96=B9=E4=BE=BF=E7=94=A8=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/SysLogController.java | 9 ++ .../pigx/admin/mapper/SysLogMapper.java | 9 ++ .../pigx/admin/service/SysLogService.java | 7 ++ .../admin/service/impl/SysLogServiceImpl.java | 109 ++++++++++-------- .../main/resources/mapper/SysLogMapper.xml | 38 ++++++ 5 files changed, 121 insertions(+), 51 deletions(-) create mode 100644 pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysLogMapper.xml diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysLogController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysLogController.java index 31338be61..92c17e880 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysLogController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysLogController.java @@ -69,6 +69,15 @@ public class SysLogController { return R.ok(sysLogService.getLogByPage(page, sysLog)); } + /** + * 统计三十天内的数据 + * @return R + */ + @GetMapping("/sum") + public R getLogSum() { + return R.ok(sysLogService.getLogSum()); + } + /** * 批量删除日志 * @param ids ID diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysLogMapper.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysLogMapper.java index d6d84f549..8bbb4357f 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysLogMapper.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysLogMapper.java @@ -23,6 +23,9 @@ import com.pig4cloud.pigx.admin.api.entity.SysLog; import com.pig4cloud.pigx.common.data.datascope.PigxBaseMapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Map; + /** *

* 日志表 Mapper 接口 @@ -34,4 +37,10 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface SysLogMapper extends PigxBaseMapper { + /** + * 通过日志类型统计日志总数 返回一个包含日志类型和日志总数的列表 + * @return List> + */ + List> selectLogSumByType(); + } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysLogService.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysLogService.java index 60461df48..221114342 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysLogService.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysLogService.java @@ -26,6 +26,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysLog; import com.pig4cloud.pigx.admin.api.vo.PreLogVO; import java.util.List; +import java.util.Map; /** *

@@ -59,4 +60,10 @@ public interface SysLogService extends IService { */ Boolean saveLog(SysLogDTO sysLog); + /** + * sum 函数计算三十天内的数据 + * @return list map + */ + List> getLogSum(); + } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java index b6e0c7c41..825022a25 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysLogServiceImpl.java @@ -33,13 +33,13 @@ import com.pig4cloud.pigx.admin.service.SysLogService; import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.data.tenant.TenantBroker; import com.pig4cloud.pigx.common.data.tenant.TenantContextHolder; -import com.pig4cloud.pigx.common.log.util.LogTypeEnum; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -53,60 +53,67 @@ import java.util.stream.Collectors; @Service public class SysLogServiceImpl extends ServiceImpl implements SysLogService { - /** - * 批量插入前端错误日志 - * - * @param preLogVoList 日志信息 - * @return true/false - */ - @Override - public Boolean saveBatchLogs(List preLogVoList) { - List sysLogs = preLogVoList.stream().map(pre -> { - SysLog log = new SysLog(); - log.setLogType(LogTypeEnum.ERROR.getType()); - log.setTitle(pre.getInfo()); - log.setException(pre.getStack()); - log.setParams(pre.getMessage()); - log.setCreateTime(LocalDateTime.now()); - log.setRequestUri(pre.getUrl()); - log.setCreateBy(pre.getUser()); - return log; - }).collect(Collectors.toList()); - return this.saveBatch(sysLogs); - } + /** + * 批量插入前端错误日志 + * @param preLogVoList 日志信息 + * @return true/false + */ + @Override + public Boolean saveBatchLogs(List preLogVoList) { + List sysLogs = preLogVoList.stream().map(pre -> { + SysLog log = new SysLog(); + log.setLogType(CommonConstants.STATUS_LOCK); + log.setTitle(pre.getInfo()); + log.setException(pre.getStack()); + log.setParams(pre.getMessage()); + log.setCreateTime(LocalDateTime.now()); + log.setRequestUri(pre.getUrl()); + log.setCreateBy(pre.getUser()); + return log; + }).collect(Collectors.toList()); + return this.saveBatch(sysLogs); + } - @Override - public Page getLogByPage(Page page, SysLogDTO sysLog) { + @Override + public Page getLogByPage(Page page, SysLogDTO sysLog) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - if (StrUtil.isNotBlank(sysLog.getLogType())) { - wrapper.eq(SysLog::getLogType, sysLog.getLogType()); - } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if (StrUtil.isNotBlank(sysLog.getLogType())) { + wrapper.eq(SysLog::getLogType, sysLog.getLogType()); + } - if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) { - wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTime()[0]).le(SysLog::getCreateTime, - sysLog.getCreateTime()[1]); - } + if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) { + wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTime()[0]) + .le(SysLog::getCreateTime, sysLog.getCreateTime()[1]); + } - return baseMapper.selectPage(page, wrapper); - } + return baseMapper.selectPage(page, wrapper); + } - /** - * 插入日志 - * - * @param sysLog 日志对象 - * @return true/false - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean saveLog(SysLogDTO sysLog) { - TenantBroker.applyAs(sysLog::getTenantId, tenantId -> { - TenantContextHolder.setTenantId(tenantId); - SysLog log = new SysLog(); - BeanUtils.copyProperties(sysLog, log, "createTime"); - return baseMapper.insert(log); - }); - return Boolean.TRUE; - } + /** + * 插入日志 + * @param sysLog 日志对象 + * @return true/false + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean saveLog(SysLogDTO sysLog) { + TenantBroker.applyAs(sysLog::getTenantId, tenantId -> { + TenantContextHolder.setTenantId(tenantId); + SysLog log = new SysLog(); + BeanUtils.copyProperties(sysLog, log, "createTime"); + return baseMapper.insert(log); + }); + return Boolean.TRUE; + } + + /** + * sum 函数计算三十天内的数据 + * @return list map + */ + @Override + public List> getLogSum() { + return baseMapper.selectLogSumByType(); + } } diff --git a/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysLogMapper.xml b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysLogMapper.xml new file mode 100644 index 000000000..810437e0a --- /dev/null +++ b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysLogMapper.xml @@ -0,0 +1,38 @@ + + + + + + + +