Forráskód Böngészése

考生预约详情

haogh 1 éve
szülő
commit
f32e03bcba
20 módosított fájl, 512 hozzáadás és 6 törlés
  1. 20 0
      src/main/java/com/qmth/exam/reserve/bean/stdapply/CategoryVO.java
  2. 29 0
      src/main/java/com/qmth/exam/reserve/bean/stdapply/StdApplyReq.java
  3. 53 0
      src/main/java/com/qmth/exam/reserve/bean/stdapply/StdApplyVO.java
  4. 4 2
      src/main/java/com/qmth/exam/reserve/controller/admin/ApplyTaskController.java
  5. 109 0
      src/main/java/com/qmth/exam/reserve/controller/admin/StudentApplyControl.java
  6. 31 0
      src/main/java/com/qmth/exam/reserve/controller/admin/StudentImpControl.java
  7. 8 0
      src/main/java/com/qmth/exam/reserve/dao/CategoryDao.java
  8. 8 0
      src/main/java/com/qmth/exam/reserve/dao/ExamSiteDao.java
  9. 15 0
      src/main/java/com/qmth/exam/reserve/dao/StudentApplyDao.java
  10. 27 0
      src/main/java/com/qmth/exam/reserve/enums/CategoryLevel.java
  11. 7 1
      src/main/java/com/qmth/exam/reserve/service/ApplyTaskService.java
  12. 13 0
      src/main/java/com/qmth/exam/reserve/service/CategoryService.java
  13. 12 0
      src/main/java/com/qmth/exam/reserve/service/ExamSiteService.java
  14. 13 0
      src/main/java/com/qmth/exam/reserve/service/StudentApplyService.java
  15. 8 0
      src/main/java/com/qmth/exam/reserve/service/StudentImpService.java
  16. 25 3
      src/main/java/com/qmth/exam/reserve/service/impl/ApplyTaskServiceImpl.java
  17. 50 0
      src/main/java/com/qmth/exam/reserve/service/impl/CategoryServiceImpl.java
  18. 36 0
      src/main/java/com/qmth/exam/reserve/service/impl/ExamSiteServiceImp.java
  19. 31 0
      src/main/java/com/qmth/exam/reserve/service/impl/StudentApplyServiceImp.java
  20. 13 0
      src/main/java/com/qmth/exam/reserve/service/impl/StudentInfoServiceImpl.java

+ 20 - 0
src/main/java/com/qmth/exam/reserve/bean/stdapply/CategoryVO.java

@@ -0,0 +1,20 @@
+package com.qmth.exam.reserve.bean.stdapply;
+
+import com.qmth.exam.reserve.bean.IModel;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class CategoryVO implements IModel {
+
+    private static final long serialVersionUID = -4953487558027212392L;
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("任务名称")
+    private String name;
+}

+ 29 - 0
src/main/java/com/qmth/exam/reserve/bean/stdapply/StdApplyReq.java

@@ -0,0 +1,29 @@
+package com.qmth.exam.reserve.bean.stdapply;
+
+import com.qmth.exam.reserve.bean.PagerReq;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class StdApplyReq extends PagerReq {
+
+    private static final long serialVersionUID = -4945630927057518990L;
+
+    @ApiModelProperty("教学点ID")
+    private Long teachingId;
+
+    @ApiModelProperty("考点ID")
+    private Long agentId;
+
+    @ApiModelProperty("考生姓名")
+    private String name;
+
+    @ApiModelProperty("证件号码")
+    private String identityNumber;
+
+    @ApiModelProperty("考生学号")
+    private String studentCode;
+}

+ 53 - 0
src/main/java/com/qmth/exam/reserve/bean/stdapply/StdApplyVO.java

@@ -0,0 +1,53 @@
+package com.qmth.exam.reserve.bean.stdapply;
+
+import com.qmth.exam.reserve.bean.IModel;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class StdApplyVO implements IModel {
+
+    private static final long serialVersionUID = 1246902696359595118L;
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("考生姓名")
+    private String name;
+
+    @ApiModelProperty("证件号码")
+    private String identityNumber;
+
+    @ApiModelProperty("考生学号")
+    private String studentCode;
+
+    @ApiModelProperty("考生所属教学点")
+    private String teachingName;
+
+    @ApiModelProperty("考生预约的考点")
+    private String agentName;
+
+    @ApiModelProperty("预约时段的起始时间")
+    private Long startTime;
+
+    @ApiModelProperty("预约时段的截止时间")
+    private Long endTime;
+
+    @ApiModelProperty("考场,排考后才有值")
+    private String roomName;
+
+    @ApiModelProperty("考生座位号,排考后才有值")
+    private String seatNumber;
+
+    @ApiModelProperty("预约的状态")
+    private Boolean cancel;
+
+    @ApiModelProperty("操作时间")
+    private Long updateTime;
+
+    @ApiModelProperty("后台操作人员名称")
+    private String userName;
+}

+ 4 - 2
src/main/java/com/qmth/exam/reserve/controller/admin/ApplyTaskController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.core.collection.PageResult;
+import com.qmth.exam.reserve.bean.login.LoginUser;
 import com.qmth.exam.reserve.bean.task.ApplyTaskReq;
 import com.qmth.exam.reserve.bean.task.ApplyTaskVO;
 import com.qmth.exam.reserve.controller.BaseController;
@@ -43,7 +44,8 @@ public class ApplyTaskController extends BaseController {
     @ApiOperation(value = "基础规则新增/编辑")
     @PostMapping(value = "/rule/save")
     public String ruleSave(@RequestBody ApplyTaskReq req) {
-        applyTaskService.ruleSave(req);
+        LoginUser user = this.curLoginUser();
+        applyTaskService.ruleSave(req, user);
         return "success";
     }
 
@@ -64,7 +66,7 @@ public class ApplyTaskController extends BaseController {
     public String enable() {
         return "success";
     }
-    
+
     public static void main(String[] args) {
         System.out.println(System.currentTimeMillis());
     }

+ 109 - 0
src/main/java/com/qmth/exam/reserve/controller/admin/StudentApplyControl.java

@@ -0,0 +1,109 @@
+package com.qmth.exam.reserve.controller.admin;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.collection.PageResult;
+import com.qmth.exam.reserve.bean.login.LoginUser;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyReq;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyVO;
+import com.qmth.exam.reserve.controller.BaseController;
+import com.qmth.exam.reserve.service.ApplyTaskService;
+import com.qmth.exam.reserve.service.CategoryService;
+import com.qmth.exam.reserve.service.ExamSiteService;
+import com.qmth.exam.reserve.service.StudentApplyService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+@RestController
+@Api(tags = "考生预约明细相关接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/apply")
+@Aac(strict = false, auth = false)
+public class StudentApplyControl extends BaseController {
+
+    @Autowired
+    private StudentApplyService studentApplyService;
+
+    @Autowired
+    private ApplyTaskService applyTaskService;
+
+    @Autowired
+    private CategoryService categoryService;
+
+    @Autowired
+    private ExamSiteService examSiteService;
+
+    @ApiOperation(value = "预约任务列表")
+    @PostMapping(value = "/task/list")
+    public List<CategoryVO> listTask() {
+        return applyTaskService.listTask();
+    }
+
+    @ApiOperation(value = "教学点列表")
+    @PostMapping(value = "/teaching/list")
+    public List<CategoryVO> listTeaching() {
+        LoginUser user = this.curLoginUser();
+        return categoryService.listTeaching(user);
+    }
+
+    @ApiOperation(value = "考点列表")
+    @PostMapping(value = "/agent/list")
+    public List<CategoryVO> listAgent(@ApiParam("教学点ID") @RequestParam Long id) {
+        return examSiteService.listExamSite(id);
+    }
+
+    @ApiOperation(value = "考生预约名单详情分页")
+    @PostMapping(value = "/std/page")
+    public PageResult<StdApplyVO> page(@RequestBody StdApplyReq req) {
+        return studentApplyService.page(req);
+    }
+
+    @ApiOperation(value = "取消预约")
+    @PostMapping(value = "/std/cancel")
+    public void cancel(@ApiParam("预约结果ID") @RequestParam Long id) {
+        // TODO 在可取消预约范围内
+    }
+
+    @ApiOperation(value = "导入预考模版下载")
+    @PostMapping(value = "/std/preexam/template/download")
+    public void download() {
+        // TODO
+    }
+
+    @ApiOperation(value = "导入预考")
+    @PostMapping(value = "/std/upload")
+    public void upload(MultipartFile file, @ApiParam("教学点ID") @RequestParam Long teachingId) {
+        // TODO
+    }
+
+    @ApiOperation(value = "一键自动分配")
+    @PostMapping(value = "/std/auto/assign")
+    public void autoAssign() {
+        // TODO 只有学校管理员和第一阶段结束之后第二阶段开始之前,才可以点击
+    }
+
+    @ApiOperation(value = "打印签到表")
+    @PostMapping(value = "/std/auto/sign/in/print")
+    public void printSignIn(@ApiParam("教学点ID") @RequestParam Long teachingId) {
+        // TODO 教学点才能打印
+    }
+
+    @ApiOperation(value = "自动排考")
+    @PostMapping(value = "/std/auto/layout")
+    public void autoLayout(@ApiParam("教学点ID") @RequestParam Long teachingId) {
+        // TODO 自动将各教学点下待考试的考生分配考场和座位号,并生成准考证号码
+    }
+
+}

+ 31 - 0
src/main/java/com/qmth/exam/reserve/controller/admin/StudentImpControl.java

@@ -0,0 +1,31 @@
+package com.qmth.exam.reserve.controller.admin;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.exam.reserve.controller.BaseController;
+import com.qmth.exam.reserve.service.StudentImpService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "考生信息导入相关接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/admin/std")
+@Aac(strict = false, auth = false)
+public class StudentImpControl extends BaseController {
+
+    @Autowired
+    private StudentImpService studentImpService;
+
+    @ApiOperation(value = "考生信息导入")
+    @PostMapping(value = "/upload")
+    public void upload(MultipartFile file) {
+        // TODO
+    }
+}

+ 8 - 0
src/main/java/com/qmth/exam/reserve/dao/CategoryDao.java

@@ -0,0 +1,8 @@
+package com.qmth.exam.reserve.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.exam.reserve.entity.CategoryEntity;
+
+public interface CategoryDao extends BaseMapper<CategoryEntity> {
+
+}

+ 8 - 0
src/main/java/com/qmth/exam/reserve/dao/ExamSiteDao.java

@@ -0,0 +1,8 @@
+package com.qmth.exam.reserve.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.exam.reserve.entity.ExamSiteEntity;
+
+public interface ExamSiteDao extends BaseMapper<ExamSiteEntity> {
+
+}

+ 15 - 0
src/main/java/com/qmth/exam/reserve/dao/StudentApplyDao.java

@@ -0,0 +1,15 @@
+package com.qmth.exam.reserve.dao;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyReq;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyVO;
+import com.qmth.exam.reserve.entity.StudentApplyEntity;
+
+public interface StudentApplyDao extends BaseMapper<StudentApplyEntity> {
+
+    IPage<StdApplyVO> page(Page<StdApplyVO> page, @Param(value = "req") StdApplyReq req);
+}

+ 27 - 0
src/main/java/com/qmth/exam/reserve/enums/CategoryLevel.java

@@ -0,0 +1,27 @@
+package com.qmth.exam.reserve.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum CategoryLevel {
+
+    FIRST("第一层级"),
+
+    SECOND("第二层级"),
+
+    THIRD("第三层级");
+
+    private String title;
+
+    public static CategoryLevel getByTitle(String title) {
+        for (CategoryLevel r : CategoryLevel.values()) {
+            if (r.getTitle().equals(title)) {
+                return r;
+            }
+        }
+        return null;
+    }
+
+}

+ 7 - 1
src/main/java/com/qmth/exam/reserve/service/ApplyTaskService.java

@@ -1,7 +1,11 @@
 package com.qmth.exam.reserve.service;
 
+import java.util.List;
+
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.boot.core.collection.PageResult;
+import com.qmth.exam.reserve.bean.login.LoginUser;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
 import com.qmth.exam.reserve.bean.task.ApplyTaskReq;
 import com.qmth.exam.reserve.bean.task.ApplyTaskVO;
 import com.qmth.exam.reserve.entity.ApplyTaskEntity;
@@ -12,6 +16,8 @@ public interface ApplyTaskService extends IService<ApplyTaskEntity> {
 
     ApplyTaskVO find(Long id);
 
-    void ruleSave(ApplyTaskReq req);
+    void ruleSave(ApplyTaskReq req, LoginUser user);
+
+    List<CategoryVO> listTask();
 
 }

+ 13 - 0
src/main/java/com/qmth/exam/reserve/service/CategoryService.java

@@ -0,0 +1,13 @@
+package com.qmth.exam.reserve.service;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.exam.reserve.bean.login.LoginUser;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
+import com.qmth.exam.reserve.entity.CategoryEntity;
+
+public interface CategoryService extends IService<CategoryEntity> {
+
+    List<CategoryVO> listTeaching(LoginUser user);
+}

+ 12 - 0
src/main/java/com/qmth/exam/reserve/service/ExamSiteService.java

@@ -0,0 +1,12 @@
+package com.qmth.exam.reserve.service;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
+import com.qmth.exam.reserve.entity.ExamSiteEntity;
+
+public interface ExamSiteService extends IService<ExamSiteEntity> {
+
+    List<CategoryVO> listExamSite(Long teachingId);
+}

+ 13 - 0
src/main/java/com/qmth/exam/reserve/service/StudentApplyService.java

@@ -0,0 +1,13 @@
+package com.qmth.exam.reserve.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.boot.core.collection.PageResult;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyReq;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyVO;
+import com.qmth.exam.reserve.entity.StudentApplyEntity;
+
+public interface StudentApplyService extends IService<StudentApplyEntity> {
+
+    PageResult<StdApplyVO> page(StdApplyReq req);
+
+}

+ 8 - 0
src/main/java/com/qmth/exam/reserve/service/StudentImpService.java

@@ -0,0 +1,8 @@
+package com.qmth.exam.reserve.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.exam.reserve.entity.StudentEntity;
+
+public interface StudentImpService extends IService<StudentEntity> {
+
+}

+ 25 - 3
src/main/java/com/qmth/exam/reserve/service/impl/ApplyTaskServiceImpl.java

@@ -1,13 +1,20 @@
 package com.qmth.exam.reserve.service.impl;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.qmth.boot.core.collection.PageResult;
 import com.qmth.boot.core.exception.StatusException;
+import com.qmth.exam.reserve.bean.login.LoginUser;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
 import com.qmth.exam.reserve.bean.task.ApplyTaskReq;
 import com.qmth.exam.reserve.bean.task.ApplyTaskRuleVO;
 import com.qmth.exam.reserve.bean.task.ApplyTaskVO;
@@ -37,7 +44,7 @@ public class ApplyTaskServiceImpl extends ServiceImpl<ApplyTaskDao, ApplyTaskEnt
     }
 
     @Override
-    public void ruleSave(ApplyTaskReq req) {
+    public void ruleSave(ApplyTaskReq req, LoginUser user) {
         checkRule(req);
         ApplyTaskEntity task = new ApplyTaskEntity();
         task.setId(req.getId());
@@ -49,8 +56,7 @@ public class ApplyTaskServiceImpl extends ServiceImpl<ApplyTaskDao, ApplyTaskEnt
         task.setOpenApplyStartTime(req.getOpenApplyStartTime());
         task.setOpenApplyEndTime(req.getOpenApplyEndTime());
         task.setEnable(Boolean.FALSE);
-        //TODO 根据登录用户获取机构ID
-        task.setOrgId(1L);
+        task.setOrgId(user.getOrgId());
         this.saveOrUpdate(task);
     }
 
@@ -71,4 +77,20 @@ public class ApplyTaskServiceImpl extends ServiceImpl<ApplyTaskDao, ApplyTaskEnt
             throw new StatusException("请填写开放式预约截止时间");
     }
 
+    @Override
+    public List<CategoryVO> listTask() {
+        List<CategoryVO> categoryList = new ArrayList<CategoryVO>();
+        QueryWrapper<ApplyTaskEntity> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ApplyTaskEntity> lw = wrapper.lambda();
+        lw.eq(ApplyTaskEntity::getEnable, Boolean.TRUE);
+        List<ApplyTaskEntity> taskList = this.getBaseMapper().selectList(wrapper);
+        for (ApplyTaskEntity task : taskList) {
+            CategoryVO category = new CategoryVO();
+            category.setId(task.getId());
+            category.setName(task.getName());
+            categoryList.add(category);
+        }
+        return categoryList;
+    }
+
 }

+ 50 - 0
src/main/java/com/qmth/exam/reserve/service/impl/CategoryServiceImpl.java

@@ -0,0 +1,50 @@
+package com.qmth.exam.reserve.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.boot.core.exception.StatusException;
+import com.qmth.exam.reserve.bean.login.LoginUser;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
+import com.qmth.exam.reserve.dao.CategoryDao;
+import com.qmth.exam.reserve.entity.CategoryEntity;
+import com.qmth.exam.reserve.enums.CategoryLevel;
+import com.qmth.exam.reserve.enums.Role;
+import com.qmth.exam.reserve.service.CategoryService;
+
+@Service
+public class CategoryServiceImpl extends ServiceImpl<CategoryDao, CategoryEntity> implements CategoryService {
+
+    @Override
+    public List<CategoryVO> listTeaching(LoginUser user) {
+        QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<CategoryEntity> lw = wrapper.lambda();
+        List<CategoryEntity> categoryList = new ArrayList<>();
+        // 学校管理员
+        if (user.getRole().equals(Role.ADMIN)) {
+            lw.eq(CategoryEntity::getEnable, Boolean.TRUE);
+            lw.eq(CategoryEntity::getLevel, CategoryLevel.THIRD.ordinal() + 1);
+            categoryList = this.getBaseMapper().selectList(wrapper);
+        } else if (user.getRole().equals(Role.TEACHING)) { // 教学点管理员
+            lw.eq(CategoryEntity::getId, user.getCategoryId());
+            categoryList = this.getBaseMapper().selectList(wrapper);
+        } else {
+            throw new StatusException("用户无权限");
+        }
+        List<CategoryVO> cgList = new ArrayList<>();
+        for (CategoryEntity category : categoryList) {
+            CategoryVO cg = new CategoryVO();
+            cg.setId(category.getId());
+            cg.setName(category.getName());
+            cgList.add(cg);
+        }
+
+        return cgList;
+    }
+
+}

+ 36 - 0
src/main/java/com/qmth/exam/reserve/service/impl/ExamSiteServiceImp.java

@@ -0,0 +1,36 @@
+package com.qmth.exam.reserve.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.exam.reserve.bean.stdapply.CategoryVO;
+import com.qmth.exam.reserve.dao.ExamSiteDao;
+import com.qmth.exam.reserve.entity.ExamSiteEntity;
+import com.qmth.exam.reserve.service.ExamSiteService;
+
+@Service
+public class ExamSiteServiceImp extends ServiceImpl<ExamSiteDao, ExamSiteEntity> implements ExamSiteService {
+
+    @Override
+    public List<CategoryVO> listExamSite(Long teachingId) {
+        QueryWrapper<ExamSiteEntity> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ExamSiteEntity> lw = wrapper.lambda();
+        lw.eq(ExamSiteEntity::getEnable, Boolean.TRUE);
+        lw.eq(ExamSiteEntity::getCategoryId, teachingId);
+        List<ExamSiteEntity> list = this.baseMapper.selectList(wrapper);
+        List<CategoryVO> categoryList = new ArrayList<>();
+        for (ExamSiteEntity site : list) {
+            CategoryVO vo = new CategoryVO();
+            vo.setId(site.getId());
+            vo.setName(site.getName());
+            categoryList.add(vo);
+        }
+        return categoryList;
+    }
+
+}

+ 31 - 0
src/main/java/com/qmth/exam/reserve/service/impl/StudentApplyServiceImp.java

@@ -0,0 +1,31 @@
+package com.qmth.exam.reserve.service.impl;
+
+import org.springframework.stereotype.Service;
+
+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.qmth.boot.core.collection.PageResult;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyReq;
+import com.qmth.exam.reserve.bean.stdapply.StdApplyVO;
+import com.qmth.exam.reserve.dao.StudentApplyDao;
+import com.qmth.exam.reserve.entity.StudentApplyEntity;
+import com.qmth.exam.reserve.service.StudentApplyService;
+import com.qmth.exam.reserve.util.PageUtil;
+
+@Service
+public class StudentApplyServiceImp extends ServiceImpl<StudentApplyDao, StudentApplyEntity>
+        implements StudentApplyService {
+
+    @Override
+    public PageResult<StdApplyVO> page(StdApplyReq req) {
+        IPage<StdApplyVO> iPage = this.baseMapper.page(new Page<StdApplyVO>(req.getPageNumber(), req.getPageSize()),
+                req);
+        return PageUtil.of(iPage);
+    }
+
+    public static void main(String[] args) {
+        System.out.println(System.currentTimeMillis());
+    }
+
+}

+ 13 - 0
src/main/java/com/qmth/exam/reserve/service/impl/StudentInfoServiceImpl.java

@@ -0,0 +1,13 @@
+package com.qmth.exam.reserve.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.exam.reserve.dao.StudentDao;
+import com.qmth.exam.reserve.entity.StudentEntity;
+import com.qmth.exam.reserve.service.StudentImpService;
+
+@Service
+public class StudentInfoServiceImpl extends ServiceImpl<StudentDao, StudentEntity> implements StudentImpService {
+
+}