package com.thhy.secure.modules.biz.exam.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.nacos.api.utils.StringUtils;
|
import com.github.pagehelper.PageInfo;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.common.BasicStatus;
|
import com.thhy.general.config.GlobalConfig;
|
import com.thhy.general.exception.BasicException;
|
import com.thhy.general.utils.ExcelUtils;
|
import com.thhy.general.utils.PagingUtils;
|
import com.thhy.secure.modules.biz.exam.entity.*;
|
import com.thhy.secure.modules.biz.exam.service.ExamRecordService;
|
import com.thhy.secure.modules.biz.exam.service.ExamService;
|
import org.checkerframework.checker.units.qual.A;
|
import org.redisson.api.RBucket;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author zhang_xiao_bo
|
* @since 2023-05-26 09:14:42
|
*/
|
@RestController
|
@RequestMapping("exam")
|
public class ExamController {
|
|
|
@Autowired
|
private ExamService examService;
|
|
@Autowired
|
private ExamRecordService recordService;
|
|
@Autowired
|
private RedissonClient redissonClient;
|
|
@Autowired
|
private GlobalConfig globalConfig;
|
|
@RequestMapping("findList")
|
public BasicResult findList(@RequestBody(required = false) ExamDto examDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<ExamListVo> examList = examService.findList(examDto);
|
PageInfo<ExamListVo> pageInfo = new PageInfo<>(examList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("miniList")
|
public BasicResult miniList(@RequestBody(required = false) ExamDto examDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<ExamListVo> examList = examService.miniList(examDto);
|
PageInfo<ExamListVo> pageInfo = new PageInfo<>(examList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("addExam")
|
public BasicResult addExam(@RequestBody Exam exam){
|
examService.addExam(exam);
|
return BasicResult.success();
|
}
|
|
/**
|
@RequestMapping("update")
|
public BasicResult update(@RequestBody Exam exam){
|
examService.update(exam);
|
return BasicResult.success();
|
}**/
|
|
@RequestMapping("delete")
|
public BasicResult delete(@RequestBody Exam exam){
|
examService.delete(exam.getExamId());
|
return BasicResult.success();
|
}
|
|
/**
|
* PC 考核报表
|
* @param examDto
|
* @param req
|
* @return
|
*/
|
@RequestMapping("examReportList")
|
public BasicResult examReportList(@RequestBody(required = false) ExamDto examDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<ExamSampleListVo> examList = examService.examReportList(examDto);
|
PageInfo<ExamSampleListVo> pageInfo = new PageInfo<>(examList);
|
return BasicResult.success(pageInfo);
|
}
|
|
/**
|
*
|
* @param authcode
|
* @param response
|
* @return
|
*/
|
@RequestMapping("examRecordDown")
|
public void examRecordDown(String authcode, HttpServletResponse response){
|
RBucket<String> rBucket = redissonClient.getBucket(globalConfig.getFilePreKey()+":authcode:"+authcode);
|
String param = rBucket.getAndDelete();
|
if(StringUtils.isEmpty(param)){
|
throw new BasicException(BasicStatus.TOKEN_IS_NULL);
|
}
|
JSONObject jsonObject = JSON.parseObject(param);
|
ExamRecordDto examRecordDto = JSON.toJavaObject(jsonObject,ExamRecordDto.class);
|
List<ExamRecordListVo> examList = recordService.recordList(examRecordDto);
|
String fileName = examList.get(0).getExamName()+"-考核记录列表";
|
ExcelUtils.downExcel(examList,ExamRecordListVo.class,response,fileName);
|
}
|
|
/**
|
* MP 考核列表
|
* @param examDto
|
* @param req
|
* @return
|
*/
|
@RequestMapping("examList")
|
public BasicResult examList(@RequestBody(required = false) ExamDto examDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<ExamSampleVo> examList = examService.examList(examDto);
|
PageInfo<ExamSampleVo> pageInfo = new PageInfo<>(examList);
|
return BasicResult.success(pageInfo);
|
}
|
|
/**
|
* MP 开始考核
|
* @param examDto
|
* @param req
|
* @return
|
*/
|
@RequestMapping("goExam")
|
public BasicResult goExam(@RequestBody(required = false) ExamDto examDto, HttpServletRequest req){
|
Map<String,Object> map = examService.goExam(examDto);
|
return BasicResult.success(map);
|
}
|
|
/**
|
* MP 开始考核
|
* @param commitAnswerDto
|
* @param req
|
* @return
|
*/
|
@RequestMapping("commitAnswer")
|
public BasicResult commitAnswer(@RequestBody CommitAnswerDto commitAnswerDto, HttpServletRequest req){
|
Map<String,Object> map = examService.commitAnswer(commitAnswerDto);
|
return BasicResult.success(map);
|
}
|
}
|