From d69f5d9944495de970cee51da27822012f0e208c Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 10 Jun 2025 15:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/config/ListPagingUtil.java | 138 ++++++++++++++++++ .../system/controller/SysUserController.java | 22 +++ .../bonus/system/mapper/SysUserMapper.java | 2 + .../bonus/system/service/ISysUserService.java | 1 + .../service/impl/SysUserServiceImpl.java | 24 +++ .../resources/mapper/system/SysUserMapper.xml | 49 +++++++ 6 files changed, 236 insertions(+) create mode 100644 bonus-common/bonus-common-config/src/main/java/com/bonus/config/ListPagingUtil.java diff --git a/bonus-common/bonus-common-config/src/main/java/com/bonus/config/ListPagingUtil.java b/bonus-common/bonus-common-config/src/main/java/com/bonus/config/ListPagingUtil.java new file mode 100644 index 0000000..3eb38d3 --- /dev/null +++ b/bonus-common/bonus-common-config/src/main/java/com/bonus/config/ListPagingUtil.java @@ -0,0 +1,138 @@ +package com.bonus.config; + +import java.util.Collections; +import java.util.List; + +/** + * 分页索引 + */ +public class ListPagingUtil { + private Integer currentPage;//当前页 + private Integer pageSize;//每页显示记录条数 + private Integer totalPage;//总页数 + private Integer star;//开始数据 + private Integer total;//总条数 + private List rows;//每页显示的数据 + + + public Integer getCurrentPage() { + return currentPage; + } + + public void setCurrentPage(Integer currentPage) { + this.currentPage = currentPage; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public Integer getTotalPage() { + return totalPage; + } + + public void setTotalPage(Integer totalPage) { + this.totalPage = totalPage; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public Integer getStar() { + return star; + } + + public void setStar(Integer star) { + this.star = star; + } + + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + @Override + public String toString() { + return "ListPagingUtil{" + + "currentPage=" + currentPage + + ", pageSize=" + pageSize + + ", totalPage=" + totalPage + + ", rows=" + rows + + ", star=" + star + + ", total=" + total + + '}'; + } + + public void pageStartInfo(Integer currentPage, Integer pageSize){ + //如果传入的pageNumber为null给pageNumber赋为1 + currentPage = currentPage == null ? 1 : currentPage; + //如果传入的pageSize为null给pageSize赋为10 + pageSize = pageSize == null ? 10 : pageSize; + this.setCurrentPage(currentPage); + this.setPageSize(pageSize); + } + + /*public static ListPagingUtil paging(Integer currentPage, Integer pageSize, List list) { + ListPagingUtil pagingUtil = new ListPagingUtil(); + //初始化 + pagingUtil.pageStartInfo(currentPage, pageSize); + //设置起始数据 + pagingUtil.setStar((pagingUtil.getCurrentPage()-1)*pagingUtil.getPageSize()); + //设置总数 + pagingUtil.setTotal(list.size()); + //设置总页数 + pagingUtil.setTotalPage(pagingUtil.getTotal() % pagingUtil.getPageSize() == 0 ? pagingUtil.getTotal()/pagingUtil.getPageSize() :pagingUtil.getTotal()/pagingUtil.getPageSize()+1); + //截取list + pagingUtil.setRows(list.subList(pagingUtil.getStar(), pagingUtil.getTotal()-pagingUtil.getStar()>pagingUtil.getPageSize()?pagingUtil.getStar()+pagingUtil.getPageSize():pagingUtil.getTotal())); + return pagingUtil; + }*/ + + public static ListPagingUtil paging(Integer currentPage, Integer pageSize, List list) { + ListPagingUtil pagingUtil = new ListPagingUtil(); + + // 初始化分页信息 + pagingUtil.pageStartInfo(currentPage, pageSize); + + // 计算起始索引 + pagingUtil.setStar((pagingUtil.getCurrentPage() - 1) * pagingUtil.getPageSize()); + + // 设置总数 + pagingUtil.setTotal(list.size()); + + // 设置总页数 + int totalPage = pagingUtil.getTotal() / pagingUtil.getPageSize(); + if (pagingUtil.getTotal() % pagingUtil.getPageSize() != 0) { + totalPage++; // 如果有余数,则总页数 +1 + } + pagingUtil.setTotalPage(totalPage); + + // 确保起始索引不会大于列表大小 + int fromIndex = pagingUtil.getStar(); + if (fromIndex >= pagingUtil.getTotal()) { + // 当前页的起始索引超过了总数据,返回空数据 + pagingUtil.setRows(Collections.emptyList()); + return pagingUtil; + } + + // 计算结束索引,确保不超过总数据大小 + int toIndex = Math.min(fromIndex + pagingUtil.getPageSize(), pagingUtil.getTotal()); + + // 获取当前页的数据 + pagingUtil.setRows(list.subList(fromIndex, toIndex)); + + return pagingUtil; + } + +} diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java index b974f07..b2efb64 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java @@ -1,7 +1,9 @@ package com.bonus.system.controller; +import cn.hutool.core.convert.Convert; import com.bonus.common.core.constant.CacheConstants; import com.bonus.common.core.domain.R; +import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; @@ -15,6 +17,7 @@ import com.bonus.common.security.annotation.PreventRepeatSubmit; import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.config.ListPagingUtil; import com.bonus.system.api.domain.SysDept; import com.bonus.system.api.domain.SysRole; import com.bonus.system.api.domain.SysUser; @@ -90,6 +93,25 @@ public class SysUserController extends BaseController { return getDataTableError(new ArrayList<>()); } + /** + * 获取用户列表 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("system:user:list")) + @GetMapping("/getList") + @SysLog(title = "用户管理", businessType = OperaType.QUERY, logType = 0, module = "系统管理->用户管理", details = "查询用户列表") + public AjaxResult getList(SysUser user) { + + try { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = userService.getList(user); + return success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return success(); + } + @RequiresPermissions("system:user:export") @PostMapping("/export") @SysLog(title = "用户管理", businessType = OperaType.EXPORT, logType = 0, module = "系统管理->用户管理", details = "导出用户信息") diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java index cfbac2c..21c8533 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java @@ -155,4 +155,6 @@ public interface SysUserMapper { Integer approvalStatus(Long userId); int systemUpdateUser(SysUser user); + + List getList(SysUser user); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysUserService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysUserService.java index 7e50d00..984e74d 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysUserService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysUserService.java @@ -238,4 +238,5 @@ public interface ISysUserService { public AjaxResult systemUpdateUser(SysUser user); + List getList(SysUser user); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java index 8450045..3de892f 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java @@ -633,6 +633,30 @@ public class SysUserServiceImpl implements ISysUserService { } } + @Override + public List getList(SysUser user) { + try { + //临时获取开始时间和结束时间 + String beginTime = (String) user.getParams().get("beginTime"); + String endTime = (String) user.getParams().get("endTime"); + BaseEntity entity = CommonDataPermissionInfo.backMissionInfo(user.getParams().get("dataScope").toString()); + BeanUtils.copyProperties(entity, user); + user.getParams().put("beginTime", beginTime); + user.getParams().put("endTime", endTime); + } catch (Exception e) { + e.printStackTrace(); + + } + user.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); + List sysUsers = userMapper.getList(user); + if (!CollectionUtils.isEmpty(sysUsers)) { + if (StringUtils.isNotBlank(user.getPhonenumber())) { + sysUsers = sysUsers.stream().filter(sysUser -> sysUser.getPhonenumber().contains(Sm4Utils.decrypt(user.getPhonenumber()))).collect(Collectors.toList()); + } + } + return sysUsers; + } + /** * 发送简单邮件 * diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml index b6fe96a..dd4094d 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -261,6 +261,55 @@ and del_flag = '0' limit 1 + + insert into sys_user( user_id,