|
@@ -1,8 +1,17 @@
|
|
|
package cn.seecoder.web.service.impl.project;
|
|
package cn.seecoder.web.service.impl.project;
|
|
|
|
|
|
|
|
|
|
+import cn.seecoder.api.ApplicationProperties;
|
|
|
|
|
+import cn.seecoder.common.exceptions.ServiceException;
|
|
|
|
|
+import cn.seecoder.common.util.ShareCodeUtil;
|
|
|
|
|
+import cn.seecoder.web.dao.project.ProjectMapper;
|
|
|
|
|
+import cn.seecoder.web.dao.project.ProjectRelatedMapper;
|
|
|
import cn.seecoder.web.dao.user.UserMapper;
|
|
import cn.seecoder.web.dao.user.UserMapper;
|
|
|
import cn.seecoder.web.model.po.project.ProjectPO;
|
|
import cn.seecoder.web.model.po.project.ProjectPO;
|
|
|
|
|
+import cn.seecoder.web.model.po.project.ProjectRelatedPO;
|
|
|
import cn.seecoder.web.model.vo.project.ProjectCreateVO;
|
|
import cn.seecoder.web.model.vo.project.ProjectCreateVO;
|
|
|
|
|
+import cn.seecoder.web.model.vo.project.ProjectVO;
|
|
|
|
|
+import cn.seecoder.web.model.vo.user.UserVO;
|
|
|
|
|
+import cn.seecoder.web.service.project.ProjectService;
|
|
|
import cn.seecoder.web.service.user.UserService;
|
|
import cn.seecoder.web.service.user.UserService;
|
|
|
import com.nju.edu.gitlab.SeecoderGitlabApi;
|
|
import com.nju.edu.gitlab.SeecoderGitlabApi;
|
|
|
import com.nju.edu.gitlab.SeecoderGitlabException;
|
|
import com.nju.edu.gitlab.SeecoderGitlabException;
|
|
@@ -12,12 +21,6 @@ import org.apache.http.HttpStatus;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
-import cn.seecoder.api.ApplicationProperties;
|
|
|
|
|
-import cn.seecoder.common.exceptions.ServiceException;
|
|
|
|
|
-import cn.seecoder.web.dao.project.ProjectMapper;
|
|
|
|
|
-import cn.seecoder.web.model.vo.project.ProjectVO;
|
|
|
|
|
-import cn.seecoder.web.model.vo.user.UserVO;
|
|
|
|
|
-import cn.seecoder.web.service.project.ProjectService;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -28,6 +31,8 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
|
|
|
|
|
private final ProjectMapper projectMapper;
|
|
private final ProjectMapper projectMapper;
|
|
|
|
|
|
|
|
|
|
+ private final ProjectRelatedMapper projectRelatedMapper;
|
|
|
|
|
+
|
|
|
private final UserMapper userMapper;
|
|
private final UserMapper userMapper;
|
|
|
|
|
|
|
|
private final SeecoderGitlabApi seecoderGitlabApi;
|
|
private final SeecoderGitlabApi seecoderGitlabApi;
|
|
@@ -35,8 +40,9 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
private final ApplicationProperties properties;
|
|
private final ApplicationProperties properties;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- public ProjectServiceImpl(ProjectMapper projectMapper, UserMapper userMapper, SeecoderGitlabApi seecoderGitlabApi, ApplicationProperties properties) {
|
|
|
|
|
|
|
+ public ProjectServiceImpl(ProjectMapper projectMapper, ProjectRelatedMapper projectRelatedMapper, UserMapper userMapper, SeecoderGitlabApi seecoderGitlabApi, ApplicationProperties properties) {
|
|
|
this.projectMapper = projectMapper;
|
|
this.projectMapper = projectMapper;
|
|
|
|
|
+ this.projectRelatedMapper = projectRelatedMapper;
|
|
|
this.userMapper = userMapper;
|
|
this.userMapper = userMapper;
|
|
|
this.seecoderGitlabApi = seecoderGitlabApi;
|
|
this.seecoderGitlabApi = seecoderGitlabApi;
|
|
|
this.properties = properties;
|
|
this.properties = properties;
|
|
@@ -112,5 +118,20 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
return userMapper.selectByIds(userIds).stream().map(UserVO::new).collect(Collectors.toList());
|
|
return userMapper.selectByIds(userIds).stream().map(UserVO::new).collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String generaterelateCode(Integer projectId) {
|
|
|
|
|
+ return ShareCodeUtil.idToCode(projectId.longValue());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String relateProjects(Integer projectId, String relateCode) {
|
|
|
|
|
+ Long[] result = ShareCodeUtil.codeToId(relateCode);
|
|
|
|
|
+ if (System.currentTimeMillis() - result[1] > 1000 * 60 * 5) {
|
|
|
|
|
+ return "验证码有效时间为五分钟,已过期";
|
|
|
|
|
+ };
|
|
|
|
|
+ projectRelatedMapper.insert(ProjectRelatedPO.builder()
|
|
|
|
|
+ .projectIdA(projectId)
|
|
|
|
|
+ .projectIdB(result[0].intValue()).build(),"id");
|
|
|
|
|
+ return "关联项目成功";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|