Explorar el Código

refactor: 添加组员修改为传手机号

Jinyao hace 5 años
padre
commit
b70fc11e00

+ 3 - 3
web/src/main/java/cn/seecoder/web/controller/project/ProjectController.java

@@ -65,10 +65,10 @@ public class ProjectController {
     @PostMapping("/members")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "projectId", dataType = "int", paramType = "query"),
-            @ApiImplicitParam(name = "userId", dataType = "int", paramType = "query")
+            @ApiImplicitParam(name = "phone", dataType = "string", paramType = "query")
     })
-    public Response addMember(@RequestParam("projectId") Integer projectId,@RequestParam("userId") Integer userId) throws ServiceException {
-        projectService.addMember(projectId, userId);
+    public Response addMember(@RequestParam("projectId") Integer projectId,@RequestParam("phone") String phone) throws ServiceException {
+        projectService.addMember(projectId, phone);
         return Response.buildSuccess();
     }
 

+ 3 - 0
web/src/main/java/cn/seecoder/web/dao/user/UserMapper.java

@@ -34,4 +34,7 @@ public interface UserMapper {
             "   <foreach collection='ids' open='(' item='id' separator=',' close=')'> #{id}</foreach>" +
             "</script>")
     List<UserPO> selectByIds(@Param("ids") List<Integer> ids);
+
+    @Select("select id from user where phone = #{phone}")
+    Integer selectIdByPhone(String phone);
 }

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

@@ -99,7 +99,11 @@ public class ProjectServiceImpl implements ProjectService {
     }
 
     @Override
-    public void addMember(Integer projectId, Integer userId) throws ServiceException {
+    public void addMember(Integer projectId, String phone) throws ServiceException {
+        Integer userId = userMapper.selectIdByPhone(phone);
+        if(userId == null){
+            throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "该手机号不存在对应用户");
+        }
         try {
             seecoderGitlabApi.addAuthorization(projectId, userId, AccessLevelForm.MASTER);
         } catch (Exception e) {

+ 1 - 1
web/src/main/java/cn/seecoder/web/service/project/ProjectService.java

@@ -28,7 +28,7 @@ public interface ProjectService {
      */
     ProjectVO createProject(ProjectCreateVO vo) throws ServiceException;
 
-    void addMember(Integer projectId, Integer userId) throws ServiceException;
+    void addMember(Integer projectId, String phone) throws ServiceException;
 
     List<UserVO> getProjectMembers(Integer projectId) throws ServiceException;
 

+ 5 - 0
web/src/test/java/cn/seecoder/web/dao/user/UserMapperTest.java

@@ -62,4 +62,9 @@ class UserMapperTest {
 
         System.out.println(userMapper.selectByIds(Arrays.asList(1,2,5)));
     }
+
+    @Test
+    void selectIdByPhone(){
+        System.out.println(userMapper.selectIdByPhone("1234"));
+    }
 }