|
@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.oe.student.api.controller;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
@@ -16,13 +17,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import com.google.common.collect.Maps;
|
|
|
import com.mysql.cj.util.StringUtils;
|
|
|
|
|
|
import cn.com.qmth.examcloud.api.commons.security.bean.User;
|
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
|
import cn.com.qmth.examcloud.commons.util.Util;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.base.utils.Check;
|
|
|
-import cn.com.qmth.examcloud.core.oe.student.bean.AliyunSignatureInfo;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.BatchGetUpyunSignDomain;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.BatchGetUpyunSignDomainQuery;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.CheckExamInProgressInfo;
|
|
@@ -41,7 +42,6 @@ import cn.com.qmth.examcloud.core.oe.student.bean.SaveUploadedFileAcknowledgeSta
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.SaveUploadedFileReq;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.StartExamInfo;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.bean.UpyunSignatureInfo;
|
|
|
-import cn.com.qmth.examcloud.core.oe.student.bean.YunSignatureInfo;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.service.ExamControlService;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.service.ExamFileAnswerService;
|
|
|
import cn.com.qmth.examcloud.core.oe.student.service.ExamRecordDataService;
|
|
@@ -54,6 +54,7 @@ import cn.com.qmth.examcloud.support.examing.ExamRecordData;
|
|
|
import cn.com.qmth.examcloud.support.examing.ExamingSession;
|
|
|
import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
|
|
|
import cn.com.qmth.examcloud.support.redis.RedisKeyHelper;
|
|
|
+import cn.com.qmth.examcloud.web.filestorage.FileStorageHelper;
|
|
|
import cn.com.qmth.examcloud.web.filestorage.FileStoragePathEnvInfo;
|
|
|
import cn.com.qmth.examcloud.web.filestorage.FileStorageType;
|
|
|
import cn.com.qmth.examcloud.web.filestorage.YunHttpRequest;
|
|
@@ -196,10 +197,20 @@ public class ExamControlController extends ControllerSupport {
|
|
|
*/
|
|
|
@ApiOperation(value = "获取文件上传签名(微信小程序调用)")
|
|
|
@PostMapping("/yunSignature")
|
|
|
- public YunSignatureInfo getYunSignature(@ModelAttribute @Valid GetYunSignatureReq req) {
|
|
|
+ public GetYunSignDomain getYunSignature(@ModelAttribute @Valid GetYunSignatureReq req) {
|
|
|
|
|
|
if(FileStorageType.UPYUN.equals(FileStorageUtil.getFileStorageType())) {
|
|
|
- return examControlService.getUpyunSignature(req);
|
|
|
+ GetUpyunSignDomain result = new GetUpyunSignDomain();
|
|
|
+ Map<String, String> params = Maps.newHashMap();
|
|
|
+ UpyunSignatureInfo info=examControlService.getUpyunSignature(req);
|
|
|
+ String signIdentifier = String.valueOf(System.currentTimeMillis());
|
|
|
+ params.put("authorization", info.getSignature());
|
|
|
+ params.put("policy", info.getPolicy());
|
|
|
+ result.setAccessUrl(FileStorageHelper.getUrl(info.getUpyunFileDomain(), info.getFilePath()));
|
|
|
+ result.setFormUrl(info.getUploadUrl());
|
|
|
+ result.setFormParams(params);
|
|
|
+ result.setSignIdentifier(signIdentifier);
|
|
|
+ return result;
|
|
|
}
|
|
|
if(FileStorageType.ALIYUN.equals(FileStorageUtil.getFileStorageType())) {
|
|
|
String fileSuffix = req.getFileSuffix();
|
|
@@ -224,7 +235,7 @@ public class ExamControlController extends ControllerSupport {
|
|
|
}
|
|
|
filePath.append(".").append(req.getFileSuffix());
|
|
|
|
|
|
- AliyunSignatureInfo result = new AliyunSignatureInfo();
|
|
|
+ GetAliyunSignDomain result = new GetAliyunSignDomain();
|
|
|
String signIdentifier = String.valueOf(System.currentTimeMillis());
|
|
|
FileStoragePathEnvInfo env = new FileStoragePathEnvInfo();
|
|
|
env.setRelativePath(filePath.toString());
|