龚焕茏
2024-05-17 6d05f0dc6e96ead24bb7e035e16f18031b1ede78
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -1,11 +1,11 @@
package com.mindskip.xzs.controller.admin;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.ExamPaperSubject;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
import com.mindskip.xzs.domain.vo.UserCountExcelVO;
import com.mindskip.xzs.service.ExamPaperDepartmentService;
import com.mindskip.xzs.service.ExamPaperService;
import com.mindskip.xzs.service.ExamPaperSubjectService;
@@ -13,11 +13,10 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.utility.excel.ExcelUtils;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM;
import com.github.pagehelper.PageInfo;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -26,7 +25,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
@@ -47,6 +48,10 @@
    @RequestMapping(value = "/page", method = RequestMethod.POST)
    public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) {
        model.setDeptIds(isDeptAdmin() ? getAdminDeptIds() : null);
        if (Objects.nonNull(model.getLevel())) {
            model.setDeptIds(Collections.singletonList(model.getLevel()));
        }
        model.setType("0");
        PageInfo<ExamPaper> pageInfo = examPaperService.page(model);
        PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
@@ -87,7 +92,19 @@
        model.setUserIds(userIds);
        ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser());
        ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
        return RestResponse.ok(newVM);
    }
    /**
     * 补考
     * @param model 数据
     * @return 操作结果
     */
    @RequestMapping(value = "/missExam", method = RequestMethod.POST)
    public RestResponse<String> missExam(@RequestBody ExamPaperEditRequestVM model) {
        examPaperService.missExam(model);
        return RestResponse.ok("操作成功");
    }
    @RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
@@ -112,4 +129,10 @@
        List<PaperExcelVO> list = examPaperService.getPaperExcelById(id);
        ExcelUtils.export(response,"个人练习",list,PaperExcelVO.class);
    }
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public RestResponse<List<ExamPaper>> list() {
        List<Integer> deptIds = isDeptAdmin() ? getAdminDeptIds() : null;
        return RestResponse.ok(examPaperService.list(deptIds));
    }
}