修改已知问题

This commit is contained in:
chenxudong 2025-06-27 09:04:59 +08:00
parent a9af90a9d3
commit b1cf0c1c4c
2 changed files with 29 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
import com.electromagnetic.industry.software.common.pojo.RespPageVO;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.EleCommonUtil;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
import com.electromagnetic.industry.software.manage.mapper.UserAccessLogMapper;
@ -65,10 +67,11 @@ public class UserAccessLogServiceImpl extends ServiceImpl<UserAccessLogMapper, U
}
if (ObjUtil.isAllNotEmpty(pars.getStartCreatedTime(), pars.getEndCreatedTime())) {
Assert.isTrue(EleCommonUtil.isWithinCertainMonths(pars.getStartCreatedTime(), pars.getEndCreatedTime(), 6), "查询时间错误");
queryWrapper.between(UserAccessLog::getCreatedTime, pars.getStartCreatedTime(), pars.getEndCreatedTime());
} else {
Date createdTime = DateUtil.lastMonth();
queryWrapper.gt(UserAccessLog::getCreatedTime, createdTime);
Date minCreatedTime = DateUtil.offsetMonth(DateUtil.date(), -6);
queryWrapper.gt(UserAccessLog::getCreatedTime, minCreatedTime);
}
if (StrUtil.isNotEmpty(pars.getKeyWord())) {

View File

@ -1,5 +1,6 @@
package com.electromagnetic.industry.software.common.util;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.symmetric.AES;
@ -15,6 +16,7 @@ import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
@ -153,4 +155,26 @@ public final class EleCommonUtil {
}
}
public static boolean isWithinCertainMonths(Date startTime, Date endTime, int months) {
// 获取当前时间
Date now = DateUtil.date();
// 计算6个月前的日期
Date sixMonthsAgo = DateUtil.offsetMonth(now, months * -1);
// 检查开始时间是否在6个月前到现在之间
boolean startValid = (DateUtil.compare(startTime, sixMonthsAgo) >= 0) &&
(DateUtil.compare(startTime, now) <= 0);
// 检查结束时间是否在6个月前到现在之间
boolean endValid = (DateUtil.compare(endTime, sixMonthsAgo) >= 0) &&
(DateUtil.compare(endTime, now) <= 0);
// 同时检查开始时间不晚于结束时间
boolean orderValid = DateUtil.compare(startTime, endTime) <= 0;
return startValid && endValid && orderValid;
}
}