Compare commits

..

2 Commits

Author SHA1 Message Date
李京通 4b0340d2b0 Merge remote-tracking branch 'origin/master' 2025-06-09 11:11:03 +08:00
李京通 aee089ef37 feat:showtime 2025-06-09 11:10:56 +08:00
2 changed files with 63 additions and 3 deletions

View File

@ -50,6 +50,13 @@ public class ApprovalProcessController extends BaseController {
startPage();
QueryWrapper<ApprovalProcess> 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<ApprovalProcess> list = approvalsProcessService.list(queryWrapper);
for (ApprovalProcess process : list) {
@ -128,14 +135,64 @@ public class ApprovalProcessController extends BaseController {
}
@ApiOperation("根据用户id查")
@PostMapping("/getByuserId/{id}")
public TableDataInfo getByuserId(@PathVariable Long id) {
public TableDataInfo getByuserId(ApprovalProcess approvalProcess) {
List<ApprovalProcess> 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);
}

View File

@ -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;