Quellcode durchsuchen

feat: project user功能待移植到gitlab

370774330@qq.com vor 5 Jahren
Ursprung
Commit
6fdd506bae

+ 4 - 18
web/src/main/java/seecoder/devcloud/web/dao/project/ProjectMapper.java

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

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

@@ -36,7 +36,7 @@ public class ProjectServiceImpl implements ProjectService {
     @Override
     // TODO:该方法待测试
     public List<ProjectVO> listProjectsByUserId(int userId) {
-        List<ProjectPO> projectPOS = projectMapper.listProjectsByUserId(userId);
+        List<ProjectPO> projectPOS = null;
         //todo 改成从gitlab读取
         return projectPOS.stream().map(ProjectVO::new).collect(Collectors.toList());
     }

+ 4 - 9
web/src/main/java/seecoder/devcloud/web/service/user/UserService.java

@@ -4,15 +4,10 @@ package seecoder.devcloud.web.service.user;
 import org.springframework.security.core.context.SecurityContextHolder;
 import seecoder.devcloud.common.exceptions.AccessDeniedException;
 import seecoder.devcloud.common.exceptions.ServiceException;
-import seecoder.devcloud.common.util.SpringUtil;
-import seecoder.devcloud.web.dao.project.ProjectMapper;
-import seecoder.devcloud.web.model.po.project.ProjectPO;
 import seecoder.devcloud.web.model.po.user.UserPO;
 import seecoder.devcloud.web.model.vo.user.GitlabUserCreateVO;
 import seecoder.devcloud.web.model.vo.user.UserVO;
 
-import java.util.List;
-
 public interface UserService {
 
     UserVO createGitlabUser(GitlabUserCreateVO vo) throws ServiceException;
@@ -36,9 +31,9 @@ public interface UserService {
     static void projectAuthentication(Integer projectId) throws AccessDeniedException {
         UserPO userPO = UserService.loginUser();
         //todo gitlab获取
-        List<ProjectPO> projectPOS = SpringUtil.getBean(ProjectMapper.class).listProjectsByUserId(userPO.getId());
-        if (projectPOS.stream().noneMatch(project -> project.getId()==projectId)){
-            throw new AccessDeniedException("您没有操作此项目的权限");
-        }
+        //List<ProjectPO> projectPOS = SpringUtil.getBean(ProjectMapper.class).listProjectsByUserId(userPO.getId());
+//        if (projectPOS.stream().noneMatch(project -> project.getId()==projectId)){
+//            throw new AccessDeniedException("您没有操作此项目的权限");
+//        }
     }
 }

+ 9 - 37
web/src/main/resources/sql/project.sql

@@ -1,38 +1,10 @@
-/*
- Navicat Premium Data Transfer
+create table if not exists devcloud.project
+(
+    id             int          not null
+        primary key,
+    name           varchar(128) null,
+    description    varchar(512) null,
+    git_remote_url varchar(512) not null
+)
+    charset = utf8;
 
- Source Server         : localhost_3306
- Source Server Type    : MySQL
- Source Server Version : 80018
- Source Host           : localhost:3306
- Source Schema         : seecoder
-
- Target Server Type    : MySQL
- Target Server Version : 80018
- File Encoding         : 65001
-
- Date: 10/03/2021 23:54:40
-*/
-use devcloud;
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for project
--- ----------------------------
-DROP TABLE IF EXISTS `project`;
-CREATE TABLE `project`  (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `description` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
-  `git_remote_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of project
--- ----------------------------
-INSERT INTO `project` VALUES (1, '前端', 'DevCloud前端', 'http://gogs.seecoder.cn/HuangKaiSheng/seecoder-devcloud-frontend/src/master');
-INSERT INTO `project` VALUES (2, '后端开发', '后端测试测试测试测试测试', 'http://gogs.seecoder.cn/WengPuHong/seecoder-devcloud');
-
-SET FOREIGN_KEY_CHECKS = 1;

+ 0 - 12
web/src/main/resources/sql/project_user.sql

@@ -1,12 +0,0 @@
-create table if not exists devcloud.project_user
-(
-    projectId int null,
-    userId    int null,
-    constraint project_user_project_id_fk
-        foreign key (projectId) references devcloud.project (id)
-            on delete cascade
-);
-
-create index project_user_userId_index
-    on devcloud.project_user (user_id);
-

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

@@ -16,7 +16,7 @@ public class ProjectMapperTest {
     ProjectMapper projectMapper;
     @Test
     public void testInsert(){
-        ProjectPO projectPO = new ProjectPO(null,"TEST","JUST A TEST","seecoder.cn");
+        ProjectPO projectPO = new ProjectPO(3,"TEST","JUST A TEST","seecoder.cn");
         projectMapper.insertProject(projectPO);
         ProjectPO projectPO2 = projectMapper.getProjectById(projectPO.getId());
         assert projectPO.equals(projectPO2);
@@ -34,38 +34,5 @@ public class ProjectMapperTest {
         assert projectPO2.equals(projectPO);
     }
 
-    @Test
-    public void testListProjectsByGroupId(){
-//        List<ProjectPO> projects = projectMapper.listProjectsByGroupId(1);
-//        boolean res = true;
-//        for (ProjectPO project:projects){
-//            if(project.getGroupId()!=1){
-//                res = false;
-//                break;
-//            }
-//        }
-//        assert res;
-    }
 
-    /**
-     * 这个因为groupMemberMapper有外键,不好测
-     */
-//    @Test
-    public void testListProjectsByUserId(){
-//        ProjectPO project = new ProjectPO(0,"test","seecoder.cn","decription");
-//        projectMapper.insertProject(project);
-//        // TODO:插入如下两条数据
-////        groupMemberMapper.insert(2,1);
-////        groupMemberMapper.insert(1,1);
-//        List<ProjectPO> projects = projectMapper.listProjectsByUserId(1);
-//        boolean res = true;
-//        for (ProjectPO project1:projects){
-//            System.out.println(project1);
-//            if(project1.getGroupId()!=1||project1.getGroupId()!=2){
-//                res = false;
-//                break;
-//            }
-//        }
-//        assert res;
-    }
 }