Jelajahi Sumber

获取“数据分类”关联的考点列表

deason 1 tahun lalu
induk
melakukan
1337eed488

+ 11 - 4
src/main/java/com/qmth/exam/reserve/controller/student/ExamSiteController.java

@@ -4,17 +4,18 @@ import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.exam.reserve.bean.examsite.ExamSiteInfo;
 import com.qmth.exam.reserve.controller.BaseController;
+import com.qmth.exam.reserve.service.ExamSiteService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+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.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
 import java.util.List;
 
 @RestController
@@ -25,11 +26,17 @@ public class ExamSiteController extends BaseController {
 
     private static final Logger log = LoggerFactory.getLogger(ExamSiteController.class);
 
+    @Autowired
+    private ExamSiteService examSiteService;
+
     @ApiOperation(value = "获取“数据分类”关联的考点列表")
     @PostMapping(value = "/list")
-    public List<ExamSiteInfo> list(@ApiParam("数据分类ID") @RequestParam Long categoryId) {
-        //todo
-        return new ArrayList<>();
+    public List<ExamSiteInfo> list(@ApiParam("数据分类ID") @RequestParam(required = false) Long categoryId) {
+        if (categoryId == null) {
+            categoryId = curLoginStudent().getCategoryId();
+        }
+
+        return examSiteService.getExamSiteListForStudent(categoryId);
     }
 
 }

+ 6 - 2
src/main/java/com/qmth/exam/reserve/service/ExamSiteService.java

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

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

@@ -68,6 +68,10 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, CategoryEntity
 
         // 获取当前启用的预约任务
         CurrentApplyTaskVO curApplyTask = applyTaskService.currentApplyTask();
+        if (curApplyTask == null) {
+            return list;
+        }
+
         if (curApplyTask.getSelfApplyEndTime() > System.currentTimeMillis()) {
             // 自主预约截止时间 之前,只能预约本教学点下的考点
 

+ 28 - 5
src/main/java/com/qmth/exam/reserve/service/impl/ExamSiteServiceImpl.java

@@ -1,17 +1,18 @@
 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.examsite.ExamSiteInfo;
 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;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteDao, ExamSiteEntity> implements ExamSiteService {
@@ -33,4 +34,26 @@ public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteDao, ExamSiteEntity
         return categoryList;
     }
 
+    @Override
+    public List<ExamSiteInfo> getExamSiteListForStudent(Long categoryId) {
+        LambdaQueryWrapper<ExamSiteEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(ExamSiteEntity::getId, ExamSiteEntity::getName, ExamSiteEntity::getAddress);
+        wrapper.eq(ExamSiteEntity::getCategoryId, categoryId);
+        wrapper.eq(ExamSiteEntity::getEnable, Boolean.TRUE);
+        List<ExamSiteEntity> entities = baseMapper.selectList(wrapper);
+
+        List<ExamSiteInfo> list = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(entities)) {
+            for (ExamSiteEntity entity : entities) {
+                ExamSiteInfo info = new ExamSiteInfo();
+                info.setExamSiteId(entity.getId());
+                info.setExamSiteName(entity.getName());
+                info.setExamSiteAddress(entity.getAddress());
+                list.add(info);
+            }
+        }
+
+        return list;
+    }
+
 }