瀏覽代碼

修复填写报告使用上个用户的链接

郭超 4 年之前
父節點
當前提交
95258ab306

+ 7 - 0
site/src/main/java/com/mooctest/crowd/site/controller/UploadController.java

@@ -30,6 +30,13 @@ public class UploadController {
         return uploadService.uploadRequirement(file, userId, Integer.parseInt(uploadType));
     }
 
+    @RequestMapping(value = "/threePageFile/{userId}", method = RequestMethod.POST)
+    public String uploadThreePageFile(MultipartFile file, @PathVariable("userId") Long userId, @RequestParam(value = "uploadType", defaultValue = "0") String uploadType, HttpSession session){
+        CheckLoginUtil.checkIsSameId(userId, session);
+        System.out.println("删除三级菜单");
+        return uploadService.uploadThreePage(file, userId, Integer.parseInt(uploadType));
+    }
+
     @RequestMapping(value = "/taskFile/{userId}", method = RequestMethod.POST)
     public String uploadTaskFile(MultipartFile file, @PathVariable("userId") Long userId, @RequestParam(value = "uploadType", defaultValue = "0") String uploadType, HttpSession session){
         CheckLoginUtil.checkIsSameId(userId, session);

+ 4 - 3
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
-import com.mooctest.crowd.domain.domainobject.ApplicationType;
 import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.domain.exception.*;
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
 import com.mooctest.crowd.domain.model.*;
@@ -17,7 +17,6 @@ import com.mooctest.crowd.site.configuration.DataCache;
 import com.mooctest.crowd.site.data.ProjectOperationControl;
 import com.mooctest.crowd.site.data.TaskOperationControl;
 import com.mooctest.crowd.site.data.dto.*;
-import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.site.data.vo.*;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.CrowdTaskService;
@@ -894,7 +893,9 @@ public class WebMediatorImpl implements ViewMediator {
 
             // 判断是否具有配置项
             if(endPoint != null){
-                taskVO.setWriteReportUrl(endPoint.getUrl());
+                // 获取填写报告的url
+                String reportUrl = crowdTaskService.getForEntityReportUrl(userId, crowdTestTask, endPoint);
+                taskVO.setWriteReportUrl(reportUrl);
             }
         }
 

+ 4 - 0
site/src/main/java/com/mooctest/crowd/site/service/CrowdTaskService.java

@@ -1,5 +1,7 @@
 package com.mooctest.crowd.site.service;
 
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.domainobject.EndPoint;
 import com.mooctest.crowd.site.command.CrowdTestTaskCommand;
 import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
 import com.mooctest.crowd.site.data.dto.TaskDetailsDTO;
@@ -36,6 +38,8 @@ public interface CrowdTaskService {
 
     String getWriteReportUrl(String projectCode, String taskCode, Long userId);
 
+    String getForEntityReportUrl(Long userId, CrowdTestTask task, EndPoint endPoint);
+
     TaskDetailsDTO updateTask(String projectCode, String taskCode, CrowdTestTaskCommand command, Long userId);
 
     TaskSquareDTO getAllTasks();

+ 3 - 0
site/src/main/java/com/mooctest/crowd/site/service/UploadService.java

@@ -16,9 +16,12 @@ public interface UploadService {
 
     String uploadRequirement(MultipartFile file, Long userId, int uploadType);
 
+    String uploadThreePage(MultipartFile file, Long userId, int parseInt);
+
     String uploadAPK(MultipartFile file, Long userId, int uploadType);
 
     String uploadAuthInfo(MultipartFile file, Long userId, int uploadType);
 
     String uploadGeneralFile(MultipartFile file, int uploadType);
+
 }

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java

@@ -369,7 +369,7 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     }
 
     @NotNull
-    private String getForEntityReportUrl(Long userId, CrowdTestTask task, EndPoint endPoint) {
+    public String getForEntityReportUrl(Long userId, CrowdTestTask task, EndPoint endPoint) {
         int roleId = 0; // 默认为0学生 1为教师
         User user = userRepo.getInfoAndRolesByID(userId);
         if(user.getRoleList().stream().anyMatch(role -> role.getName().equals(RoleType.REGIONAL_MANAGER.getName())

+ 9 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/OSSUploadServiceImpl.java

@@ -51,6 +51,15 @@ public class OSSUploadServiceImpl implements UploadService {
     }
 
     @Override
+    public String uploadThreePage(MultipartFile file, Long userId, int uploadType) {
+        String fileName = UploadType.REQUIREMENT_FILE+file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf("."))+"_"
+                +userId+"_"
+                +System.currentTimeMillis()+""
+                +file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."), file.getOriginalFilename().length());
+        return doUpload(fileName, file, uploadType);
+    }
+
+    @Override
     public String uploadTask(MultipartFile file, Long userId, int uploadType) {
         String fileName = UploadType.EXPORT_TASK_FILE+file.getOriginalFilename().substring(0,file.getOriginalFilename().lastIndexOf("."))+"_"
                 +userId+"_"