|
@@ -16,10 +16,7 @@ import com.qmth.themis.business.dto.request.TEExamDto;
|
|
import com.qmth.themis.business.entity.*;
|
|
import com.qmth.themis.business.entity.*;
|
|
import com.qmth.themis.business.enums.*;
|
|
import com.qmth.themis.business.enums.*;
|
|
import com.qmth.themis.business.service.*;
|
|
import com.qmth.themis.business.service.*;
|
|
-import com.qmth.themis.business.util.JacksonUtil;
|
|
|
|
-import com.qmth.themis.business.util.RedisUtil;
|
|
|
|
-import com.qmth.themis.business.util.ServletUtil;
|
|
|
|
-import com.qmth.themis.business.util.UidUtil;
|
|
|
|
|
|
+import com.qmth.themis.business.util.*;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
import com.qmth.themis.common.util.Result;
|
|
import com.qmth.themis.common.util.Result;
|
|
@@ -72,13 +69,16 @@ public class TEExamController {
|
|
@Resource
|
|
@Resource
|
|
UidUtil uidUtil;
|
|
UidUtil uidUtil;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ MqUtil mqUtil;
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
TBTaskHistoryService taskHistoryService;
|
|
TBTaskHistoryService taskHistoryService;
|
|
|
|
|
|
@ApiOperation(value = "考试批次修改/新增接口")
|
|
@ApiOperation(value = "考试批次修改/新增接口")
|
|
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
|
@Transactional
|
|
@Transactional
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
public Result save(@ApiParam(value = "考试批次信息", required = true) @RequestBody TEExamDto teExamDto) {
|
|
public Result save(@ApiParam(value = "考试批次信息", required = true) @RequestBody TEExamDto teExamDto) {
|
|
if (Objects.isNull(teExamDto) || Objects.equals(teExamDto, "")) {
|
|
if (Objects.isNull(teExamDto) || Objects.equals(teExamDto, "")) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_INFO_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_INFO_IS_NULL);
|
|
@@ -134,7 +134,7 @@ public class TEExamController {
|
|
Map<String, Object> prop = new HashMap<>();
|
|
Map<String, Object> prop = new HashMap<>();
|
|
prop.put("oper", "delete");
|
|
prop.put("oper", "delete");
|
|
if (Objects.nonNull(teExamActivityList.get(0)) && teExamActivityList.get(0).getEnable() == 1) {
|
|
if (Objects.nonNull(teExamActivityList.get(0)) && teExamActivityList.get(0).getEnable() == 1) {
|
|
- MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
|
|
|
|
+ MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY,
|
|
JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY,
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
@@ -169,7 +169,7 @@ public class TEExamController {
|
|
Map<String, Object> prop = new HashMap<>();
|
|
Map<String, Object> prop = new HashMap<>();
|
|
prop.put("oper", "insert");
|
|
prop.put("oper", "insert");
|
|
prop.put("exam", teExam);
|
|
prop.put("exam", teExam);
|
|
- MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
|
|
|
|
+ MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY,
|
|
JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY,
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
@@ -191,7 +191,7 @@ public class TEExamController {
|
|
Map<String, Object> prop = new HashMap<>();
|
|
Map<String, Object> prop = new HashMap<>();
|
|
prop.put("oper", "insert");
|
|
prop.put("oper", "insert");
|
|
prop.put("exam", teExam);
|
|
prop.put("exam", teExam);
|
|
- MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
|
|
|
|
+ MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_ACTIVITY.name(),
|
|
JacksonUtil.parseJson(Arrays.asList(teExamActivity)), MqTagEnum.EXAM_ACTIVITY,
|
|
JacksonUtil.parseJson(Arrays.asList(teExamActivity)), MqTagEnum.EXAM_ACTIVITY,
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
@@ -221,10 +221,10 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试批次统计接口")
|
|
@ApiOperation(value = "考试批次统计接口")
|
|
@RequestMapping(value = "/count", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/count", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "{\"count\":1}", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"count\":1}", response = Result.class)})
|
|
public Result count(@ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code,
|
|
public Result count(@ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code,
|
|
- @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name,
|
|
|
|
- @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) Integer mode) {
|
|
|
|
|
|
+ @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name,
|
|
|
|
+ @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) Integer mode) {
|
|
QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
|
|
if (Objects.nonNull(code)) {
|
|
if (Objects.nonNull(code)) {
|
|
teExamQueryWrapper.lambda().eq(TEExam::getCode, code);
|
|
teExamQueryWrapper.lambda().eq(TEExam::getCode, code);
|
|
@@ -241,16 +241,16 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试批次查询接口")
|
|
@ApiOperation(value = "考试批次查询接口")
|
|
@RequestMapping(value = "/query", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/query", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "考试批次信息", response = TEExam.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "考试批次信息", response = TEExam.class)})
|
|
public Result query(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId,
|
|
public Result query(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId,
|
|
- @ApiParam(value = "考试批次id", required = false) @RequestParam(required = false) Long id,
|
|
|
|
- @ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code,
|
|
|
|
- @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name,
|
|
|
|
- @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) String mode,
|
|
|
|
- @ApiParam(value = "是否启用", required = false) @RequestParam(required = false) Integer enable,
|
|
|
|
- @ApiParam(value = "类型(区分实时监考台和考务)", required = false) @RequestParam(required = false) String type,
|
|
|
|
- @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
|
- @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
|
|
|
+ @ApiParam(value = "考试批次id", required = false) @RequestParam(required = false) Long id,
|
|
|
|
+ @ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code,
|
|
|
|
+ @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name,
|
|
|
|
+ @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) String mode,
|
|
|
|
+ @ApiParam(value = "是否启用", required = false) @RequestParam(required = false) Integer enable,
|
|
|
|
+ @ApiParam(value = "类型(区分实时监考台和考务)", required = false) @RequestParam(required = false) String type,
|
|
|
|
+ @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
|
+ @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + tbUser.getId());
|
|
AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + tbUser.getId());
|
|
if (authDto.getRoleCodes().toString().contains(RoleEnum.INSPECTION.name())) {
|
|
if (authDto.getRoleCodes().toString().contains(RoleEnum.INSPECTION.name())) {
|
|
@@ -263,11 +263,11 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试批次停用/启用接口")
|
|
@ApiOperation(value = "考试批次停用/启用接口")
|
|
@RequestMapping(value = "/toggle", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/toggle", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
@Transactional
|
|
@Transactional
|
|
public Result examToggle(@ApiJsonObject(name = "examToggle", value = {
|
|
public Result examToggle(@ApiJsonObject(name = "examToggle", value = {
|
|
@ApiJsonProperty(key = "id", type = "long", example = "1", description = "考试批次ID"),
|
|
@ApiJsonProperty(key = "id", type = "long", example = "1", description = "考试批次ID"),
|
|
- @ApiJsonProperty(key = "enable", type = "int", example = "1", description = "是否启用") }) @ApiParam(value = "考试批次信息", required = true) @RequestBody Map<String, Object> mapParameter) {
|
|
|
|
|
|
+ @ApiJsonProperty(key = "enable", type = "int", example = "1", description = "是否启用")}) @ApiParam(value = "考试批次信息", required = true) @RequestBody Map<String, Object> mapParameter) {
|
|
if (Objects.isNull(mapParameter.get("id")) || Objects.equals(mapParameter.get("id"), "")) {
|
|
if (Objects.isNull(mapParameter.get("id")) || Objects.equals(mapParameter.get("id"), "")) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
}
|
|
}
|
|
@@ -290,7 +290,7 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试批次详情接口")
|
|
@ApiOperation(value = "考试批次详情接口")
|
|
@RequestMapping(value = "/detail", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/detail", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "考试批次信息", response = TEExam.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "考试批次信息", response = TEExam.class)})
|
|
public Result detail(@ApiParam(value = "考试批次id", required = true) @RequestParam Long id) {
|
|
public Result detail(@ApiParam(value = "考试批次id", required = true) @RequestParam Long id) {
|
|
if (Objects.isNull(id) || Objects.equals(id, "")) {
|
|
if (Objects.isNull(id) || Objects.equals(id, "")) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
@@ -304,12 +304,12 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试批次复制接口")
|
|
@ApiOperation(value = "考试批次复制接口")
|
|
@RequestMapping(value = "/copy", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/copy", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|
|
@Transactional
|
|
@Transactional
|
|
public Result copy(@ApiJsonObject(name = "examCopy", value = {
|
|
public Result copy(@ApiJsonObject(name = "examCopy", value = {
|
|
@ApiJsonProperty(key = "sourceId", type = "long", example = "1", description = "来源批次ID"),
|
|
@ApiJsonProperty(key = "sourceId", type = "long", example = "1", description = "来源批次ID"),
|
|
@ApiJsonProperty(key = "code", description = "代码"),
|
|
@ApiJsonProperty(key = "code", description = "代码"),
|
|
- @ApiJsonProperty(key = "name", description = "名称") }) @ApiParam(value = "考试批次信息", required = true) @RequestBody Map<String, Object> mapParameter) {
|
|
|
|
|
|
+ @ApiJsonProperty(key = "name", description = "名称")}) @ApiParam(value = "考试批次信息", required = true) @RequestBody Map<String, Object> mapParameter) {
|
|
if (Objects.isNull(mapParameter.get("sourceId")) || Objects.equals(mapParameter.get("sourceId"), "")) {
|
|
if (Objects.isNull(mapParameter.get("sourceId")) || Objects.equals(mapParameter.get("sourceId"), "")) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
}
|
|
}
|
|
@@ -379,7 +379,7 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "监考端获取考试批次提醒接口")
|
|
@ApiOperation(value = "监考端获取考试批次提醒接口")
|
|
@RequestMapping(value = "/list/count", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/list/count", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "考试批次信息", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "考试批次信息", response = Result.class)})
|
|
public Result listCount(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId) {
|
|
public Result listCount(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId) {
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
return ResultUtil.ok(teExamService.examList(userId, tbUser.getOrgId()));
|
|
return ResultUtil.ok(teExamService.examList(userId, tbUser.getOrgId()));
|
|
@@ -387,7 +387,7 @@ public class TEExamController {
|
|
|
|
|
|
@ApiOperation(value = "考试属性统计接口")
|
|
@ApiOperation(value = "考试属性统计接口")
|
|
@RequestMapping(value = "/prop/count", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/prop/count", method = RequestMethod.POST)
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "考试属性信息", response = ExamPropCountDto.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "考试属性信息", response = ExamPropCountDto.class)})
|
|
public Result propCount(@ApiParam(value = "考试id", required = true) @RequestParam Long examId) {
|
|
public Result propCount(@ApiParam(value = "考试id", required = true) @RequestParam Long examId) {
|
|
if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
@@ -526,7 +526,7 @@ public class TEExamController {
|
|
@ApiOperation(value = "考试重新算分")
|
|
@ApiOperation(value = "考试重新算分")
|
|
@RequestMapping(value = "/score/calculate", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/score/calculate", method = RequestMethod.POST)
|
|
@Transactional
|
|
@Transactional
|
|
- @ApiResponses({ @ApiResponse(code = 200, message = "{\"taskId\":0}", response = Result.class) })
|
|
|
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"taskId\":0}", response = Result.class)})
|
|
public Result scoreCalculate(@ApiParam(value = "批次ID", required = true) @RequestParam Long id) {
|
|
public Result scoreCalculate(@ApiParam(value = "批次ID", required = true) @RequestParam Long id) {
|
|
//先查询考试相关信息
|
|
//先查询考试相关信息
|
|
TEExam teExam = teExamService.getById(id);
|
|
TEExam teExam = teExamService.getById(id);
|
|
@@ -547,7 +547,7 @@ public class TEExamController {
|
|
transMap.put("orgId", tbUser.getOrgId());
|
|
transMap.put("orgId", tbUser.getOrgId());
|
|
transMap.put(SystemConstant.TASK_ID, tbTaskHistory.getId());
|
|
transMap.put(SystemConstant.TASK_ID, tbTaskHistory.getId());
|
|
//mq发送消息start
|
|
//mq发送消息start
|
|
- MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_SCORE_CALCULATE.name(), transMap,
|
|
|
|
|
|
+ MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_SCORE_CALCULATE.name(), transMap,
|
|
MqTagEnum.EXAM_SCORE_CALCULATE, String.valueOf(tbTaskHistory.getId()), tbUser.getName());
|
|
MqTagEnum.EXAM_SCORE_CALCULATE, String.valueOf(tbTaskHistory.getId()), tbUser.getName());
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
//mq发送消息end
|
|
//mq发送消息end
|