refactor: 重构时间范围查询写法
This commit is contained in:
@@ -3,7 +3,8 @@ package com.youlai.system.model.query;
|
||||
import com.youlai.system.common.base.BasePageQuery;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户分页查询对象
|
||||
@@ -24,11 +25,7 @@ public class UserPageQuery extends BasePageQuery {
|
||||
@Schema(description="部门ID")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description="创建时间-开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private String startTime;
|
||||
@Schema(description="创建时间范围")
|
||||
private List<String> createTimeRange;
|
||||
|
||||
@Schema(description="创建时间-结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private String endTime;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.youlai.system.common.constant.SystemConstants;
|
||||
import com.youlai.system.util.DateUtils;
|
||||
import com.youlai.system.converter.UserConverter;
|
||||
import com.youlai.system.security.util.SecurityUtils;
|
||||
import com.youlai.system.mapper.SysUserMapper;
|
||||
@@ -68,10 +67,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
int pageNum = queryParams.getPageNum();
|
||||
int pageSize = queryParams.getPageSize();
|
||||
Page<UserBO> page = new Page<>(pageNum, pageSize);
|
||||
|
||||
// 格式化为数据库日期格式,避免日期比较使用格式化函数导致索引失效
|
||||
DateUtils.toDatabaseFormat(queryParams, "startTime", "endTime");
|
||||
|
||||
// 查询数据
|
||||
Page<UserBO> userPage = this.baseMapper.listPagedUsers(page, queryParams);
|
||||
|
||||
|
||||
@@ -37,15 +37,17 @@
|
||||
<if test='queryParams.deptId!=null'>
|
||||
AND concat(',',concat(d.tree_path,',',d.id),',') like concat('%,',#{queryParams.deptId},',%')
|
||||
</if>
|
||||
<if test="queryParams.startTime != null">
|
||||
AND u.create_time >= #{queryParams.startTime}
|
||||
<if test='queryParams.createTimeRange != null'>
|
||||
<if test="queryParams.createTimeRange[0] != null and queryParams.createTimeRange[0].trim() neq ''">
|
||||
AND u.create_time >=CONCAT(#{queryParams.createTimeRange[0]}, ' 00:00:00')
|
||||
</if>
|
||||
<if test="queryParams.createTimeRange[1] != null and queryParams.createTimeRange[0].trim() neq ''">
|
||||
AND u.create_time <= CONCAT(#{queryParams.createTimeRange[1]}, ' 23:59:59')
|
||||
</if>
|
||||
</if>
|
||||
<if test="queryParams.endTime != null">
|
||||
AND u.create_time <= #{queryParams.endTime}
|
||||
</if>
|
||||
|
||||
</where>
|
||||
GROUP BY u.id
|
||||
GROUP BY
|
||||
u.id
|
||||
</select>
|
||||
|
||||
<!-- 用户表单信息映射 -->
|
||||
|
||||
Reference in New Issue
Block a user