Browse Source

fix: 异步方法没法获取treadlocal用户id

370774330@qq.com 5 years ago
parent
commit
77b32c9e6b

+ 3 - 2
web/src/main/java/seecoder/devcloud/web/controller/pipeline/DeploymentController.java

@@ -11,6 +11,7 @@ import seecoder.devcloud.common.exceptions.ServiceException;
 import seecoder.devcloud.web.model.vo.Response;
 import seecoder.devcloud.web.model.vo.pipeline.DeploymentInfoVO;
 import seecoder.devcloud.web.service.pipeline.DeploymentService;
+import seecoder.devcloud.web.service.user.UserService;
 
 import java.util.List;
 
@@ -47,7 +48,7 @@ public class DeploymentController {
     @PostMapping
     public Response deploy(@RequestParam("projectId")Integer projectId,
                            @RequestParam("pipelineId")Integer pipelineId) throws ServiceException {
-        deploymentService.deploy(projectId,pipelineId);
+        deploymentService.deploy(projectId,pipelineId, UserService.loginUser().getId());
         return Response.buildSuccess();
     }
 
@@ -59,7 +60,7 @@ public class DeploymentController {
     @DeleteMapping
     public Response delete(@RequestParam("projectId")Integer projectId,
                 @RequestParam("pipelineId")Integer pipelineId) throws ServiceException {
-        deploymentService.deploy(projectId,pipelineId);
+        deploymentService.delete(projectId,pipelineId);
         return Response.buildSuccess();
     }
 }

+ 2 - 3
web/src/main/java/seecoder/devcloud/web/service/impl/pipeline/DeploymentServiceImpl.java

@@ -23,7 +23,6 @@ import seecoder.devcloud.web.model.po.pipeline.PipelinePO;
 import seecoder.devcloud.web.model.po.project.ProjectPO;
 import seecoder.devcloud.web.model.vo.pipeline.DeploymentInfoVO;
 import seecoder.devcloud.web.service.pipeline.DeploymentService;
-import seecoder.devcloud.web.service.user.UserService;
 
 import java.sql.Timestamp;
 import java.util.List;
@@ -89,7 +88,7 @@ public class DeploymentServiceImpl implements DeploymentService {
 
     @Override
     @Async
-    public void deploy(Integer projectId, Integer pipelineId) throws ServiceException {
+    public void deploy(Integer projectId, Integer pipelineId, Integer userId) throws ServiceException {
         //projectAuthentication(projectId);
         PipelinePO pipelinePO = pipelineMapper.selectById(pipelineId);
         ProjectPO projectPO = projectMapper.getProjectById(projectId);
@@ -97,7 +96,7 @@ public class DeploymentServiceImpl implements DeploymentService {
         PipelineHistoryPO history = PipelineHistoryPO.builder()
                 .result("部署中")
                 .pipelineId(pipelinePO.getId())
-                .userId(UserService.loginUser().getId())
+                .userId(userId)
                 .details("")
                 .startTime(new Timestamp(System.currentTimeMillis()))
                 .build();

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/service/pipeline/DeploymentService.java

@@ -22,7 +22,7 @@ public interface DeploymentService {
     /**
      * 执行一条pipepine
      */
-    void deploy(Integer projectId,Integer pipelineId) throws ServiceException;
+    void deploy(Integer projectId,Integer pipelineId, Integer userId) throws ServiceException;
 
     /**
      * 删除一个实例

+ 1 - 1
web/src/test/java/seecoder/devcloud/web/service/pipeline/DeploymentServiceTest.java

@@ -34,7 +34,7 @@ class DeploymentServiceTest {
         System.out.println(Thread.currentThread().getName());
         System.out.println(System.currentTimeMillis());
         try {
-            deploymentService.deploy(1,2);
+            deploymentService.deploy(1,2,1);
         } catch (ServiceException serviceException) {
             serviceException.printStackTrace();
         }