|
@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.bean.result.PushResult;
|
|
import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
import com.qmth.teachcloud.common.config.DictionaryConfig;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysConfig;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.SyncFileTypeEnum;
|
|
import com.qmth.teachcloud.common.enums.SyncFileTypeEnum;
|
|
@@ -25,10 +26,7 @@ import javax.annotation.Resource;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.FileInputStream;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 同步云阅卷接口工具类
|
|
* 同步云阅卷接口工具类
|
|
@@ -71,9 +69,9 @@ public class CloudMarkingTaskUtils {
|
|
* @return 考试ID
|
|
* @return 考试ID
|
|
*/
|
|
*/
|
|
public Long syncExam(Long schoolId, String code, String name, String examTime) {
|
|
public Long syncExam(Long schoolId, String code, String name, String examTime) {
|
|
-// TODO 云阅卷地址待完善
|
|
|
|
-// String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String examSaveUrl = SystemConstant.CLOUD_MARK_EXAM_SAVE_API;
|
|
String examSaveUrl = SystemConstant.CLOUD_MARK_EXAM_SAVE_API;
|
|
validUrl(hostUrl, examSaveUrl);
|
|
validUrl(hostUrl, examSaveUrl);
|
|
String postUrl = hostUrl.concat(examSaveUrl);
|
|
String postUrl = hostUrl.concat(examSaveUrl);
|
|
@@ -105,9 +103,9 @@ public class CloudMarkingTaskUtils {
|
|
Boolean enable = userPushParam.getEnable();
|
|
Boolean enable = userPushParam.getEnable();
|
|
Long schoolId = userPushParam.getSchoolId();
|
|
Long schoolId = userPushParam.getSchoolId();
|
|
|
|
|
|
-// TODO 云阅卷地址待完善
|
|
|
|
-// String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String userSaveUrl = SystemConstant.CLOUD_MARK_USER_EXTERNAL_SAVE_API;
|
|
String userSaveUrl = SystemConstant.CLOUD_MARK_USER_EXTERNAL_SAVE_API;
|
|
String postUrl = hostUrl.concat(userSaveUrl);
|
|
String postUrl = hostUrl.concat(userSaveUrl);
|
|
// 参数
|
|
// 参数
|
|
@@ -157,9 +155,9 @@ public class CloudMarkingTaskUtils {
|
|
public boolean syncStudent(Long schoolId, String examId, String examNumber, String studentCode, String name, String college,
|
|
public boolean syncStudent(Long schoolId, String examId, String examNumber, String studentCode, String name, String college,
|
|
String className, String teacher, String subjectCode, String subjectName,
|
|
String className, String teacher, String subjectCode, String subjectName,
|
|
String packageCode, String paperType, String examSite, String examRoom) {
|
|
String packageCode, String paperType, String examSite, String examRoom) {
|
|
-// TODO 云阅卷地址待完善
|
|
|
|
-// String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String studentSaveUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_SAVE_API;
|
|
String studentSaveUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_SAVE_API;
|
|
validUrl(hostUrl, studentSaveUrl);
|
|
validUrl(hostUrl, studentSaveUrl);
|
|
String postUrl = hostUrl.concat(studentSaveUrl);
|
|
String postUrl = hostUrl.concat(studentSaveUrl);
|
|
@@ -202,9 +200,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param file 文件
|
|
* @param file 文件
|
|
*/
|
|
*/
|
|
public String syncFile(Long schoolId, String examId, String subjectCode, SyncFileTypeEnum type, File file) {
|
|
public String syncFile(Long schoolId, String examId, String subjectCode, SyncFileTypeEnum type, File file) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String fileUploadUrl = SystemConstant.CLOUD_MARK_FILE_UPLOAD_API;
|
|
String fileUploadUrl = SystemConstant.CLOUD_MARK_FILE_UPLOAD_API;
|
|
validUrl(hostUrl, fileUploadUrl);
|
|
validUrl(hostUrl, fileUploadUrl);
|
|
fileUploadUrl = fileUploadUrl.replace("{type}", type.name().toLowerCase());
|
|
fileUploadUrl = fileUploadUrl.replace("{type}", type.name().toLowerCase());
|
|
@@ -270,9 +268,9 @@ public class CloudMarkingTaskUtils {
|
|
*/
|
|
*/
|
|
public boolean syncPaperStructure(Long schoolId, String examId, String subjectCode, Boolean objective,
|
|
public boolean syncPaperStructure(Long schoolId, String examId, String subjectCode, Boolean objective,
|
|
String paperType, List<QuestionDTO> questions) {
|
|
String paperType, List<QuestionDTO> questions) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String structureUrl = SystemConstant.CLOUD_MARK_EXAM_PAPER_SAVE_API;
|
|
String structureUrl = SystemConstant.CLOUD_MARK_EXAM_PAPER_SAVE_API;
|
|
validUrl(hostUrl, structureUrl);
|
|
validUrl(hostUrl, structureUrl);
|
|
String postUrl = hostUrl.concat(structureUrl);
|
|
String postUrl = hostUrl.concat(structureUrl);
|
|
@@ -304,9 +302,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param paperType 试卷编号
|
|
* @param paperType 试卷编号
|
|
*/
|
|
*/
|
|
public String queryPaperStructure(Long schoolId, String examId, String subjectCode, String paperType) {
|
|
public String queryPaperStructure(Long schoolId, String examId, String subjectCode, String paperType) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String queryPaperStructure = SystemConstant.CLOUD_MARK_EXAM_PAPER_QUERY_API;
|
|
String queryPaperStructure = SystemConstant.CLOUD_MARK_EXAM_PAPER_QUERY_API;
|
|
validUrl(hostUrl, queryPaperStructure);
|
|
validUrl(hostUrl, queryPaperStructure);
|
|
String postUrl = hostUrl.concat(queryPaperStructure);
|
|
String postUrl = hostUrl.concat(queryPaperStructure);
|
|
@@ -332,9 +330,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param groups 试卷结构JSON
|
|
* @param groups 试卷结构JSON
|
|
*/
|
|
*/
|
|
public boolean saveMarkerGroup(Long schoolId, String examId, String subjectCode, Integer trialCount, List<GroupDetailDTO> groups) {
|
|
public boolean saveMarkerGroup(Long schoolId, String examId, String subjectCode, Integer trialCount, List<GroupDetailDTO> groups) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String groupSaveUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_SAVE_API;
|
|
String groupSaveUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_SAVE_API;
|
|
validUrl(hostUrl, groupSaveUrl);
|
|
validUrl(hostUrl, groupSaveUrl);
|
|
String postUrl = hostUrl.concat(groupSaveUrl);
|
|
String postUrl = hostUrl.concat(groupSaveUrl);
|
|
@@ -364,9 +362,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param subjectCode 科目代码
|
|
* @param subjectCode 科目代码
|
|
*/
|
|
*/
|
|
public int countGroup(Long schoolId, String examId, String subjectCode) {
|
|
public int countGroup(Long schoolId, String examId, String subjectCode) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String groupCountUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_COUNT_API;
|
|
String groupCountUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_COUNT_API;
|
|
validUrl(hostUrl, groupCountUrl);
|
|
validUrl(hostUrl, groupCountUrl);
|
|
String postUrl = hostUrl.concat(groupCountUrl);
|
|
String postUrl = hostUrl.concat(groupCountUrl);
|
|
@@ -395,9 +393,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param subjectCode 科目代码
|
|
* @param subjectCode 科目代码
|
|
*/
|
|
*/
|
|
public boolean deleteGroup(Long schoolId, String examId, String subjectCode) {
|
|
public boolean deleteGroup(Long schoolId, String examId, String subjectCode) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String groupDeleteUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_DELETE_API;
|
|
String groupDeleteUrl = SystemConstant.CLOUD_MARK_EXAM_MARK_GROUP_DELETE_API;
|
|
validUrl(hostUrl, groupDeleteUrl);
|
|
validUrl(hostUrl, groupDeleteUrl);
|
|
String postUrl = hostUrl.concat(groupDeleteUrl);
|
|
String postUrl = hostUrl.concat(groupDeleteUrl);
|
|
@@ -425,9 +423,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param loginName 用户名
|
|
* @param loginName 用户名
|
|
*/
|
|
*/
|
|
public boolean saveMarker(Long schoolId, String examId, String subjectCode, Integer groupNumber, String loginName) {
|
|
public boolean saveMarker(Long schoolId, String examId, String subjectCode, Integer groupNumber, String loginName) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String markerSaveUrl = SystemConstant.CLOUD_MARK_EXAM_MARKER_SAVE_API;
|
|
String markerSaveUrl = SystemConstant.CLOUD_MARK_EXAM_MARKER_SAVE_API;
|
|
validUrl(hostUrl, markerSaveUrl);
|
|
validUrl(hostUrl, markerSaveUrl);
|
|
String postUrl = hostUrl.concat(markerSaveUrl);
|
|
String postUrl = hostUrl.concat(markerSaveUrl);
|
|
@@ -455,9 +453,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param loginName 用户名
|
|
* @param loginName 用户名
|
|
*/
|
|
*/
|
|
public boolean saveMarkLeader(Long schoolId, String subjectCode, String loginName) {
|
|
public boolean saveMarkLeader(Long schoolId, String subjectCode, String loginName) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String markLeaderSaveUrl = SystemConstant.CLOUD_MARK_EXAM_SUBJECT_HEADER_SAVE_API;
|
|
String markLeaderSaveUrl = SystemConstant.CLOUD_MARK_EXAM_SUBJECT_HEADER_SAVE_API;
|
|
validUrl(hostUrl, markLeaderSaveUrl);
|
|
validUrl(hostUrl, markLeaderSaveUrl);
|
|
String postUrl = hostUrl.concat(markLeaderSaveUrl);
|
|
String postUrl = hostUrl.concat(markLeaderSaveUrl);
|
|
@@ -508,9 +506,9 @@ public class CloudMarkingTaskUtils {
|
|
* @param prefix 账号前缀
|
|
* @param prefix 账号前缀
|
|
*/
|
|
*/
|
|
private Map<String, Object> openLogin(SysUser sysUser, String loginUrl, String prefix) {
|
|
private Map<String, Object> openLogin(SysUser sysUser, String loginUrl, String prefix) {
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
validUrl(hostUrl, loginUrl);
|
|
validUrl(hostUrl, loginUrl);
|
|
String postUrl = hostUrl.concat(loginUrl);
|
|
String postUrl = hostUrl.concat(loginUrl);
|
|
|
|
|
|
@@ -666,9 +664,9 @@ public class CloudMarkingTaskUtils {
|
|
map.put("examId", validParam(String.valueOf(examId), null, true, "考试ID"));
|
|
map.put("examId", validParam(String.valueOf(examId), null, true, "考试ID"));
|
|
map.put("withMarkTrack", validParam(withMarkTrack, true, false, "评分标记"));
|
|
map.put("withMarkTrack", validParam(withMarkTrack, true, false, "评分标记"));
|
|
|
|
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String studentCountUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_COUNT_API;
|
|
String studentCountUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_COUNT_API;
|
|
validUrl(hostUrl, studentCountUrl);
|
|
validUrl(hostUrl, studentCountUrl);
|
|
String postUrl = hostUrl.concat(studentCountUrl);
|
|
String postUrl = hostUrl.concat(studentCountUrl);
|
|
@@ -713,9 +711,9 @@ public class CloudMarkingTaskUtils {
|
|
map.put("pageNumber", validParam(String.valueOf(pageNo), null, true, "页码"));
|
|
map.put("pageNumber", validParam(String.valueOf(pageNo), null, true, "页码"));
|
|
map.put("pageSize", validParam(String.valueOf(pageSize), null, true, "数量"));
|
|
map.put("pageSize", validParam(String.valueOf(pageSize), null, true, "数量"));
|
|
|
|
|
|
- //TODO 云阅卷地址待完善
|
|
|
|
- //String hostUrl = dictionaryConfig.syncDataDomain().getHostUrl();
|
|
|
|
- String hostUrl = null;
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.CLOUDMARK_HOST_URL);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置云阅卷地址"));
|
|
|
|
+ String hostUrl = sysConfig.getConfigValue();
|
|
String studentScoreUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_SCORE_API;
|
|
String studentScoreUrl = SystemConstant.CLOUD_MARK_EXAM_STUDENT_SCORE_API;
|
|
validUrl(hostUrl, studentScoreUrl);
|
|
validUrl(hostUrl, studentScoreUrl);
|
|
String postUrl = hostUrl.concat(studentScoreUrl);
|
|
String postUrl = hostUrl.concat(studentScoreUrl);
|