|
@@ -6,6 +6,7 @@ import com.qmth.themis.business.bean.cloudmark.*;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.domain.CloudMarkDomain;
|
|
|
import com.qmth.themis.business.entity.TBOrg;
|
|
|
+import com.qmth.themis.business.enums.CloudMarkFileUploadTypeEnum;
|
|
|
import com.qmth.themis.business.service.CacheService;
|
|
|
import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
@@ -121,11 +122,12 @@ public class CloudMarkUtil {
|
|
|
public Long callExamSaveApi(SaveExamParams saveExamParams) throws IOException {
|
|
|
saveExamParams.vaildParams();
|
|
|
this.getAccessKeyAndAccessSecret(saveExamParams);
|
|
|
- Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveExamParams), Map.class);
|
|
|
|
|
|
String url = cloudMarkDomain.getUrl() + cloudMarkDomain.getExamSaveApi();
|
|
|
long timestamp = System.currentTimeMillis();
|
|
|
String accessToken = SignatureInfo.build(SignatureType.SECRET, SystemConstant.METHOD, cloudMarkDomain.getExamSaveApi(), timestamp, saveExamParams.getAccessKey(), saveExamParams.getAccessSecret());
|
|
|
+ saveExamParams.resetDefaultData();
|
|
|
+ Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveExamParams), Map.class);
|
|
|
String result = HttpUtil.post(url, params, accessToken, timestamp);
|
|
|
result = StringEscapeUtils.unescapeHtml4(result);
|
|
|
if (result.contains("HTTP")) {
|
|
@@ -133,7 +135,8 @@ public class CloudMarkUtil {
|
|
|
throw new BusinessException("云阅卷推送考试信息失败");
|
|
|
}
|
|
|
Map<String, Object> resultMap = (Map<String, Object>) JSON.parse(result);
|
|
|
- return Long.parseLong(String.valueOf(resultMap.get("id")));
|
|
|
+// return Long.parseLong(String.valueOf(resultMap.get("id")));
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -146,11 +149,12 @@ public class CloudMarkUtil {
|
|
|
public String callSubjectSaveApi(SaveSubjectParams saveSubjectParams) throws IOException {
|
|
|
saveSubjectParams.vaildParams();
|
|
|
this.getAccessKeyAndAccessSecret(saveSubjectParams);
|
|
|
- Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveSubjectParams), Map.class);
|
|
|
|
|
|
String url = cloudMarkDomain.getUrl() + cloudMarkDomain.getSubjectSaveApi();
|
|
|
long timestamp = System.currentTimeMillis();
|
|
|
String accessToken = SignatureInfo.build(SignatureType.SECRET, SystemConstant.METHOD, cloudMarkDomain.getSubjectSaveApi(), timestamp, saveSubjectParams.getAccessKey(), saveSubjectParams.getAccessSecret());
|
|
|
+ saveSubjectParams.resetDefaultData();
|
|
|
+ Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveSubjectParams), Map.class);
|
|
|
String result = HttpUtil.post(url, params, accessToken, timestamp);
|
|
|
result = StringEscapeUtils.unescapeHtml4(result);
|
|
|
if (result.contains("HTTP")) {
|
|
@@ -158,7 +162,8 @@ public class CloudMarkUtil {
|
|
|
throw new BusinessException("云阅卷推送考试科目信息失败");
|
|
|
}
|
|
|
Map<String, Object> resultMap = (Map<String, Object>) JSON.parse(result);
|
|
|
- return String.valueOf(resultMap.get("updateTime"));
|
|
|
+// return String.valueOf(resultMap.get("updateTime"));
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -171,11 +176,12 @@ public class CloudMarkUtil {
|
|
|
public String callStudentSaveApi(SaveStudentParams saveStudentParams) throws IOException {
|
|
|
saveStudentParams.vaildParams();
|
|
|
this.getAccessKeyAndAccessSecret(saveStudentParams);
|
|
|
- Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveStudentParams), Map.class);
|
|
|
|
|
|
String url = cloudMarkDomain.getUrl() + cloudMarkDomain.getStudentSaveApi();
|
|
|
long timestamp = System.currentTimeMillis();
|
|
|
String accessToken = SignatureInfo.build(SignatureType.SECRET, SystemConstant.METHOD, cloudMarkDomain.getStudentSaveApi(), timestamp, saveStudentParams.getAccessKey(), saveStudentParams.getAccessSecret());
|
|
|
+ saveStudentParams.resetDefaultData();
|
|
|
+ Map<String, Object> params = JSON.parseObject(JSON.toJSONString(saveStudentParams), Map.class);
|
|
|
String result = HttpUtil.post(url, params, accessToken, timestamp);
|
|
|
result = StringEscapeUtils.unescapeHtml4(result);
|
|
|
if (result.contains("HTTP")) {
|
|
@@ -183,7 +189,8 @@ public class CloudMarkUtil {
|
|
|
throw new BusinessException("云阅卷推送考生信息失败");
|
|
|
}
|
|
|
Map<String, Object> resultMap = (Map<String, Object>) JSON.parse(result);
|
|
|
- return String.valueOf(resultMap.get("updateTime"));
|
|
|
+// return String.valueOf(resultMap.get("updateTime"));
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -194,27 +201,22 @@ public class CloudMarkUtil {
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
public Boolean callFileUploadApi(FileUploadParams fileUploadParams) throws IOException {
|
|
|
-// // 参数
|
|
|
-// Map paramMap = JSON.parseObject(JSON.toJSONString(obj), Map.class);
|
|
|
-// File file = new File(String.valueOf(paramMap.get("file")));
|
|
|
-// Map<String, String> files = new HashMap<>();
|
|
|
-// if (file.exists()) {
|
|
|
-// files.put(file.getName(), file.getPath());
|
|
|
-// }
|
|
|
-//
|
|
|
-// paramMap.put(SystemConstant.MD5, DigestUtils.md5Hex(new FileInputStream(file)));
|
|
|
-// paramMap.remove("file");
|
|
|
- fileUploadParams.vaildParams(fileUploadParams.getFormat());
|
|
|
+ fileUploadParams.vaildParamsType();
|
|
|
+ CloudMarkFileUploadTypeEnum cloudMarkFileUploadTypeEnum = CloudMarkFileUploadTypeEnum.convertToEnum(fileUploadParams.getFormat());
|
|
|
+ fileUploadParams.vaildParams(cloudMarkFileUploadTypeEnum);
|
|
|
this.getAccessKeyAndAccessSecret(fileUploadParams);
|
|
|
- Map<String, Object> params = JSON.parseObject(JSON.toJSONString(fileUploadParams), Map.class);
|
|
|
|
|
|
- // api
|
|
|
String host = cloudMarkDomain.getUrl();
|
|
|
String api = cloudMarkDomain.getFileUploadApi();
|
|
|
-// api = api.replaceAll(SystemConstant.FILE_UPLOAD_VARIABLE_URL, type);
|
|
|
+ api = api.replaceAll(SystemConstant.FILE_UPLOAD_VARIABLE_URL, fileUploadParams.getFormat());
|
|
|
String url = host + api;
|
|
|
long timestamp = System.currentTimeMillis();
|
|
|
String accessToken = SignatureInfo.build(SignatureType.SECRET, SystemConstant.METHOD, cloudMarkDomain.getStudentSaveApi(), timestamp, fileUploadParams.getAccessKey(), fileUploadParams.getAccessSecret());
|
|
|
+ fileUploadParams.resetDefaultData();
|
|
|
+ if (cloudMarkFileUploadTypeEnum == CloudMarkFileUploadTypeEnum.JSON) {
|
|
|
+ fileUploadParams.setFormat(null);
|
|
|
+ }
|
|
|
+ Map<String, Object> params = JSON.parseObject(JSON.toJSONString(fileUploadParams), Map.class);
|
|
|
String result = HttpUtil.postFile(url, params, accessToken, timestamp);
|
|
|
result = StringEscapeUtils.unescapeHtml4(result);
|
|
|
if (result.contains("HTTP")) {
|
|
@@ -222,6 +224,7 @@ public class CloudMarkUtil {
|
|
|
throw new BusinessException("云阅卷推送文件信息失败");
|
|
|
}
|
|
|
Map<String, Object> resultMap = (Map<String, Object>) JSON.parse(result);
|
|
|
- return (Boolean) resultMap.get("success");
|
|
|
+// return (Boolean) resultMap.get("success");
|
|
|
+ return null;
|
|
|
}
|
|
|
}
|