fix: 修复用户创建时间条件查询没用的bug

修复用户创建时间条件查询没用的bug
增加系统日志操作时间条件查询
This commit is contained in:
Theo
2024-08-10 15:35:57 +08:00
parent 21a876fd29
commit 71fc5c86cc
5 changed files with 15 additions and 19 deletions

View File

@@ -28,7 +28,7 @@ public interface SysLogMapper extends BaseMapper<SysLog> {
* @param queryParams * @param queryParams
* @return * @return
*/ */
Page<LogPageVO> listPagedLogs(Page page, LogPageQuery queryParams); Page<LogPageVO> listPagedLogs(Page<LogPageVO> page, LogPageQuery queryParams);
/** /**
* 统计浏览数(PV) * 统计浏览数(PV)

View File

@@ -4,7 +4,7 @@ import com.youlai.system.common.base.BasePageQuery;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat; import java.util.List;
/** /**
* 日志分页查询对象 * 日志分页查询对象
@@ -20,12 +20,7 @@ public class LogPageQuery extends BasePageQuery {
@Schema(description="关键字(日志内容/请求路径/请求方法/地区/浏览器/终端系统)") @Schema(description="关键字(日志内容/请求路径/请求方法/地区/浏览器/终端系统)")
private String keywords; private String keywords;
@Schema(description="开始日期") @Schema(description="操作时间范围")
@DateTimeFormat(pattern = "yyyy-MM-dd") List<String> createTime;
private String startDate;
@Schema(description="结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private String endDate;
} }

View File

@@ -38,10 +38,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog>
*/ */
@Override @Override
public Page<LogPageVO> listPagedLogs(LogPageQuery queryParams) { public Page<LogPageVO> listPagedLogs(LogPageQuery queryParams) {
// 格式化为数据库日期格式,避免日期比较使用格式化函数导致索引失效 return this.baseMapper.listPagedLogs(new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
DateUtils.toDatabaseFormat(queryParams, "startDate", "endDate");
return this.baseMapper.listPagedLogs(new Page(queryParams.getPageNum(), queryParams.getPageSize()),
queryParams); queryParams);
} }

View File

@@ -32,11 +32,15 @@
t2.nickname LIKE concat('%',#{queryParams.keywords},'%') t2.nickname LIKE concat('%',#{queryParams.keywords},'%')
) )
</if> </if>
<if test="queryParams.startDate != null"> <if test="queryParams.createTime != null and queryParams.createTime.size > 0">
AND t1.create_time &gt;= #{queryParams.startDate} <if test="queryParams.createTime[0] != null and queryParams.createTime[0] != ''">
<bind name="startDate" value="queryParams.createTime[0].length() == 10 ? queryParams.createTime[0] + ' 00:00:00' : queryParams.createTime[0]"/>
AND t1.create_time &gt;= #{startDate}
</if>
<if test="queryParams.createTime[1] != null and queryParams.createTime[1] != ''">
<bind name="endDate" value="queryParams.createTime[1].length() == 10 ? queryParams.createTime[1] + ' 23:59:59' : queryParams.createTime[1]"/>
AND t1.create_time &lt;= #{endDate}
</if> </if>
<if test="queryParams.endDate != null">
AND t1.create_time &lt;= #{queryParams.endDate}
</if> </if>
</where> </where>
ORDER BY ORDER BY

View File

@@ -37,7 +37,7 @@
<if test='queryParams.deptId!=null'> <if test='queryParams.deptId!=null'>
AND concat(',',concat(d.tree_path,',',d.id),',') like concat('%,',#{queryParams.deptId},',%') AND concat(',',concat(d.tree_path,',',d.id),',') like concat('%,',#{queryParams.deptId},',%')
</if> </if>
<if test="queryParams.createTime != null "> <if test="queryParams.createTime != null and queryParams.createTime.size > 0">
<if test="queryParams.createTime[0] != null and queryParams.createTime[0] != ''"> <if test="queryParams.createTime[0] != null and queryParams.createTime[0] != ''">
<bind name="startDate" value="queryParams.createTime[0].length() == 10 ? queryParams.createTime[0] + ' 00:00:00' : queryParams.createTime[0]"/> <bind name="startDate" value="queryParams.createTime[0].length() == 10 ? queryParams.createTime[0] + ' 00:00:00' : queryParams.createTime[0]"/>
AND u.create_time &gt;= #{startDate} AND u.create_time &gt;= #{startDate}