Kaynağa Gözat

refactor: 项目、流水线删除group、user相关字段/功能

370774330@qq.com 5 yıl önce
ebeveyn
işleme
fa38087b86

+ 8 - 10
web/src/main/java/seecoder/devcloud/web/dao/project/ProjectMapper.java

@@ -1,37 +1,35 @@
 package seecoder.devcloud.web.dao.project;
 package seecoder.devcloud.web.dao.project;
 
 
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.annotations.*;
-import org.springframework.stereotype.Repository;
 import seecoder.devcloud.web.dao.provider.GeneralInsertUpdateSqlProvider;
 import seecoder.devcloud.web.dao.provider.GeneralInsertUpdateSqlProvider;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 
 
 import java.util.List;
 import java.util.List;
 
 
 @Mapper
 @Mapper
-@Repository
 public interface ProjectMapper {
 public interface ProjectMapper {
 
 
     @Select("select * from project")
     @Select("select * from project")
-    List<Project> listAll();
+    List<ProjectPO> listAll();
 
 
     @InsertProvider(type = GeneralInsertUpdateSqlProvider.class, method = "insert")
     @InsertProvider(type = GeneralInsertUpdateSqlProvider.class, method = "insert")
-    int insertProject(Project project, String... ignoredCols);
+    int insertProject(ProjectPO projectPO, String... ignoredCols);
 
 
     @UpdateProvider(type= GeneralInsertUpdateSqlProvider.class, method="updateById")
     @UpdateProvider(type= GeneralInsertUpdateSqlProvider.class, method="updateById")
-    int updateProject(Project project);
+    int updateProject(ProjectPO projectPO);
 
 
     @Select("select * from project where group_id=#{groupId}")
     @Select("select * from project where group_id=#{groupId}")
     @ResultMap(value = "projectMap")
     @ResultMap(value = "projectMap")
-    List<Project> listProjectsByGroupId(int groupId);
+    List<ProjectPO> listProjectsByGroupId(int groupId);
 
 
     @Select("select * from project where project_id in (select project_id from project_user where user_id=#{userId}")
     @Select("select * from project where project_id in (select project_id from project_user where user_id=#{userId}")
-    List<Project> listProjectsByUserId(int userId);
+    List<ProjectPO> listProjectsByUserId(int userId);
 
 
     @Select("select * from project where id=#{projectId}")
     @Select("select * from project where id=#{projectId}")
-    Project getProjectById(int projectId);
+    ProjectPO getProjectById(int projectId);
 
 
     @Select("select * from project where name=#{name} and group_id=#{groupId}")
     @Select("select * from project where name=#{name} and group_id=#{groupId}")
-    Project getProjectByNameAndGroupId(String name,Integer groupId);
+    ProjectPO getProjectByNameAndGroupId(String name, Integer groupId);
 
 
     @Select("select count(*) from project where git_remote_url = #{url}")
     @Select("select count(*) from project where git_remote_url = #{url}")
     Integer getProjectCountsByGitRemoteUrl(String url);
     Integer getProjectCountsByGitRemoteUrl(String url);

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/model/po/pipeline/PipelineHistoryPO.java

@@ -30,7 +30,7 @@ public class PipelineHistoryPO {
     /**
     /**
      * 发起执行流水线的人
      * 发起执行流水线的人
      */
      */
-    String username;
+    Integer userId;
 
 
     /**
     /**
      * 执行结果
      * 执行结果

+ 2 - 0
web/src/main/java/seecoder/devcloud/web/model/po/pipeline/PipelinePO.java

@@ -18,6 +18,8 @@ public class PipelinePO {
 
 
     String name;
     String name;
 
 
+    String templateName;
+
     /**
     /**
      * 此pipeline的配置,格式未json
      * 此pipeline的配置,格式未json
      */
      */

+ 1 - 1
web/src/main/java/seecoder/devcloud/web/model/po/project/Project.java → web/src/main/java/seecoder/devcloud/web/model/po/project/ProjectPO.java

@@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
 @Data
 @Data
 @NoArgsConstructor
 @NoArgsConstructor
 @AllArgsConstructor
 @AllArgsConstructor
-public class Project {
+public class ProjectPO {
     /**
     /**
      * id来源:统一代码服务生成的id, 并非此后端生成.
      * id来源:统一代码服务生成的id, 并非此后端生成.
      */
      */

+ 0 - 30
web/src/main/java/seecoder/devcloud/web/model/po/user/Group.java

@@ -1,30 +0,0 @@
-//package seecoder.devcloud.web.model.po.user;
-//
-//
-//import lombok.AllArgsConstructor;
-//import lombok.Builder;
-//import lombok.Data;
-//import lombok.NoArgsConstructor;
-//
-///**
-// * Description:
-// * 小组的实体类
-// *
-// * @author xxz
-// * Created on 10/26/2018
-// */
-//@Data
-//@Builder
-//@NoArgsConstructor
-//@AllArgsConstructor
-//public class Group {
-//
-//    /**
-//     * id并非由此后端生成,而是gitlab创建后,将gitlab group id填入
-//     */
-//    private Integer id;
-//
-//    private String name;
-//
-//
-//}

+ 2 - 3
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineHistoryVO.java

@@ -28,9 +28,8 @@ public class PipelineHistoryVO {
     @ApiModelProperty("构建开始的时间")
     @ApiModelProperty("构建开始的时间")
     Timestamp startTime;
     Timestamp startTime;
 
 
-
-    @ApiModelProperty("发起流水线构建的用户名")
-    String username;
+    @ApiModelProperty("发起流水线构建的用户id")
+    Integer userId;
 
 
     @ApiModelProperty("执行结果")
     @ApiModelProperty("执行结果")
     String result;
     String result;

+ 3 - 3
web/src/main/java/seecoder/devcloud/web/model/vo/pipeline/PipelineInfoVO.java

@@ -30,8 +30,8 @@ public class PipelineInfoVO {
     @ApiModelProperty("最后一次执行流水线构建的时间")
     @ApiModelProperty("最后一次执行流水线构建的时间")
     Timestamp startTime;
     Timestamp startTime;
 
 
-    @ApiModelProperty("最后一次发起流水线构建的")
-    String username;
+    @ApiModelProperty("最后一次发起流水线构建的用户id")
+    Integer userId;
 
 
     @ApiModelProperty("最后一次发起流水线构建的执行结果")
     @ApiModelProperty("最后一次发起流水线构建的执行结果")
     String result;
     String result;
@@ -41,7 +41,7 @@ public class PipelineInfoVO {
 
 
     public PipelineInfoVO(PipelinePO pipelinePO, PipelineHistoryPO pipelineHistoryPO){
     public PipelineInfoVO(PipelinePO pipelinePO, PipelineHistoryPO pipelineHistoryPO){
         startTime = pipelineHistoryPO.getStartTime();
         startTime = pipelineHistoryPO.getStartTime();
-        username = pipelineHistoryPO.getUsername();
+        userId = pipelineHistoryPO.getUserId();
         result = pipelineHistoryPO.getResult();
         result = pipelineHistoryPO.getResult();
         details = pipelineHistoryPO.getDetails();
         details = pipelineHistoryPO.getDetails();
         name = pipelinePO.getName();
         name = pipelinePO.getName();

+ 3 - 3
web/src/main/java/seecoder/devcloud/web/model/vo/project/ProjectVO.java

@@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 
 
 /**
 /**
  * @author Chenyz
  * @author Chenyz
@@ -27,7 +27,7 @@ public class ProjectVO {
     @ApiModelProperty("项目描述")
     @ApiModelProperty("项目描述")
     private String description;
     private String description;
 
 
-    public ProjectVO(Project project){
-        BeanUtils.copyProperties(project,this);
+    public ProjectVO(ProjectPO projectPO){
+        BeanUtils.copyProperties(projectPO,this);
     }
     }
 }
 }

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

@@ -8,7 +8,7 @@ import seecoder.devcloud.core.pipeline.PipelineFactory;
 import seecoder.devcloud.web.dao.pipeline.PipelineMapper;
 import seecoder.devcloud.web.dao.pipeline.PipelineMapper;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.model.po.pipeline.PipelinePO;
 import seecoder.devcloud.web.model.po.pipeline.PipelinePO;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 import seecoder.devcloud.web.model.vo.pipeline.DeploymentInfoVO;
 import seecoder.devcloud.web.model.vo.pipeline.DeploymentInfoVO;
 import seecoder.devcloud.web.service.pipeline.DeploymentService;
 import seecoder.devcloud.web.service.pipeline.DeploymentService;
 
 
@@ -43,9 +43,9 @@ public class DeploymentServiceImpl implements DeploymentService {
     @Override
     @Override
     public void deploy(Integer projectId, Integer pipelineId) {
     public void deploy(Integer projectId, Integer pipelineId) {
         PipelinePO pipelinePO = pipelineMapper.selectById(pipelineId);
         PipelinePO pipelinePO = pipelineMapper.selectById(pipelineId);
-        Project project = projectMapper.getProjectById(projectId);
+        ProjectPO projectPO = projectMapper.getProjectById(projectId);
         try {
         try {
-            Pipeline pipeline = PipelineFactory.init(pipelinePO.getConfigJson(),project.getName(), pipelinePO.getName());
+            Pipeline pipeline = PipelineFactory.init(pipelinePO.getConfigJson(), projectPO.getName(), pipelinePO.getName(), pipelineId, pipelinePO.getTemplateName());
             //todo 异步记录结果
             //todo 异步记录结果
             pipeline.start();
             pipeline.start();
         } catch (PipelineException pipelineException) {
         } catch (PipelineException pipelineException) {

+ 4 - 3
web/src/main/java/seecoder/devcloud/web/service/impl/pipeline/PipelineServiceImpl.java

@@ -11,7 +11,7 @@ import seecoder.devcloud.web.dao.pipeline.PipelineMapper;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.model.po.pipeline.PipelinePO;
 import seecoder.devcloud.web.model.po.pipeline.PipelinePO;
 import seecoder.devcloud.web.model.po.pipeline.PipelineHistoryPO;
 import seecoder.devcloud.web.model.po.pipeline.PipelineHistoryPO;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 import seecoder.devcloud.web.model.po.user.UserPO;
 import seecoder.devcloud.web.model.po.user.UserPO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineConfigVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineConfigVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineCreateVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineCreateVO;
@@ -78,6 +78,7 @@ public class PipelineServiceImpl implements PipelineService {
             pipeline = PipelinePO.builder()
             pipeline = PipelinePO.builder()
                     .name(pipelineCreateVO.getName())
                     .name(pipelineCreateVO.getName())
                     .projectId(pipelineCreateVO.getProjectId())
                     .projectId(pipelineCreateVO.getProjectId())
+                    .templateName(pipelineCreateVO.getTemplateName())
                     .configJson(PipelineTemplateTable.getTemplateConfigJson(pipelineCreateVO.getTemplateName()))
                     .configJson(PipelineTemplateTable.getTemplateConfigJson(pipelineCreateVO.getTemplateName()))
                     .build();
                     .build();
         } catch (PipelineException pipelineException) {
         } catch (PipelineException pipelineException) {
@@ -113,8 +114,8 @@ public class PipelineServiceImpl implements PipelineService {
      */
      */
     private void projectAuthentication(Integer projectId) throws AccessDeniedException {
     private void projectAuthentication(Integer projectId) throws AccessDeniedException {
         UserPO userPO = UserService.loginUser();
         UserPO userPO = UserService.loginUser();
-        List<Project> projects = projectMapper.listProjectsByUserId(userPO.getId());
-        if (projects.stream().noneMatch(project -> project.getId()==projectId)){
+        List<ProjectPO> projectPOS = projectMapper.listProjectsByUserId(userPO.getId());
+        if (projectPOS.stream().noneMatch(project -> project.getId()==projectId)){
             throw new AccessDeniedException("您没有操作此项目的权限");
             throw new AccessDeniedException("您没有操作此项目的权限");
         }
         }
     }
     }

+ 13 - 12
web/src/main/java/seecoder/devcloud/web/service/impl/project/ProjectServiceImpl.java

@@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
 import seecoder.devcloud.common.exceptions.ConflictException;
 import seecoder.devcloud.common.exceptions.ConflictException;
 import seecoder.devcloud.common.exceptions.ServiceException;
 import seecoder.devcloud.common.exceptions.ServiceException;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.dao.project.ProjectMapper;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 import seecoder.devcloud.web.model.vo.project.ProjectVO;
 import seecoder.devcloud.web.model.vo.project.ProjectVO;
 import seecoder.devcloud.web.service.project.ProjectService;
 import seecoder.devcloud.web.service.project.ProjectService;
 
 
@@ -31,40 +31,41 @@ public class ProjectServiceImpl implements ProjectService {
 
 
 //    @Override
 //    @Override
 //    public List<ProjectVO> listProjectsByGroupId(int groupId) {
 //    public List<ProjectVO> listProjectsByGroupId(int groupId) {
-//        List<Project> projects = projectMapper.listProjectsByGroupId(groupId);
+//        List<ProjectPO> projects = projectMapper.listProjectsByGroupId(groupId);
 //        return projects.stream().map(ProjectVO::new).collect(Collectors.toList());
 //        return projects.stream().map(ProjectVO::new).collect(Collectors.toList());
 //    }
 //    }
 
 
     @Override
     @Override
     // TODO:该方法待测试
     // TODO:该方法待测试
     public List<ProjectVO> listProjectsByUserId(int userId) {
     public List<ProjectVO> listProjectsByUserId(int userId) {
-        List<Project> projects = projectMapper.listProjectsByUserId(userId);
+        List<ProjectPO> projectPOS = projectMapper.listProjectsByUserId(userId);
         //todo 改成从gitlab读取
         //todo 改成从gitlab读取
-        return projects.stream().map(ProjectVO::new).collect(Collectors.toList());
+        return projectPOS.stream().map(ProjectVO::new).collect(Collectors.toList());
     }
     }
 
 
     @Override
     @Override
     public ProjectVO getProjectById(int projectId) {
     public ProjectVO getProjectById(int projectId) {
-        Project project = projectMapper.getProjectById(projectId);
-        return new ProjectVO(project);
+        ProjectPO projectPO = projectMapper.getProjectById(projectId);
+        return new ProjectVO(projectPO);
     }
     }
 
 
     @Override
     @Override
     public ProjectVO createProject(ProjectVO projectVO) throws ServiceException {
     public ProjectVO createProject(ProjectVO projectVO) throws ServiceException {
-        Project project = new Project();
-        BeanUtils.copyProperties(projectVO,project);
-        if (projectMapper.getProjectCountsByGitRemoteUrl(project.getGitRemoteUrl())!=0){
+        ProjectPO projectPO = new ProjectPO();
+        BeanUtils.copyProperties(projectVO, projectPO);
+        if (projectMapper.getProjectCountsByGitRemoteUrl(projectPO.getGitRemoteUrl())!=0){
             throw new ConflictException("创建的项目git url已存在");
             throw new ConflictException("创建的项目git url已存在");
         }
         }
         try {
         try {
             int projectId = seecoderGitlabApi.createProject(projectVO.getName(), VisibilityForm.PRIVATE);
             int projectId = seecoderGitlabApi.createProject(projectVO.getName(), VisibilityForm.PRIVATE);
-            project.setId(projectId);
+            projectPO.setId(projectId);
         } catch (SeecoderGitlabException e) {
         } catch (SeecoderGitlabException e) {
             throw new ServiceException("创建项目时发生异常[" + e.getMessage() + "]", e);
             throw new ServiceException("创建项目时发生异常[" + e.getMessage() + "]", e);
         }
         }
-        projectMapper.insertProject(project);
+        projectMapper.insertProject(projectPO);
         // TODO:在对应的gitlab仓库中注册WEBHOOK
         // TODO:在对应的gitlab仓库中注册WEBHOOK
-        return new ProjectVO(project);
+        //seecoderGitlabApi.addWebHook()
+        return new ProjectVO(projectPO);
 
 
     }
     }
 
 

+ 5 - 0
web/src/main/java/seecoder/devcloud/web/service/project/ProjectService.java

@@ -39,4 +39,9 @@ public interface ProjectService {
     @Deprecated
     @Deprecated
     void deleteProject(int projectId);
     void deleteProject(int projectId);
 
 
+    //todo 项目获取所有用户id
+
+    //todo 用户id获取所有项目
+
+    //todo refresh 同步软工二信息
 }
 }

+ 8 - 7
web/src/main/resources/sql/pipeline.sql

@@ -1,12 +1,13 @@
--- auto-generated definition
-create table if not exists devcloud.pipelinePO
+create table if not exists devcloud.pipeline
 (
 (
-    id          int         not null
+    id            int         not null
         primary key,
         primary key,
-    project_id  int         null,
-    name        varchar(47) null,
-    config_json text        null,
+    project_id    int         null,
+    name          varchar(47) null,
+    config_json   text        null,
+    template_name varchar(31) null,
     constraint pipeline_project_id_fk
     constraint pipeline_project_id_fk
-        foreign key (project_id) references project (id)
+        foreign key (project_id) references devcloud.project (id)
+            on delete set null
 );
 );
 
 

+ 18 - 18
web/src/test/java/seecoder/devcloud/web/dao/project/ProjectMapperTest.java

@@ -6,7 +6,7 @@ import org.mybatis.spring.boot.test.autoconfigure.MybatisTest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
 import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.junit4.SpringRunner;
-import seecoder.devcloud.web.model.po.project.Project;
+import seecoder.devcloud.web.model.po.project.ProjectPO;
 
 
 @RunWith(SpringRunner.class)
 @RunWith(SpringRunner.class)
 @MybatisTest
 @MybatisTest
@@ -16,29 +16,29 @@ public class ProjectMapperTest {
     ProjectMapper projectMapper;
     ProjectMapper projectMapper;
     @Test
     @Test
     public void testInsert(){
     public void testInsert(){
-        Project project = new Project(null,"TEST","JUST A TEST","seecoder.cn");
-        projectMapper.insertProject(project);
-        Project project2 = projectMapper.getProjectById(project.getId());
-        assert project.equals(project2);
+        ProjectPO projectPO = new ProjectPO(null,"TEST","JUST A TEST","seecoder.cn");
+        projectMapper.insertProject(projectPO);
+        ProjectPO projectPO2 = projectMapper.getProjectById(projectPO.getId());
+        assert projectPO.equals(projectPO2);
     }
     }
 
 
     @Test
     @Test
     public void testUpdate(){
     public void testUpdate(){
-        Project project2 = projectMapper.getProjectById(1);
-        project2.setName("modify");
-        project2.setDescription("modify description");
-        project2.setGitRemoteUrl("www.google.com");
-        projectMapper.updateProject(project2);
-        Project project = projectMapper.getProjectById(1);
-        System.out.println(project);
-        assert project2.equals(project);
+        ProjectPO projectPO2 = projectMapper.getProjectById(1);
+        projectPO2.setName("modify");
+        projectPO2.setDescription("modify description");
+        projectPO2.setGitRemoteUrl("www.google.com");
+        projectMapper.updateProject(projectPO2);
+        ProjectPO projectPO = projectMapper.getProjectById(1);
+        System.out.println(projectPO);
+        assert projectPO2.equals(projectPO);
     }
     }
 
 
     @Test
     @Test
     public void testListProjectsByGroupId(){
     public void testListProjectsByGroupId(){
-//        List<Project> projects = projectMapper.listProjectsByGroupId(1);
+//        List<ProjectPO> projects = projectMapper.listProjectsByGroupId(1);
 //        boolean res = true;
 //        boolean res = true;
-//        for (Project project:projects){
+//        for (ProjectPO project:projects){
 //            if(project.getGroupId()!=1){
 //            if(project.getGroupId()!=1){
 //                res = false;
 //                res = false;
 //                break;
 //                break;
@@ -52,14 +52,14 @@ public class ProjectMapperTest {
      */
      */
 //    @Test
 //    @Test
     public void testListProjectsByUserId(){
     public void testListProjectsByUserId(){
-//        Project project = new Project(0,"test","seecoder.cn","decription");
+//        ProjectPO project = new ProjectPO(0,"test","seecoder.cn","decription");
 //        projectMapper.insertProject(project);
 //        projectMapper.insertProject(project);
 //        // TODO:插入如下两条数据
 //        // TODO:插入如下两条数据
 ////        groupMemberMapper.insert(2,1);
 ////        groupMemberMapper.insert(2,1);
 ////        groupMemberMapper.insert(1,1);
 ////        groupMemberMapper.insert(1,1);
-//        List<Project> projects = projectMapper.listProjectsByUserId(1);
+//        List<ProjectPO> projects = projectMapper.listProjectsByUserId(1);
 //        boolean res = true;
 //        boolean res = true;
-//        for (Project project1:projects){
+//        for (ProjectPO project1:projects){
 //            System.out.println(project1);
 //            System.out.println(project1);
 //            if(project1.getGroupId()!=1||project1.getGroupId()!=2){
 //            if(project1.getGroupId()!=1||project1.getGroupId()!=2){
 //                res = false;
 //                res = false;

+ 5 - 5
web/src/test/java/seecoder/devcloud/web/service/project/ProjectServiceTest.java

@@ -9,7 +9,7 @@
 //import org.springframework.test.context.junit4.SpringRunner;
 //import org.springframework.test.context.junit4.SpringRunner;
 //import org.springframework.transaction.annotation.Transactional;
 //import org.springframework.transaction.annotation.Transactional;
 //import seecoder.devcloud.web.DevcloudWebApplication;
 //import seecoder.devcloud.web.DevcloudWebApplication;
-//import seecoder.devcloud.web.model.po.project.Project;
+//import seecoder.devcloud.web.model.po.project.ProjectPO;
 //import seecoder.devcloud.web.model.vo.Response;
 //import seecoder.devcloud.web.model.vo.Response;
 //import seecoder.devcloud.web.model.vo.project.ProjectVO;
 //import seecoder.devcloud.web.model.vo.project.ProjectVO;
 //
 //
@@ -32,9 +32,9 @@
 //
 //
 //    @Test
 //    @Test
 //    public void testInsert(){
 //    public void testInsert(){
-//        Response<Project> projectResponse = projectService.createProject(projectVO);
+//        Response<ProjectPO> projectResponse = projectService.createProject(projectVO);
 //        assert projectResponse.getCode().equals(200);
 //        assert projectResponse.getCode().equals(200);
-//        Project project = projectResponse.getData();
+//        ProjectPO project = projectResponse.getData();
 //        System.out.println(project);
 //        System.out.println(project);
 //        assert project.getName().equals(projectVO.getName());
 //        assert project.getName().equals(projectVO.getName());
 //        assert project.getGitRemoteUrl().equals(projectVO.getGitRemoteUrl());
 //        assert project.getGitRemoteUrl().equals(projectVO.getGitRemoteUrl());
@@ -44,9 +44,9 @@
 //
 //
 //    @Test
 //    @Test
 //    public void testListProjectsByGroupId(){
 //    public void testListProjectsByGroupId(){
-//        Response<List<Project>>  listResponse = projectService.listProjectsByGroupId(1);
+//        Response<List<ProjectPO>>  listResponse = projectService.listProjectsByGroupId(1);
 //        assert listResponse.getCode().equals(200);
 //        assert listResponse.getCode().equals(200);
-//        for(Project project:listResponse.getData()){
+//        for(ProjectPO project:listResponse.getData()){
 //            assert project.getGroupId()==1;
 //            assert project.getGroupId()==1;
 //        }
 //        }
 //    }
 //    }