1
0
370774330@qq.com 5 лет назад
Родитель
Сommit
4e4dae995e

+ 0 - 71
web/src/main/java/seecoder/devcloud/web/controller/user/GroupController.java

@@ -1,71 +0,0 @@
-//package seecoder.devcloud.web.controller.user;
-//
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiImplicitParam;
-//import io.swagger.annotations.ApiImplicitParams;
-//import io.swagger.annotations.ApiOperation;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.annotation.Validated;
-//import org.springframework.web.bind.annotation.*;
-//import seecoder.devcloud.common.exceptions.ServiceException;
-//import seecoder.devcloud.web.model.vo.Response;
-//import seecoder.devcloud.web.model.vo.user.GroupVO;
-//import seecoder.devcloud.web.service.user.GroupService;
-//
-//import javax.validation.constraints.Pattern;
-//import java.util.List;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/18
-// * @description:
-// */
-//@RestController
-//@RequestMapping("/groups")
-//@Api(tags = "组 api")
-//public class GroupController {
-//
-//    private final GroupService groupService;
-//
-//    @Autowired
-//    public GroupController(GroupService groupService) {
-//        this.groupService = groupService;
-//    }
-//
-//    @ApiOperation(value = "根据组id获取组", httpMethod = "GET")
-//    @ApiImplicitParam(name = "groupId",dataType ="string", paramType = "query")
-//    @GetMapping
-//    public Response<GroupVO> getGroup(@RequestParam("groupId") Integer groupId){
-//        return Response.buildSuccess(groupService.getGroup(groupId));
-//    }
-//
-//    @ApiOperation(value = "根据组id获取组成员id列表", httpMethod = "GET")
-//    @ApiImplicitParam(name = "groupId",dataType ="string", paramType = "query")
-//    @GetMapping("/members")
-//    public Response<List<Integer>> getGroupMemberIds(@RequestParam("groupId") Integer groupId){
-//        return Response.buildSuccess(groupService.getGroupMemberIds(groupId));
-//    }
-//
-//
-//    @ApiOperation(value = "创建组", httpMethod = "POST")
-//    @ApiImplicitParam(name = "name",dataType ="string", paramType = "query")
-//    @PostMapping()
-//    public Response<GroupVO> createGroup(@RequestParam("name")
-//                                    @Validated
-//                                    @Pattern(regexp = "^\\w{3,20}$", message = "组名称只能为长度为3-20且由数字、26个英文字母或者下划线组成的字符串")
-//                                            String name) throws ServiceException {
-//        return Response.buildSuccess(groupService.createGroup(name));
-//    }
-//
-//    @ApiOperation(value = "添加组成员", httpMethod = "POST")
-//    @ApiImplicitParams({
-//            @ApiImplicitParam(name = "invitedUserId",dataType ="int", paramType = "query"),
-//            @ApiImplicitParam(name = "groupId",dataType ="int", paramType = "query")
-//    })
-//    @PostMapping("/members")
-//    public Response addMember(@RequestParam("invitedUserId") Integer invitedUserId,
-//                              @RequestParam("groupId") Integer groupId) throws ServiceException {
-//        groupService.addMember(invitedUserId, groupId);
-//        return Response.buildSuccess();
-//    }
-//}

+ 0 - 33
web/src/main/java/seecoder/devcloud/web/dao/user/GroupMapper.java

@@ -1,33 +0,0 @@
-//package seecoder.devcloud.web.dao.user;
-//
-//
-//
-//import org.apache.ibatis.annotations.*;
-//import seecoder.devcloud.web.dao.provider.GeneralInsertUpdateSqlProvider;
-//import seecoder.devcloud.web.model.po.user.Group;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/4
-// * @description:
-// * todo 因为组和gitlab相连,删除组的功能如要实现需要把gitlab资源也删除
-// */
-//@Mapper
-//public interface GroupMapper {
-//
-//    /**
-//     * group id并非由此后端生成,而是gitlab创建后,将gitlab groupid填入
-//     */
-//    @InsertProvider(type = GeneralInsertUpdateSqlProvider.class, method = "insert")
-//    int insert(Group group,String... ignoredCols);
-//
-//    @UpdateProvider(type= GeneralInsertUpdateSqlProvider.class, method="updateById")
-//    int update(Group group);
-//
-//    @Select("select * from `group` where id = #{id}")
-//    Group findGroupById(Integer id);
-//
-//    @Select("select * from `group` where name = #{name}")
-//    Group findGroupByName(String name);
-//
-//}

+ 0 - 35
web/src/main/java/seecoder/devcloud/web/dao/user/GroupMemberMapper.java

@@ -1,35 +0,0 @@
-//package seecoder.devcloud.web.dao.user;
-//
-//import org.apache.ibatis.annotations.*;
-//import seecoder.devcloud.web.model.po.user.Group;
-//import seecoder.devcloud.web.model.po.user.UserPO;
-//
-//import java.util.List;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/4
-// * @description:
-// */
-//@Mapper
-//public interface GroupMemberMapper {
-//
-//    @Insert("insert into group_member (group_id,user_id) values (#{groupId}, #{userId}) ")
-//    int insert(@Param("groupId") int groupId,@Param("userId") int userId);
-//
-//    @Delete("delete from group_member where group_id = #{groupId} and user_id = #{userId}")
-//    int delete(@Param("groupId") int groupId,@Param("userId")  int userId);
-//
-//    @Select("select user_id from group_member where group_id = #{groupId}")
-//    List<Integer> selectUserIdsByGroupId(int groupId);
-//
-//    @Select("select group_id from group_member where user_id = #{userId}")
-//    List<Integer> selectGroupIdsByUserId(int groupId);
-//
-//    @Select("select u.* from group_member gm, user u where u.id = gm.user_id and gm.group_id = #{groupId}")
-//    List<UserPO> selectUsersByGroupId(int groupId);
-//
-//    @Select("select g.* from group_member gm, group g where g.id = gm.group_id and gm.userId = #{userId}")
-//    List<Group> selectGroupsByUserId(int userId);
-//
-//}

+ 0 - 112
web/src/main/java/seecoder/devcloud/web/service/impl/user/GroupServiceImpl.java

@@ -1,112 +0,0 @@
-//package seecoder.devcloud.web.service.impl.user;
-//
-//
-//import com.nju.edu.gitlab.SeecoderGitlabApi;
-//import com.nju.edu.gitlab.SeecoderGitlabException;
-//import com.nju.edu.gitlab.dto.member.AccessLevelForm;
-//import com.nju.edu.gitlab.vo.GitlabGroup;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//import seecoder.devcloud.common.exceptions.AccessDeniedException;
-//import seecoder.devcloud.common.exceptions.ConflictException;
-//import seecoder.devcloud.common.exceptions.ServiceException;
-//import seecoder.devcloud.web.dao.user.GroupMapper;
-//import seecoder.devcloud.web.dao.user.GroupMemberMapper;
-//import seecoder.devcloud.web.model.po.user.Group;
-//import seecoder.devcloud.web.model.po.user.UserPO;
-//import seecoder.devcloud.web.model.vo.user.GroupVO;
-//import seecoder.devcloud.web.service.user.GroupService;
-//import seecoder.devcloud.web.service.user.UserService;
-//
-//import java.util.List;
-//
-//
-//@Service
-//@Slf4j
-//public class GroupServiceImpl implements GroupService {
-//    private final GroupMapper groupMapper;
-//    private final GroupMemberMapper groupMemberMapper;
-//
-//    private final SeecoderGitlabApi seecoderGitlabApi;
-//
-//    private final String GROUP_NAME_PREFIX = "DEVCLOUD_";
-//
-//    @Autowired
-//    public GroupServiceImpl(GroupMapper groupMapper, GroupMemberMapper groupMemberMapper, SeecoderGitlabApi seecoderGitlabApi) {
-//        this.groupMapper = groupMapper;
-//        this.groupMemberMapper = groupMemberMapper;
-//        this.seecoderGitlabApi = seecoderGitlabApi;
-//    }
-//
-//    @Override
-//    public GroupVO getGroup(Integer groupId) {
-//        return new GroupVO(groupMapper.findGroupById(groupId));
-//    }
-//
-//    @Override
-//    public List<Integer> getGroupMemberIds(Integer groupId) {
-//        return groupMemberMapper.selectUserIdsByGroupId(groupId);
-//    }
-//
-//    @Override
-//    @Transactional
-//    public GroupVO createGroup(String name) throws ServiceException {
-//        if (groupMapper.findGroupByName(name) != null){
-//            throw new ConflictException("您创建的小组名字已被使用!");
-//        }
-//        UserPO user = UserService.loginUser();
-//        GitlabGroup gitlabGroup = null;
-//        try {
-//            gitlabGroup = seecoderGitlabApi.createGroup(GROUP_NAME_PREFIX + name);
-//            seecoderGitlabApi.addMember(gitlabGroup.getGroupId(), user.getId(), AccessLevelForm.MASTER);
-//        } catch (SeecoderGitlabException e) {
-//            throw new ServiceException("创建Group时发生异常[" + e.getMessage() + "]",e);
-//        }
-//        Group group = Group.builder()
-//                .id(gitlabGroup.getGroupId())
-//                .name(name)
-//                .build();
-//        groupMapper.insert(group);
-//        groupMemberMapper.insert(gitlabGroup.getGroupId(), user.getId());
-//        return new GroupVO(group);
-//    }
-//
-//
-//    @Override
-//    @Transactional
-//    public void addMember(Integer invitedUserId, Integer groupId) throws ServiceException {
-//        //当前登陆的用户id
-//        int userId = UserService.loginUser().getId();
-//
-//        //只有在组内的用户才能邀请
-//        List<Integer> userIds = groupMemberMapper.selectUserIdsByGroupId(groupId);
-//        if (!userIds.contains(userId)) {
-//            throw new AccessDeniedException("小组邀请发生错误,用户没有权限");
-//        }
-//        if (userIds.contains(invitedUserId)) {
-//            throw new ConflictException("邀请的用户已经加入小组!");
-//        }
-//        try {
-//            seecoderGitlabApi.addMember(groupId, invitedUserId, AccessLevelForm.MASTER);
-//        } catch (SeecoderGitlabException e) {
-//            throw new ServiceException("将成员加入Group时发生异常[" + e.getMessage() + "]", e);
-//        }
-//        groupMemberMapper.insert(groupId, invitedUserId);
-//        //Group group = groupMapper.findWithMembersById(groupId);
-//    }
-//
-//    @Override
-//    public void quitGroup(Integer groupId, Integer userId) throws ServiceException {
-//
-////        try {
-////            gitlabApi.quitGroup(groupId,userId);
-////        } catch (GitLabApiException e) {
-////            log.error(e.getMessage(), e);
-////            throw new ServiceException(e.getMessage());
-////        }
-////        groupMemberMapper.delete(groupId,userId);
-//    }
-//}
-//

+ 0 - 39
web/src/main/java/seecoder/devcloud/web/service/user/GroupService.java

@@ -1,39 +0,0 @@
-//package seecoder.devcloud.web.service.user;
-//
-//
-//import org.springframework.stereotype.Service;
-//import seecoder.devcloud.common.exceptions.EntityNotFoundException;
-//import seecoder.devcloud.common.exceptions.ServiceException;
-//import seecoder.devcloud.web.model.vo.user.GroupVO;
-//
-//import java.util.List;
-//
-///**
-// * @InterfaceName GroupService
-// * @PackageName com.moekr.moocoder.logic.service.impl
-// * @Author sheen
-// * @Date 2019/1/9
-// * @Version 1.0
-// * @Description
-// **/
-//@Service
-//public interface GroupService {
-//
-//    GroupVO getGroup(Integer groupId);
-//
-//    List<Integer> getGroupMemberIds(Integer groupId);
-//
-//
-//    /**
-//     * 创建组,组的名字前面会加上 GROUP_NAME_PREFIX = "DEVCLOUD_" 的前缀
-//     */
-//    GroupVO createGroup(String name) throws ServiceException;
-//
-//    void addMember(Integer invitedUserId, Integer groupId) throws ServiceException;
-//
-//    /**
-//     * todo 目前统一代码服务没有提供对应接口,此方法过期,待统一代码服务api更新后再补回
-//     */
-//    @Deprecated
-//    void quitGroup(Integer groupId, Integer userId) throws ServiceException;
-//}

+ 0 - 26
web/src/test/java/seecoder/devcloud/web/dao/user/GroupMapperTest.java

@@ -1,26 +0,0 @@
-//package seecoder.devcloud.web.dao.user;
-//
-//import org.junit.runner.RunWith;
-//import org.mybatis.spring.annotation.MapperScan;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.test.context.SpringBootTest;
-//import org.springframework.test.context.junit4.SpringRunner;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/4
-// * @description:
-// */
-//@RunWith(SpringRunner.class)
-//@SpringBootTest
-//@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
-//class GroupMapperTest {
-//
-//    @Autowired
-//    private final GroupMapper groupMapper;
-//
-//    GroupMapperTest(GroupMapper groupMapper) {
-//        this.groupMapper = groupMapper;
-//    }
-//
-//}

+ 0 - 44
web/src/test/java/seecoder/devcloud/web/dao/user/GroupMemberMapperTest.java

@@ -1,44 +0,0 @@
-//package seecoder.devcloud.web.dao.user;
-//
-//import org.junit.Assert;
-//import org.junit.jupiter.api.Test;
-//import org.junit.runner.RunWith;
-//import org.mybatis.spring.annotation.MapperScan;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.test.context.SpringBootTest;
-//import org.springframework.context.annotation.ComponentScan;
-//import org.springframework.test.context.junit4.SpringRunner;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/4
-// * @description: 与gitlab交互,没有办法配事务,只能手动测试。mvn test的时候请排除这个类
-// */
-//@RunWith(SpringRunner.class)
-//@SpringBootTest
-//@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
-//class GroupMemberMapperTest {
-//
-//
-//    private final GroupMemberMapper groupMemberMapper;
-//
-//    @Autowired
-//    GroupMemberMapperTest(GroupMemberMapper groupMemberMapper) {
-//        this.groupMemberMapper = groupMemberMapper;
-//    }
-//
-//
-//    @Test
-//    void selectUsersByGroupId() {
-//        try{
-//            System.out.println(groupMemberMapper.selectUsersByGroupId(47));
-//        } catch (Exception e){
-//            Assert.fail(e.getMessage());
-//        }
-//
-//    }
-//
-//    @Test
-//    void selectGroupsByUserId() {
-//    }
-//}

+ 0 - 87
web/src/test/java/seecoder/devcloud/web/service/user/GroupServiceTest.java

@@ -1,87 +0,0 @@
-//package seecoder.devcloud.web.service.user;
-//
-//import org.gitlab4j.api.GitLabApi;
-//import org.gitlab4j.api.GitLabApiException;
-//import org.junit.Assert;
-//import org.junit.jupiter.api.BeforeEach;
-//import org.junit.jupiter.api.Test;
-//import org.junit.runner.RunWith;
-//import org.mybatis.spring.annotation.MapperScan;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.test.context.SpringBootTest;
-//import org.springframework.test.context.junit4.SpringRunner;
-//import seecoder.devcloud.api.ApplicationProperties;
-//import seecoder.devcloud.common.exceptions.EntityNotFoundException;
-//import seecoder.devcloud.common.exceptions.ServiceException;
-//
-///**
-// * @author PuHong Weng
-// * @date 2021/3/4
-// * @description: 与gitlab交互,没有办法配事务,只能手动测试。mvn test的时候请排除这个类
-// */
-//@RunWith(SpringRunner.class)
-//@SpringBootTest
-//@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
-////@Transactional
-//class GroupServiceTest {
-//
-//    @Autowired
-//    GroupService groupService;
-//
-//    @Autowired
-//    UserService userService;
-//
-//    @Autowired
-//    ApplicationProperties properties;
-//
-//    /**
-//     * 注意 GitlabApi 和 GitLabApi 区别
-//     * GitlabApi 是我们对 GitLabApi 的一个小封装
-//     * 这里作辅助测试用
-//     */
-//    GitLabApi gitLabApi;
-//
-//    @BeforeEach
-//    void setUp() {
-//        gitLabApi = new GitLabApi(properties.getGitlab().getHost(), properties.getGitlab().getToken());
-//    }
-//
-//    @Test
-//    void help(){
-//        try {
-//            //gitLabApi.getGroupApi().deleteGroup(46);
-//            System.out.println(gitLabApi.getGroupApi().getGroups());
-//        } catch (GitLabApiException e) {
-//            e.printStackTrace();
-//        }
-//    }
-//
-//
-//    @Test
-//    void createGroup() {
-//        int userId = 36;
-//        try {
-//            System.out.println(groupService.createGroup("test"));
-//        } catch (Exception e) {
-//            Assert.fail(e.getMessage());
-//        }
-//    }
-//
-//    @Test
-//    void addMember() {
-//        int groupId = 51;
-//        int userId = 36;
-//        int invitedUserId = 37;
-//        try {
-//            groupService.addMember(invitedUserId, groupId);
-//        } catch (EntityNotFoundException e) {
-//            e.printStackTrace();
-//            Assert.fail(e.getMessage());
-//        } catch (ServiceException serviceException) {
-//            serviceException.printStackTrace();
-//        }
-//
-//    }
-//
-//
-//}