截至时间到秒

This commit is contained in:
2025-07-09 16:30:52 +08:00
parent 387e728b26
commit 8b93776a0d
2 changed files with 17 additions and 5 deletions

View File

@@ -124,7 +124,7 @@ public class SysOaRemindController extends BaseController {
}
/**
* 查询所有小于三天的任务和项目提醒,只查当天(到秒)。
* 查询所有小于三天的任务和项目提醒,只查当天
* @return List<SysOaRemindVo>
*/
@GetMapping("/getRecentRemindList")

View File

@@ -163,7 +163,7 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
LambdaQueryWrapper<SysOaRemind> lqw = Wrappers.lambdaQuery();
lqw.in(SysOaRemind::getRemindType, Arrays.asList("task", "project"));
lqw.eq(SysOaRemind::getTaskStatus, "0");
// 只查当天(到秒)
// 只查当天
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
String today = sdf.format(new java.util.Date());
lqw.apply("DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", today);
@@ -187,10 +187,22 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
vo.setDetailId(remind.getDetailId());
vo.setTargetUserId(remind.getTargetUserId());
vo.setEndTime(remind.getEndTime());
// 计算剩余天数
// 计算剩余秒数和格式化字符串
if (remind.getEndTime() != null) {
long diff = (remind.getEndTime().getTime() - System.currentTimeMillis()) / (1000 * 60 * 60 * 24);
vo.setRemainTime(diff);
long diffMillis = remind.getEndTime().getTime() - System.currentTimeMillis();
long remainSeconds = diffMillis / 1000;
vo.setRemainTime(remainSeconds);
// 格式化为天时分秒
long days = remainSeconds / (60 * 60 * 24);
long hours = (remainSeconds / (60 * 60)) % 24;
long minutes = (remainSeconds / 60) % 60;
long seconds = remainSeconds % 60;
StringBuilder sb = new StringBuilder();
if (days > 0) sb.append(days).append("");
if (hours > 0 || days > 0) sb.append(hours).append("小时");
if (minutes > 0 || hours > 0 || days > 0) sb.append(minutes).append("");
sb.append(seconds).append("");
vo.setRemark(sb.toString());
}
voList.add(vo);
}