Просмотр исходного кода

fix: 同步项目时未添加webhook

370774330@qq.com 5 лет назад
Родитель
Сommit
0f5d6d9520
1 измененных файлов с 22 добавлено и 21 удалено
  1. 22 21
      web/src/main/java/cn/seecoder/web/service/impl/project/ProjectServiceImpl.java

+ 22 - 21
web/src/main/java/cn/seecoder/web/service/impl/project/ProjectServiceImpl.java

@@ -54,21 +54,21 @@ public class ProjectServiceImpl implements ProjectService {
         List<com.nju.edu.gitlab.vo.ProjectVO> projects;
         List<com.nju.edu.gitlab.vo.ProjectVO> projects;
         try {
         try {
             projects = seecoderGitlabApi.getAllProjectsByUserId(userId);
             projects = seecoderGitlabApi.getAllProjectsByUserId(userId);
-        } catch (SeecoderGitlabException e) {
-            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR,"获取项目列表失败",e);
-        }
-        //同步数据,有可能gitlab那边有的项目我们这边没有
-        List<ProjectPO> pos = projects.stream().filter(x->projectMapper.getProjectById(x.getProjectId())==null).map(ProjectPO::new).collect(Collectors.toList());
-        if (pos.size() != 0){
-            //todo 查下mybatis 批量插入方式
-            for (ProjectPO po : pos){
-                projectMapper.insertProject(po);
+
+            //同步数据,有可能gitlab那边有的项目我们这边没有
+            List<ProjectPO> pos = projects.stream().filter(x -> projectMapper.getProjectById(x.getProjectId()) == null).map(ProjectPO::new).collect(Collectors.toList());
+            if (pos.size() != 0) {
+                for (ProjectPO po : pos) {
+                    seecoderGitlabApi.addWebHook(po.getId(), properties.getGitlab().getWebhookProxy(), true, false, false);
+                    projectMapper.insertProject(po);
+                }
             }
             }
+        } catch (SeecoderGitlabException e) {
+            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "获取项目列表失败", e);
         }
         }
-
         List<Integer> projectIds = projects.stream().map(com.nju.edu.gitlab.vo.ProjectVO::getProjectId).collect(Collectors.toList());
         List<Integer> projectIds = projects.stream().map(com.nju.edu.gitlab.vo.ProjectVO::getProjectId).collect(Collectors.toList());
 
 
-        return projectIds.size()==0? new ArrayList<>() : projectMapper.selectByIds(projectIds).stream().map(ProjectVO::new).collect(Collectors.toList());
+        return projectIds.size() == 0 ? new ArrayList<>() : projectMapper.selectByIds(projectIds).stream().map(ProjectVO::new).collect(Collectors.toList());
     }
     }
 
 
     @Override
     @Override
@@ -80,19 +80,19 @@ public class ProjectServiceImpl implements ProjectService {
     @Override
     @Override
     public ProjectVO createProject(ProjectCreateVO vo) throws ServiceException {
     public ProjectVO createProject(ProjectCreateVO vo) throws ServiceException {
         ProjectPO po = new ProjectPO();
         ProjectPO po = new ProjectPO();
-        BeanUtils.copyProperties(vo,po);
+        BeanUtils.copyProperties(vo, po);
         try {
         try {
-            com.nju.edu.gitlab.vo.ProjectVO project = seecoderGitlabApi.createPrivateProject(po.getName(), VisibilityForm.PRIVATE,UserService.loginUser().getId());
+            com.nju.edu.gitlab.vo.ProjectVO project = seecoderGitlabApi.createPrivateProject(po.getName(), VisibilityForm.PRIVATE, UserService.loginUser().getId());
             po.setId(project.getProjectId());
             po.setId(project.getProjectId());
             po.setGitRemoteUrl(project.getWebUrl());
             po.setGitRemoteUrl(project.getWebUrl());
         } catch (SeecoderGitlabException e) {
         } catch (SeecoderGitlabException e) {
-            throw new ServiceException("创建项目时发生异常[project id:"+po.getId()+", " + e.getMessage() + "]", e);
+            throw new ServiceException("创建项目时发生异常[project id:" + po.getId() + ", " + e.getMessage() + "]", e);
         }
         }
         projectMapper.insertProject(po);
         projectMapper.insertProject(po);
         try {
         try {
-            seecoderGitlabApi.addWebHook(po.getId(), properties.getGitlab().getWebhookProxy(), true,false,false);
+            seecoderGitlabApi.addWebHook(po.getId(), properties.getGitlab().getWebhookProxy(), true, false, false);
         } catch (SeecoderGitlabException e) {
         } catch (SeecoderGitlabException e) {
-            throw new ServiceException("给项目添加webhook发生异常[project id:"+po.getId()+", " + e.getMessage() + "]", e);
+            throw new ServiceException("给项目添加webhook发生异常[project id:" + po.getId() + ", " + e.getMessage() + "]", e);
         }
         }
         return new ProjectVO(po);
         return new ProjectVO(po);
 
 
@@ -101,9 +101,9 @@ public class ProjectServiceImpl implements ProjectService {
     @Override
     @Override
     public void addMember(Integer projectId, Integer userId) throws ServiceException {
     public void addMember(Integer projectId, Integer userId) throws ServiceException {
         try {
         try {
-            seecoderGitlabApi.addAuthorization(projectId,userId, AccessLevelForm.MASTER);
+            seecoderGitlabApi.addAuthorization(projectId, userId, AccessLevelForm.MASTER);
         } catch (Exception e) {
         } catch (Exception e) {
-            throw  new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR,"添加项目权限失败",e);
+            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "添加项目权限失败", e);
         }
         }
     }
     }
 
 
@@ -113,7 +113,7 @@ public class ProjectServiceImpl implements ProjectService {
         try {
         try {
             userIds = seecoderGitlabApi.getJoinedUserByProject(projectId);
             userIds = seecoderGitlabApi.getJoinedUserByProject(projectId);
         } catch (SeecoderGitlabException e) {
         } catch (SeecoderGitlabException e) {
-            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR,"获取项目成员失败",e);
+            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "获取项目成员失败", e);
         }
         }
         return userMapper.selectByIds(userIds).stream().map(UserVO::new).collect(Collectors.toList());
         return userMapper.selectByIds(userIds).stream().map(UserVO::new).collect(Collectors.toList());
     }
     }
@@ -128,10 +128,11 @@ public class ProjectServiceImpl implements ProjectService {
         Long[] result = ShareCodeUtil.codeToId(relateCode);
         Long[] result = ShareCodeUtil.codeToId(relateCode);
         if (System.currentTimeMillis() - result[1] > 1000 * 60 * 5) {
         if (System.currentTimeMillis() - result[1] > 1000 * 60 * 5) {
             return "验证码有效时间为五分钟,已过期";
             return "验证码有效时间为五分钟,已过期";
-        };
+        }
+        ;
         projectRelatedMapper.insert(ProjectRelatedPO.builder()
         projectRelatedMapper.insert(ProjectRelatedPO.builder()
                 .projectIdA(projectId)
                 .projectIdA(projectId)
-                .projectIdB(result[0].intValue()).build(),"id");
+                .projectIdB(result[0].intValue()).build(), "id");
         return "关联项目成功";
         return "关联项目成功";
     }
     }
 }
 }