caozixuan 1 gadu atpakaļ
vecāks
revīzija
1920c08acf

+ 13 - 2
src/main/java/cn/com/qmth/print/manage/controller/ExamController.java

@@ -1,8 +1,11 @@
 package cn.com.qmth.print.manage.controller;
 
 import cn.com.qmth.print.manage.entity.ExamEntity;
+import cn.com.qmth.print.manage.entity.UserEntity;
+import cn.com.qmth.print.manage.enums.RoleMeta;
 import cn.com.qmth.print.manage.service.ExamService;
 import cn.com.qmth.print.manage.service.PmSession;
+import cn.com.qmth.print.manage.service.UserService;
 import cn.com.qmth.print.manage.service.query.ExamQuery;
 import cn.com.qmth.print.manage.utils.PathUtil;
 import com.qmth.boot.api.annotation.Aac;
@@ -13,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.util.Objects;
 
@@ -24,8 +28,10 @@ import java.util.Objects;
 @Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
 public class ExamController extends BaseController {
 
-    @Autowired
+    @Resource
     private ExamService examService;
+    @Resource
+    private UserService userService;
 
     /**
      * 批次分页查询
@@ -34,7 +40,12 @@ public class ExamController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/page", method = RequestMethod.POST)
-    public Object page(@Validated ExamQuery query) {
+    public Object page(@RequestAttribute PmSession accessEntity,@Validated ExamQuery query) {
+        Long userId = getAccessUserId(accessEntity);
+        UserEntity requestUser = userService.getById(userId);
+        if (RoleMeta.PRINT_LEADER.equals(requestUser.getRole())) {
+            query.setPrintLeaderId(userId);
+        }
         return examService.pageQuery(query);
     }
 

+ 8 - 3
src/main/java/cn/com/qmth/print/manage/controller/UserController.java

@@ -40,8 +40,14 @@ public class UserController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/page", method = RequestMethod.POST)
-    public Object page(@Validated UserQuery query) {
-        return userService.pageQuery(query);
+    public Object page(@RequestAttribute PmSession accessEntity, @Validated UserQuery query) {
+        Long userId = getAccessUserId(accessEntity);
+        UserEntity requestUser = userService.getById(userId);
+        Long printUserId = null;
+        if (RoleMeta.PRINT_LEADER.equals(requestUser.getRole())){
+            printUserId = userId;
+        }
+        return userService.pageQuery(printUserId,query);
     }
 
     /**
@@ -57,7 +63,6 @@ public class UserController extends BaseController {
     /**
      * 新增/修改用户
      *
-     * @param user
      * @return
      */
     @RequestMapping(value = "/save", method = RequestMethod.POST)

+ 1 - 1
src/main/java/cn/com/qmth/print/manage/dao/ExamDao.java

@@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Param;
 
 public interface ExamDao extends BaseMapper<ExamEntity> {
 
-    IPage<ExamVo> pageExam(@Param("page") Page<ExamVo> page, @Param("query") ExamQuery query);
+    IPage<ExamVo> pageExam(Page<ExamVo> page, @Param("query") ExamQuery query);
 
     List<ExamEntity> listByUserId(@Param("userId") Long userId);
 }

+ 1 - 1
src/main/java/cn/com/qmth/print/manage/service/UserService.java

@@ -23,7 +23,7 @@ public interface UserService extends IService<UserEntity> {
      */
     boolean save(UserEntity requestUser, Long id, String loginName, String name, RoleMeta role, String password, boolean enable, MultipartFile file) throws IOException;
 
-    IPage<UserEntity> pageQuery(UserQuery query);
+    IPage<UserEntity> pageQuery(Long printUserId, UserQuery query);
 
     List<UserEntity> listByEnable();
 

+ 2 - 3
src/main/java/cn/com/qmth/print/manage/service/impl/ExamServiceImpl.java

@@ -106,9 +106,8 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
 
     @Override
     public IPage<ExamVo> pageQuery(ExamQuery query) {
-        // TODO: 2023/10/23 分页查询异常 
-//        Page<ExamVo> page = new Page<>(query.getPageNumber(), query.getPageSize());
-        IPage<ExamVo> iPage = this.baseMapper.pageExam(new Page<>(query.getPageNumber(), query.getPageSize()), query);
+        Page<ExamVo> page = new Page<>(query.getPageNumber(), query.getPageSize());
+        IPage<ExamVo> iPage = this.baseMapper.pageExam(page, query);
         for (ExamVo record : iPage.getRecords()) {
             // 考生总量
             List<ExamStudentEntity> studentEntityList = examStudentService.listByExamId(record.getId());

+ 7 - 1
src/main/java/cn/com/qmth/print/manage/service/impl/UserServiceImpl.java

@@ -86,7 +86,7 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
     }
 
     @Override
-    public IPage<UserEntity> pageQuery(UserQuery query) {
+    public IPage<UserEntity> pageQuery(Long printUserId, UserQuery query) {
         QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
         if (query.getUserId() != null && query.getUserId() > 0) {
             queryWrapper.lambda().eq(UserEntity::getId, query.getUserId());
@@ -94,6 +94,12 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
         if (query.getRole() != null) {
             queryWrapper.lambda().eq(UserEntity::getRole, query.getRole());
         }
+        if (printUserId != null && printUserId > 0){
+            // 如果是印点负责人,只能查看自己创建的校验员
+            queryWrapper.lambda()
+                    .eq(UserEntity::getCreatorId,printUserId)
+                    .eq(UserEntity::getRole,RoleMeta.CHECKER);
+        }
         queryWrapper.lambda().eq(UserEntity::isEnable, query.isEnable()).orderByAsc(UserEntity::getId);
         Page<UserEntity> page = new Page<>(query.getPageNumber(), query.getPageSize());
         return this.page(page, queryWrapper);

+ 1 - 0
src/main/java/cn/com/qmth/print/manage/vo/UserVo.java

@@ -50,6 +50,7 @@ public class UserVo implements Serializable {
         this.id = entity.getId();
         this.role = entity.getRole();
         this.enable = entity.isEnable();
+        this.passwordCount = entity.getPasswordCount();
     }
 
     /**