Sfoglia il codice sorgente

添加unauth接口

冯翔 3 anni fa
parent
commit
9e8d1ef210

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/command/CrowdTestProjectCommand.java

@@ -19,7 +19,7 @@ import java.util.Map;
  */
 @Data
 public class CrowdTestProjectCommand {
-    @NotNull(message = "UserId不可为空")
+//    @NotNull(message = "UserId不可为空")
     private Long userId;
 
     @NotNull(message = "项目名称不可为空")

+ 34 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CrowdProjectController.java

@@ -17,6 +17,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -39,6 +40,9 @@ public class CrowdProjectController{
     @Autowired
     private CrowdProjectService projectService;
 
+    @Value("${green.manager.id}")
+    long unauthManageId;
+
     /**
      *  创建项目接口
      * @param crowdTestProjectCommand
@@ -65,6 +69,25 @@ public class CrowdProjectController{
     }
 
     /**
+     *  创建项目接口,不进行用户校验
+     * @param crowdTestProjectCommand
+     * @param result
+     * @return
+     */
+    @RequestMapping(value = "/api/project/unauth", method = RequestMethod.POST)
+    @ApiOperation(value = "创建项目接口无用户校验", notes = "创建项目无用户校验")
+    public ProjectDetailsDTO createProjectUnauth(@Validated @RequestBody CrowdTestProjectCommand crowdTestProjectCommand, BindingResult result,HttpSession session){
+        if (result.hasErrors()) {
+            throw new BaseException(result.getFieldErrors().toString());
+        }
+        else if (!crowdTestProjectCommand.isLegal())
+            throw new BaseException("信息不合法,项目可见性必须选择指定的市");
+//            throw new BaseException("信息不合法,项目可见性存在问题");
+        crowdTestProjectCommand.setUserId(unauthManageId);
+        return projectService.createCrowdProject(crowdTestProjectCommand, unauthManageId);
+    }
+
+    /**
      * 获取项目详情接口
      * @param projectCode
      * @return
@@ -80,6 +103,17 @@ public class CrowdProjectController{
     }
 
     /**
+     * 获取项目详情接口
+     * @param projectCode
+     * @return
+     */
+    @RequestMapping(value = "/api/project/unauth/{projectCode}", method = RequestMethod.GET)
+    public ProjectDetailsDTO getProjectUnauth(@PathVariable("projectCode") String projectCode, HttpSession session){
+        log.info("访问Project详情,projectId:"+projectCode);
+        return projectService.getProjectDetails(projectCode, unauthManageId);
+    }
+
+    /**
      * 获取全部项目
      * @return
      */