diff --git a/src/main/java/com/youlai/system/common/util/DateUtils.java b/src/main/java/com/youlai/system/common/util/DateUtils.java new file mode 100644 index 00000000..4ed7adfd --- /dev/null +++ b/src/main/java/com/youlai/system/common/util/DateUtils.java @@ -0,0 +1,32 @@ + +package com.youlai.system.common.util; + +import cn.hutool.core.collection.CollectionUtil; + +import java.util.List; + +/** + * 日期工具类 + * + * @author haoxr + * @since 2.4.2 + */ +public class DateUtils { + + + /** + * 格式化日期范围 + * + * @param createTimeRange + * @return + */ + public static List formatDateRange(List createTimeRange) { + if (CollectionUtil.isNotEmpty(createTimeRange) && createTimeRange.size() == 2) { + createTimeRange.set(0, createTimeRange.get(0) + " 00:00:00"); + createTimeRange.set(1, createTimeRange.get(1) + " 23:59:59"); + return createTimeRange; + } else { + return null; + } + } +} diff --git a/src/main/java/com/youlai/system/converter/UserConverter.java b/src/main/java/com/youlai/system/converter/UserConverter.java index a094c8c5..8c88d2b3 100644 --- a/src/main/java/com/youlai/system/converter/UserConverter.java +++ b/src/main/java/com/youlai/system/converter/UserConverter.java @@ -25,9 +25,9 @@ public interface UserConverter { @Mappings({ @Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.common.enums.GenderEnum.class))") }) - UserPageVO bo2Vo(UserBO bo); + UserPageVO toPageVo(UserBO bo); - Page bo2Vo(Page bo); + Page toPageVo(Page bo); UserForm bo2Form(UserFormBO bo); diff --git a/src/main/java/com/youlai/system/model/query/UserPageQuery.java b/src/main/java/com/youlai/system/model/query/UserPageQuery.java index 88b907f9..f275ef7f 100644 --- a/src/main/java/com/youlai/system/model/query/UserPageQuery.java +++ b/src/main/java/com/youlai/system/model/query/UserPageQuery.java @@ -4,13 +4,15 @@ import com.youlai.system.common.base.BasePageQuery; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.List; + /** * 用户分页查询对象 * * @author haoxr * @since 2022/1/14 */ -@Schema +@Schema(description ="用户分页查询对象") @Data public class UserPageQuery extends BasePageQuery { @@ -23,4 +25,7 @@ public class UserPageQuery extends BasePageQuery { @Schema(description="部门ID") private Long deptId; + @Schema(description="创建时间范围") + private List createTimeRange; + } diff --git a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java index 4dbf4275..e2341887 100644 --- a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.system.common.constant.SecurityConstants; import com.youlai.system.common.constant.SystemConstants; +import com.youlai.system.common.util.DateUtils; import com.youlai.system.converter.UserConverter; import com.youlai.system.common.util.SecurityUtils; import com.youlai.system.mapper.SysUserMapper; @@ -73,13 +74,15 @@ public class SysUserServiceImpl extends ServiceImpl impl int pageSize = queryParams.getPageSize(); Page page = new Page<>(pageNum, pageSize); + // 时间范围参数处理 + List createTimeRange = DateUtils.formatDateRange(queryParams.getCreateTimeRange()); + queryParams.setCreateTimeRange(createTimeRange); + // 查询数据 - Page userBoPage = this.baseMapper.getUserPage(page, queryParams); + Page userPage = this.baseMapper.getUserPage(page, queryParams); // 实体转换 - Page userVoPage = userConverter.bo2Vo(userBoPage); - - return userVoPage; + return userConverter.toPageVo(userPage); } /** diff --git a/src/main/resources/mapper/SysUserMapper.xml b/src/main/resources/mapper/SysUserMapper.xml index 61f72f1c..d1bdee0d 100644 --- a/src/main/resources/mapper/SysUserMapper.xml +++ b/src/main/resources/mapper/SysUserMapper.xml @@ -37,6 +37,17 @@ AND concat(',',concat(d.tree_path,',',d.id),',') like concat('%,',#{queryParams.deptId},',%') + + + + AND u.create_time >= #{queryParams.createTimeRange[0]} + + + AND u.create_time <= #{queryParams.createTimeRange[1]} + + + + GROUP BY u.id