From aee089ef372462bffaddbb68fd04346a6ac225ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BA=AC=E9=80=9A?= <2405957150@qq.com> Date: Mon, 9 Jun 2025 11:10:56 +0800 Subject: [PATCH] feat:showtime --- .../controller/ApprovalProcessController.java | 63 ++++++++++++++++++- .../database/domain/ApprovalProcess.java | 3 + 2 files changed, 63 insertions(+), 3 deletions(-) diff --git a/gather-app/src/main/java/com/ruoyi/business/controller/ApprovalProcessController.java b/gather-app/src/main/java/com/ruoyi/business/controller/ApprovalProcessController.java index 8bb492e..9970851 100644 --- a/gather-app/src/main/java/com/ruoyi/business/controller/ApprovalProcessController.java +++ b/gather-app/src/main/java/com/ruoyi/business/controller/ApprovalProcessController.java @@ -40,6 +40,13 @@ public class ApprovalProcessController extends BaseController { startPage(); QueryWrapper queryWrapper = new QueryWrapper<>(approvalProcess); queryWrapper.orderByDesc("create_time"); + if (approvalProcess.getTimeType() == 1) { + queryWrapper.ge("create_time", System.currentTimeMillis() - 24 * 60 * 60 * 1000); + } else if (approvalProcess.getTimeType() == 2) { + queryWrapper.ge("create_time", System.currentTimeMillis() - 7 * 24 * 60 * 60 * 1000); + } else if (approvalProcess.getTimeType() == 3) { + queryWrapper.ge("create_time", System.currentTimeMillis() - 30 * 24 * 60 * 60 * 1000); + } List list = approvalsProcessService.list(queryWrapper); for (ApprovalProcess process : list) { @@ -118,14 +125,64 @@ public class ApprovalProcessController extends BaseController { } - @ApiOperation("根据用户id查") @PostMapping("/getByuserId/{id}") - public TableDataInfo getByuserId(@PathVariable Long id) { + public TableDataInfo getByuserId(ApprovalProcess approvalProcess) { List list = approvalsProcessService.lambdaQuery() - .eq(ApprovalProcess::getSubmitterId, id) + .eq(ApprovalProcess::getSubmitterId, approvalProcess.getSubmitterId()) + .eq(approvalProcess.getApprovalStatus() != null, ApprovalProcess::getApprovalStatus, approvalProcess.getApprovalStatus()) + .eq(approvalProcess.getCcName() != null, ApprovalProcess::getCcName, approvalProcess.getCcName()) + .eq(approvalProcess.getProcessTitle() != null, ApprovalProcess::getProcessTitle, approvalProcess.getProcessTitle()) .orderByDesc(ApprovalProcess::getCreateTime) .list(); + + for (ApprovalProcess process : list) { + +// 如果创建时间为当天的时间 + if (process.getCreateTime() > System.currentTimeMillis() - 24 * 60 * 60 * 1000) { +// 一分钟之内,显示刚刚 + // 模拟获取创建时间戳(这里以当前时间戳减去一定值为例,实际应替换为 process.getCreateTime() ) + long createTime = process.getCreateTime(); + long currentTime = System.currentTimeMillis(); + + String result; + if (createTime > currentTime - 60 * 1000) { + result = "刚刚"; + process.setShowTime(result); + } else if (createTime <= currentTime - 60 * 1000 && createTime > currentTime - 30 * 60 * 1000) { + long minutes = (currentTime - createTime) / (60 * 1000); + result = minutes + "分钟前"; + process.setShowTime(result); + } else if (createTime <= currentTime - 30 * 60 * 1000 && createTime > currentTime - 60 * 60 * 1000) { + result = "半小时前"; + process.setShowTime(result); + } else if (createTime <= currentTime - 60 * 60 * 1000) { + long hours = (currentTime - createTime) / (60 * 60 * 1000); + result = hours + "小时前"; + process.setShowTime(result); + } else { + result = "时间计算异常"; + process.setShowTime(result); + } + /*Long createTime = process.getCreateTime(); + Instant instant = Instant.ofEpochMilli(createTime); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.of("Asia/Shanghai")); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); + String formattedTime = localDateTime.format(formatter); + process.setShowTime(formattedTime);*/ + } else if (process.getCreateTime() > System.currentTimeMillis() - 24 * 60 * 60 * 1000 && process.getCreateTime() < System.currentTimeMillis() - 2 * 24 * 60 * 60 * 1000) { +// 超过一天不大于两天,显示“昨天” + process.setShowTime("昨天"); + } else { +// 超过两天显示年月日时分秒 + Long createTime = process.getCreateTime(); + Instant instant = Instant.ofEpochMilli(createTime); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.of("Asia/Shanghai")); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd"); + String formattedTime = localDateTime.format(formatter); + process.setShowTime(formattedTime); + } + } return getDataTable(list); } diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java index 09899af..9fea43f 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java @@ -50,6 +50,9 @@ public class ApprovalProcess { @ApiModelProperty("事项类型 4-喝酒 3-请假 2-出差 1-出县") private Integer matterType; + @ApiModelProperty("日期类型 4-自定义日期 3-近三十日 2-近七日 1-近三日") + private Integer timeType; + @ApiModelProperty("审批状态:0-待提交 1-部门审批中 2-政治处审批中 3-局领导审批中 4-已通过 5-已拒绝") @TableField(condition = SqlCondition.LIKE) private Integer approvalStatus;