haogh 8 달 전
부모
커밋
e36cbb11a9

+ 10 - 2
src/main/java/com/qmth/exam/reserve/controller/admin/StudentApplyController.java

@@ -16,10 +16,12 @@ 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 com.qmth.exam.reserve.util.DateUtil;
 import com.qmth.exam.reserve.util.ResourceUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -133,7 +135,7 @@ public class StudentApplyController extends BaseController {
     @PostMapping(value = "/std/auto/sign/in/print")
     public void printSignIn(@ApiParam("教学点ID") @RequestParam(required = false) Long teachingId,
             @ApiParam("考点ID") @RequestParam(required = false) Long agentId,
-            @ApiParam("考试日期") @RequestParam(required = true) Long examDate) {
+            @ApiParam("考试日期") @RequestParam Long examDate) {
         LoginUser user = this.curLoginUser();
         if (Role.ADMIN.equals(user.getRole()) && teachingId == null) {
             throw new StatusException("请选择教学点");
@@ -149,7 +151,13 @@ public class StudentApplyController extends BaseController {
     @Aac(strict = false, auth = false)
     @ApiOperation(value = "自动排考")
     @PostMapping(value = "/std/auto/layout")
-    public void autoLayout(@ApiParam("教学点ID") @RequestParam(required = false) Long teachingId) {
+    public void autoLayout(@ApiParam("教学点ID") @RequestParam(required = false) Long teachingId,
+            @ApiParam("验证密码") @RequestParam String password) {
+        String now = DateUtil.getShortDateWithoutSplitByLongTime(System.currentTimeMillis());
+        String verifyPassword = DigestUtils.md5Hex(now);
+        if (!password.equals(verifyPassword)) {
+            throw new StatusException("验证失败");
+        }
         studentApplyService.autoLayout(teachingId);
     }
 

+ 2 - 0
src/main/java/com/qmth/exam/reserve/service/impl/StudentAutoAssignServiceImpl.java

@@ -165,9 +165,11 @@ public class StudentAutoAssignServiceImpl extends ServiceImpl<StudentApplyDao, S
 
     private List<TimePeriodExamSiteBean> listAvailableTimePeriod(Long taskId, ExamSiteEntity site, List<TimePeriodExamSiteBean> timeList) {
         List<TimePeriodExamSiteBean> timePeriodExamSiteList = timePeriodService.listTimePeriodByExamSiteId(taskId, site.getId());
+        // 教学点未设置,则为所有的时段
         if (CollectionUtils.isEmpty(timePeriodExamSiteList)) {
             timePeriodExamSiteList = timeList;
         }
+        // 只取可以预约的时段
         timePeriodExamSiteList = listNoCancelExamTimePeriod(timePeriodExamSiteList);
         timePeriodExamSiteList = timePeriodExamSiteList.stream()
                 .filter(TimePeriodExamSiteBean::getEnable)