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

refactor: 规范project service层,异常处理逻辑转到全局异常处理

370774330@qq.com 5 лет назад
Родитель
Сommit
ce90aebcf4

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

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import seecoder.devcloud.web.model.po.project.Project;
 
 /**
  * @author Chenyz
@@ -26,4 +28,8 @@ public class ProjectVO {
     private String description;
     @ApiModelProperty("项目所属组id")
     private Integer groupId;
+
+    public ProjectVO(Project project){
+        BeanUtils.copyProperties(project,this);
+    }
 }

+ 14 - 16
web/src/main/java/seecoder/devcloud/web/service/impl/project/ProjectServiceImpl.java

@@ -10,6 +10,7 @@ import seecoder.devcloud.web.model.vo.Response;
 import seecoder.devcloud.web.model.vo.project.ProjectVO;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class ProjectServiceImpl implements ProjectService {
@@ -18,40 +19,37 @@ public class ProjectServiceImpl implements ProjectService {
 
 
     @Override
-    public Response<List<Project>> listProjectsByGroupId(int groupId) {
+    public List<ProjectVO> listProjectsByGroupId(int groupId) {
         List<Project> projects = projectMapper.listProjectsByGroupId(groupId);
-        return Response.buildSuccess(projects);
+        return projects.stream().map(ProjectVO::new).collect(Collectors.toList());
     }
 
     @Override
     // TODO:该方法待测试
-    public Response<List<Project>> listProjectsByUserId(int userId) {
+    public List<ProjectVO> listProjectsByUserId(int userId) {
         List<Project> projects = projectMapper.listProjectsByUserId(userId);
-        return Response.buildSuccess(projects);
+        return projects.stream().map(ProjectVO::new).collect(Collectors.toList());
     }
 
     @Override
-    public Response<Project> getProjectById(int projectId) {
+    public ProjectVO getProjectById(int projectId) {
         Project project = projectMapper.getProjectById(projectId);
-        return Response.buildSuccess(project);
+        return new ProjectVO(project);
     }
 
     @Override
-    public Response<Project> createProject(ProjectVO projectVO) {
+    public ProjectVO createProject(ProjectVO projectVO) {
         Project project = new Project();
         BeanUtils.copyProperties(projectVO,project);
-        try {
-            projectMapper.insertProject(project);
-            // TODO:在对应的gitlab仓库中注册WEBHOOK
-            return Response.buildSuccess(project);
-        }catch (Exception e){
-            return Response.buildFailure(503,"异常错误");
-        }
+
+        projectMapper.insertProject(project);
+        // TODO:在对应的gitlab仓库中注册WEBHOOK
+        return new ProjectVO(project);
+
     }
 
     @Override
-    public Response deleteProject(int projectId) {
+    public void deleteProject(int projectId) {
         //TODO:不知道该怎么做,懒删除?还是直接删?
-        return null;
     }
 }

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

@@ -1,7 +1,5 @@
 package seecoder.devcloud.web.service.project;
 
-import seecoder.devcloud.web.model.po.project.Project;
-import seecoder.devcloud.web.model.vo.Response;
 import seecoder.devcloud.web.model.vo.project.ProjectVO;
 
 import java.util.List;
@@ -9,31 +7,33 @@ import java.util.List;
 public interface ProjectService {
     /**
      * 根据group找projects
+     * @return
      */
-    Response<List<Project>> listProjectsByGroupId(int groupId);
+    List<ProjectVO> listProjectsByGroupId(int groupId);
 
     /**
      * 根据user找Project
+     * @return
      */
-    Response<List<Project>> listProjectsByUserId(int userId);
+    List<ProjectVO> listProjectsByUserId(int userId);
 
     /**
      * 获取project
      * @param projectId
      * @return
      */
-    Response<Project> getProjectById(int projectId);
+    ProjectVO getProjectById(int projectId);
 
     /**
      * 创建项目
      * @param project 不包含id
      * @return 注入id后返回
      */
-    Response<Project> createProject(ProjectVO project);
+    ProjectVO createProject(ProjectVO project);
 
     /**
      * 删除项目,懒删除
      */
-    Response deleteProject(int projectId);
+    void deleteProject(int projectId);
 
 }