From 248596b93781145dd301c0d7d2d1e0580a9d28c8 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Tue, 16 Dec 2025 19:12:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=BD=AF=E4=BB=B6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=92=8C=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DemandServiceImpl.java | 7 +++- .../controller/SystemLogController.java | 8 ++-- .../service/impl/ISysLogServiceImpl.java | 42 +++++++++++++++++-- 3 files changed, 47 insertions(+), 10 deletions(-) diff --git a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java index 1a8a83a8..ba164e2d 100644 --- a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java @@ -697,7 +697,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService { for (TaskNode taskNode : taskNodeList) { createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName()); // 发送消息通知 - sendMessage(MessageTemplateEnum.TASK_ISSUE, taskNode.getNodeName()); + sendMessage(MessageTemplateEnum.TASK_ISSUE, taskNode.getNodeName(), taskNode.getUuid()); } for (TaskNode taskNode : taskNodeList) { // 更新文件权限 @@ -783,12 +783,15 @@ public class DemandServiceImpl extends BaseService implements IDemandService { return response; } - private void sendMessage(MessageTemplateEnum templateEnum, String taskName) { + private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String uuid) { SendMsgReq req = new SendMsgReq(); req.setTitle(templateEnum.getTitle()); req.setContent(templateEnum.getContent(taskName)); req.setTenantId(ThreadLocalContext.getTenantId().toString()); req.setUserId(ThreadLocalContext.getUserId().toString()); + JSONObject params = new JSONObject(); + params.put("taskId", uuid); + req.setParams(JSONObject.toJSONString(params)); messageFeignClient.sendMessage(req); } diff --git a/system/src/main/java/com/sdm/system/controller/SystemLogController.java b/system/src/main/java/com/sdm/system/controller/SystemLogController.java index e7a6e85b..cff8ffb1 100644 --- a/system/src/main/java/com/sdm/system/controller/SystemLogController.java +++ b/system/src/main/java/com/sdm/system/controller/SystemLogController.java @@ -44,8 +44,8 @@ public class SystemLogController implements ISysLogFeignClient { * @param sysLog 系统日志 * @return */ - @GetMapping("/page") - public SdmResponse>> getLogPage(@ParameterObject SysLogDTO sysLog) { + @PostMapping("/page") + public SdmResponse>> getLogPage(@RequestBody SysLogDTO sysLog) { return logService.getLogByPage(sysLog); } @@ -54,8 +54,8 @@ public class SystemLogController implements ISysLogFeignClient { * @param sysLog * @return */ - @GetMapping("/getUserLoginStatistics") - public SdmResponse> getUserLoginStatistics(@ParameterObject SysLogDTO sysLog) { + @PostMapping("/getUserLoginStatistics") + public SdmResponse> getUserLoginStatistics(@RequestBody SysLogDTO sysLog) { return logService.getUserLoginStatistics(sysLog); } diff --git a/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java index 2dfe5fff..3c1873a0 100644 --- a/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java @@ -31,9 +31,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; + +import static com.mysql.cj.util.TimeUtil.DATE_FORMATTER; /** *

@@ -62,6 +67,9 @@ public class ISysLogServiceImpl extends ServiceImpl implem } PageHelper.startPage(sysLog.getCurrent(), sysLog.getSize()); List sysLogList = this.list(wrapper); + PageInfo page = new PageInfo<>(sysLogList); + long total = page.getTotal(); + List sysLogDTOList = sysLogList.stream().map(i -> { SysLogDTO sysLogDTO = new SysLogDTO(); BeanUtils.copyProperties(i, sysLogDTO); @@ -70,14 +78,40 @@ public class ISysLogServiceImpl extends ServiceImpl implem }).toList(); setCreatorNames(sysLogDTOList); - PageInfo page = new PageInfo<>(sysLogDTOList); - return PageUtils.getJsonObjectSdmResponse(sysLogDTOList, page); + PageInfo page1 = new PageInfo<>(sysLogDTOList); + page1.setTotal(total); + return PageUtils.getJsonObjectSdmResponse(sysLogDTOList, page1); } @Override public SdmResponse> getUserLoginStatistics(SysLogDTO sysLog) { - List respList = baseMapper.countDailyLoginUsers(sysLog.getCreateTimeArr()[0], sysLog.getCreateTimeArr()[1]); - return SdmResponse.success(respList); + String startDate = sysLog.getCreateTimeArr()[0]; + String endDate = sysLog.getCreateTimeArr()[1]; + List respList = baseMapper.countDailyLoginUsers(startDate + " 00:00:00", endDate + " 23:59:59"); + // 将结果转换为Map,方便查找 + Map resultMap = respList.stream() + .collect(Collectors.toMap( + LoginStateResp::getDate, + LoginStateResp::getLoginUserCount + )); + + // 解析日期范围 + LocalDate start = LocalDate.parse(startDate, DATE_FORMATTER); + LocalDate end = LocalDate.parse(endDate, DATE_FORMATTER); + // 生成完整日期列表 + List fullResults = new ArrayList<>(); + LocalDate currentDate = start; + + while (!currentDate.isAfter(end)) { + LoginStateResp resp = new LoginStateResp(); + String dateStr = currentDate.format(DATE_FORMATTER); + resp.setDate(dateStr); + // 如果有数据则用数据,没有则为0 + resp.setLoginUserCount(resultMap.getOrDefault(dateStr, 0)); + fullResults.add(resp); + currentDate = currentDate.plusDays(1); + } + return SdmResponse.success(fullResults); } @Override