From 0f935b6191c79b619ac0fc5391a33c0e807a9ea9 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Tue, 30 May 2023 23:31:31 +0800 Subject: [PATCH] Added pagination to StaffManagement --- .../pinnacle/controller/StaffController.java | 7 +-- .../cfive/pinnacle/mapper/StaffMapper.java | 5 +- .../cfive/pinnacle/service/IStaffService.java | 5 +- .../service/impl/StaffServiceImpl.java | 13 ++++- ui/src/pages/info/StaffManagement.vue | 57 ++++++++++++++----- 5 files changed, 61 insertions(+), 26 deletions(-) diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java index f7f9b43..8f516fa 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java @@ -1,5 +1,6 @@ package com.cfive.pinnacle.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.entity.permission.User; @@ -10,8 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** *

* 员工 前端控制器 @@ -33,8 +32,8 @@ public class StaffController { @GetMapping @PreAuthorize("hasAnyAuthority('staff:manege:get', 'staff:admin:get')") - public ResponseResult> getAllStaff() { - return ResponseResult.databaseSelectSuccess(staffService.getAllStaff(WebUtil.hasAuthority("staff:admin:get") ? null : WebUtil.getLoginUser().getUser().getDepartmentId())); + public ResponseResult> getAllStaff(Long currentPage, Long pageSize) { + return ResponseResult.databaseSelectSuccess(staffService.getAllStaff(currentPage, pageSize, WebUtil.hasAuthority("staff:admin:get") ? null : WebUtil.getLoginUser().getUser().getDepartmentId())); } @PutMapping diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java index 8de6374..2aab3dc 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java @@ -1,13 +1,12 @@ package com.cfive.pinnacle.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.Staff; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.cfive.pinnacle.entity.permission.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 员工 Mapper 接口 @@ -18,5 +17,5 @@ import java.util.List; */ @Mapper public interface StaffMapper extends BaseMapper { - List getAllStaff(@Param("departmentId")Long departmentId); + IPage getAllStaff(IPage page, @Param("departmentId")Long departmentId); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java index fee3c57..520e622 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java @@ -1,11 +1,10 @@ package com.cfive.pinnacle.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.Staff; import com.baomidou.mybatisplus.extension.service.IService; import com.cfive.pinnacle.entity.permission.User; -import java.util.List; - /** *

* 员工 服务类 @@ -15,7 +14,7 @@ import java.util.List; * @since 2023-04-30 */ public interface IStaffService extends IService { - List getAllStaff(Long departmentId); + IPage getAllStaff(Long currentPage, Long pageSize, Long departmentId); boolean modifyStaff(User user); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java index 9970c65..bbcef2c 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java @@ -1,5 +1,7 @@ package com.cfive.pinnacle.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cfive.pinnacle.entity.Staff; import com.cfive.pinnacle.entity.permission.User; import com.cfive.pinnacle.exception.DataValidationFailedException; @@ -11,7 +13,6 @@ import com.cfive.pinnacle.utils.WebUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; import java.util.Objects; /** @@ -38,8 +39,14 @@ public class StaffServiceImpl extends ServiceImpl implements } @Override - public List getAllStaff(Long departmentId) { - return staffMapper.getAllStaff(departmentId); + public IPage getAllStaff(Long currentPage, Long pageSize, Long departmentId) { + IPage userIPage; + if (currentPage == null || pageSize == null) { + userIPage = PageDTO.of(0, -1); + } else { + userIPage = PageDTO.of(currentPage, pageSize); + } + return staffMapper.getAllStaff(userIPage, departmentId); } @Override diff --git a/ui/src/pages/info/StaffManagement.vue b/ui/src/pages/info/StaffManagement.vue index 1b6d016..d9cbe93 100644 --- a/ui/src/pages/info/StaffManagement.vue +++ b/ui/src/pages/info/StaffManagement.vue @@ -34,6 +34,17 @@ +