123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package cn.com.qmth.scancentral.controller.admin;
- import java.util.HashMap;
- import java.util.Map;
- import javax.annotation.Resource;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.core.task.AsyncTaskExecutor;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- 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.boot.core.concurrent.service.ConcurrentService;
- import cn.com.qmth.scancentral.bean.ExamConfigDomain;
- import cn.com.qmth.scancentral.bean.SubjectConfigDomain;
- import cn.com.qmth.scancentral.bean.User;
- import cn.com.qmth.scancentral.controller.BaseController;
- import cn.com.qmth.scancentral.entity.ExamEntity;
- import cn.com.qmth.scancentral.exception.ParameterExceptions;
- import cn.com.qmth.scancentral.service.ExamService;
- import cn.com.qmth.scancentral.service.StudentService;
- import cn.com.qmth.scancentral.service.SubjectService;
- import cn.com.qmth.scancentral.vo.ExamConfigVo;
- import cn.com.qmth.scancentral.vo.ExamUploadVo;
- import cn.com.qmth.scancentral.vo.ExamVo;
- import cn.com.qmth.scancentral.vo.SubjectConfigVo;
- import cn.com.qmth.scancentral.vo.examinfo.ExamInfoVo;
- import cn.com.qmth.scancentral.vo.examinfo.ExamQuery;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import net.sf.json.JSONObject;
- @RestController
- @Api(tags = "考试接口")
- @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/admin/exam")
- @Aac(strict = false, auth = true)
- public class ExamController extends BaseController {
- @Autowired
- private ExamService examService;
- @Autowired
- private StudentService studentService;
- @Autowired
- private SubjectService subjectService;
- @ApiOperation(value = "获取考试详情")
- @RequestMapping(value = "/info", method = RequestMethod.POST)
- public ExamInfoVo info(@RequestParam Long id) {
- User user = getAccessUser();
- return examService.getExamInfoVo(id, user);
- }
- @ApiOperation(value = "获取考试列表")
- @RequestMapping(value = "/list", method = RequestMethod.POST)
- public PageResult<ExamVo> list(ExamQuery query) {
- User user = getAccessUser();
- return examService.pageQuery(query, user);
- }
- @ApiOperation(value = "启用/关闭考试")
- @RequestMapping(value = "/toggle", method = RequestMethod.POST)
- public JSONObject enable(@RequestParam Long id, @RequestParam Boolean enable) {
- User user = getAccessUser();
- JSONObject result = new JSONObject();
- ExamEntity exam = examService.getById(id);
- if (exam == null) {
- throw ParameterExceptions.EXAM_NOT_FOUND;
- }
- exam.setEnable(enable);
- exam.setUpdaterId(user.getId());
- exam.setUpdateTime(System.currentTimeMillis());
- examService.saveOrUpdate(exam);
- result.accumulate("enable", enable);
- result.accumulate("updateTime", exam.getUpdateTime());
- return result;
- }
- @ApiOperation(value = "修改考试参数")
- @RequestMapping(value = "/config", method = RequestMethod.POST)
- public ExamConfigVo config(@Validated ExamConfigDomain domain) {
- User user = getAccessUser();
- return examService.config(user, domain);
- }
- @ApiOperation(value = "修改考试上传状态")
- @RequestMapping(value = "/upload", method = RequestMethod.POST)
- public ExamUploadVo upload(@RequestParam Long id, @RequestParam Boolean enable) {
- User user = getAccessUser();
- ExamUploadVo vo = new ExamUploadVo();
- ExamEntity exam = examService.getById(id);
- if (exam == null) {
- throw ParameterExceptions.EXAM_NOT_FOUND;
- }
- exam.setEnableUpload(enable);
- examService.saveOrUpdate(exam);
- vo.setEnable(exam.getEnableUpload());
- vo.setUpdateTime(exam.getUpdateTime());
- vo.setProgress(studentService.getUploadProgress(id));
- return vo;
- }
- @ApiOperation(value = "修改考试科目参数")
- @RequestMapping(value = "/subject/config", method = RequestMethod.POST)
- public SubjectConfigVo subjectConfig(@Validated SubjectConfigDomain domain) {
- User user = getAccessUser();
- return subjectService.config(user, domain);
- }
- @ApiOperation(value = "修改考试实时审核状态")
- @RequestMapping(value = "/syncVerify", method = RequestMethod.POST)
- public Map<String, Object> syncVerify(@RequestParam Long examId, @RequestParam Boolean enable) {
- User user = getAccessUser();
- ExamEntity exam = examService.updateEnableSyncVerify(user,examId, enable);
- Map<String, Object> result = new HashMap<String, Object>();
- result.put("enable", enable);
- result.put("updateTime", exam.getUpdateTime());
- return result;
- }
- }
|