|
|
@@ -5,15 +5,17 @@ import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao;
|
|
|
import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudProjectDao;
|
|
|
import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudUserDao;
|
|
|
import com.seecoder.dataanalysis.data.dao.devcloud.ProjectRelateDao;
|
|
|
-import com.seecoder.dataanalysis.data.entity.devcloud.BugInfo;
|
|
|
-import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudInfo;
|
|
|
-import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudProject;
|
|
|
+import com.seecoder.dataanalysis.data.entity.devcloud.*;
|
|
|
import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatGroup;
|
|
|
import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatStudent;
|
|
|
import com.seecoder.dataanalysis.vo.devcloud.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
+
|
|
|
/**
|
|
|
* @author Peng Yiyan
|
|
|
* @since 2022/03/12
|
|
|
@@ -33,34 +35,304 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
|
|
|
|
|
|
@Override
|
|
|
public DevcloudInfo updateDevInfoType100(BugInfoDTO bugInfoDTO){
|
|
|
- return null;
|
|
|
+ Integer projectId = bugInfoDTO.getProjectId();
|
|
|
+ DevcloudInfo devcloudInfo;
|
|
|
+ Optional<DevcloudInfo> result = devcloudInfoDao.findById(projectId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudInfo = new DevcloudInfo(projectId);
|
|
|
+ }else {
|
|
|
+ devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+ List<BugInfo> bugInfoList = devcloudInfo.getBugList();
|
|
|
+ boolean exist = false;
|
|
|
+ for(int i=0;i<bugInfoList.size();i++){
|
|
|
+ //如果已经存在bug_id,则视为对bugInfo的修改
|
|
|
+// System.out.println("--------"+bugInfoList.get(i).getBugId());
|
|
|
+ if(bugInfoList.get(i).getBugId().equals(bugInfoDTO.getBugId())){
|
|
|
+ exist = true;
|
|
|
+ bugInfoList.get(i).setBugId(bugInfoDTO.getBugId());
|
|
|
+ bugInfoList.get(i).setUserId(bugInfoDTO.getUserId());
|
|
|
+ bugInfoList.get(i).setPriority(bugInfoDTO.getPriority());
|
|
|
+ bugInfoList.get(i).setTitle(bugInfoDTO.getTitle());
|
|
|
+ bugInfoList.get(i).setDescription(bugInfoDTO.getDescription());
|
|
|
+ bugInfoList.get(i).setTimeToTake(bugInfoDTO.getTimeToTake());
|
|
|
+ bugInfoList.get(i).setBugState(bugInfoDTO.getBugState());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果不存在bug_id,将bugInfo加入List
|
|
|
+ if(!exist){
|
|
|
+ BugInfo bugInfoNew = new BugInfo();
|
|
|
+ bugInfoNew.setBugId(bugInfoDTO.getBugId());
|
|
|
+ bugInfoNew.setUserId(bugInfoDTO.getUserId());
|
|
|
+ bugInfoNew.setPriority(bugInfoDTO.getPriority());
|
|
|
+ bugInfoNew.setTitle(bugInfoDTO.getTitle());
|
|
|
+ bugInfoNew.setDescription(bugInfoDTO.getDescription());
|
|
|
+ bugInfoNew.setTimeToTake(bugInfoDTO.getTimeToTake());
|
|
|
+ bugInfoNew.setBugState(bugInfoDTO.getBugState());
|
|
|
+
|
|
|
+ bugInfoList.add(bugInfoNew);
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setBugList(bugInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public DevcloudInfo updateDevInfoType101(CommitInfoDTO commitInfoDTO){
|
|
|
- return null;
|
|
|
+ Integer projectId = commitInfoDTO.getProjectId();
|
|
|
+ DevcloudInfo devcloudInfo;
|
|
|
+
|
|
|
+ Optional<DevcloudInfo> result = devcloudInfoDao.findById(projectId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudInfo = new DevcloudInfo(projectId);
|
|
|
+ }else {
|
|
|
+ devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CommitInfo> commitInfoList = devcloudInfo.getCommitList();
|
|
|
+
|
|
|
+ boolean exist = false;
|
|
|
+ for(int i=0;i<commitInfoList.size();i++){
|
|
|
+ if(commitInfoList.get(i).getCommitId().equals(commitInfoDTO.getCommitId())){
|
|
|
+ exist = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!exist){
|
|
|
+ //新建commit信息
|
|
|
+ CommitInfo commitInfo = new CommitInfo();
|
|
|
+ commitInfo.setCommitId(commitInfoDTO.getCommitId());
|
|
|
+ commitInfo.setUserId(commitInfoDTO.getUserId());
|
|
|
+ commitInfo.setCommitName(commitInfoDTO.getCommitName());
|
|
|
+ commitInfo.setCommitTime(commitInfoDTO.getCommitTime());
|
|
|
+ commitInfo.setMessage(commitInfoDTO.getMessage());
|
|
|
+ commitInfo.setType(commitInfoDTO.getType());
|
|
|
+
|
|
|
+ commitInfoList.add(commitInfo);
|
|
|
+ }else {
|
|
|
+ System.out.println("请勿重复插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setCommitList(commitInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public DevcloudInfo updateDevInfoType102(TestInfoDTO testInfoDTO){ return null;}
|
|
|
+ public DevcloudInfo updateDevInfoType102(TestInfoDTO testInfoDTO){
|
|
|
+ Integer projectId = testInfoDTO.getProjectId();
|
|
|
+ DevcloudInfo devcloudInfo;
|
|
|
|
|
|
- @Override
|
|
|
- public DevcloudInfo updateDevInfoType103(PipelineCreationDTO pipelineCreationDTO){ return null;}
|
|
|
+ Optional<DevcloudInfo> result = devcloudInfoDao.findById(projectId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudInfo = new DevcloudInfo(projectId);
|
|
|
+ }else {
|
|
|
+ devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TestInfo> testInfoList = devcloudInfo.getTestList();
|
|
|
+
|
|
|
+ boolean exist = false;
|
|
|
+ for(int i=0;i<testInfoList.size();i++){
|
|
|
+ if(testInfoList.get(i).getApiTestId().equals(testInfoDTO.getApiTestId())){
|
|
|
+ exist = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //新建测试信息
|
|
|
+ if(!exist){
|
|
|
+ TestInfo testInfo = new TestInfo();
|
|
|
+ testInfo.setApiTestId(testInfoDTO.getApiTestId());
|
|
|
+ testInfo.setUserId(testInfoDTO.getUserId());
|
|
|
+ testInfo.setSuccess(testInfoDTO.getSuccess());
|
|
|
+ testInfo.setFailure(testInfoDTO.getFailure());
|
|
|
+
|
|
|
+ testInfoList.add(testInfo);
|
|
|
+ }else {
|
|
|
+ System.out.println("请勿重复插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setTestList(testInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public DevcloudInfo updateDevInfoType104(PipelineDeletionDTO pipelineDeletionDTO){ return null;}
|
|
|
+ public DevcloudInfo updateDevInfoType103(PipelineCreationDTO pipelineCreationDTO){
|
|
|
+ Integer projectId = pipelineCreationDTO.getProjectId();
|
|
|
+ DevcloudInfo devcloudInfo;
|
|
|
+
|
|
|
+ Optional<DevcloudInfo> result = devcloudInfoDao.findById(projectId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudInfo = new DevcloudInfo(projectId);
|
|
|
+ }else {
|
|
|
+ devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PipelineInfo> pipelineInfoList = devcloudInfo.getPipelineList();
|
|
|
+
|
|
|
+ boolean exist = false;
|
|
|
+ for(int i=0;i<pipelineInfoList.size();i++){
|
|
|
+ if(pipelineInfoList.get(i).getPipelineId().equals(pipelineCreationDTO.getPipelineId())){
|
|
|
+ exist = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //新建流水线信息
|
|
|
+ if(!exist){
|
|
|
+// System.out.println(pipelineInfoList.size());
|
|
|
+// System.out.println(pipelineCreationDTO.getPipelineId());
|
|
|
+ PipelineInfo pipelineInfo = new PipelineInfo();
|
|
|
+ pipelineInfo.setPipelineId(pipelineCreationDTO.getPipelineId());
|
|
|
+
|
|
|
+ pipelineInfoList.add(pipelineInfo);
|
|
|
+ }else {
|
|
|
+ System.out.println("请勿重复插入");
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setPipelineList(pipelineInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public DevcloudInfo updateDevInfoType105(PipelineDeployDTO pipelineDeployDTO){ return null;}
|
|
|
+ public DevcloudInfo updateDevInfoType104(PipelineDeletionDTO pipelineDeletionDTO){
|
|
|
+ Integer projectId = pipelineDeletionDTO.getProjectId();
|
|
|
+ Integer pipelineId = pipelineDeletionDTO.getPipelineId();
|
|
|
+ DevcloudInfo devcloudInfo;
|
|
|
+
|
|
|
+ Optional<DevcloudInfo> result = devcloudInfoDao.findById(projectId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudInfo = new DevcloudInfo(projectId);
|
|
|
+ }else {
|
|
|
+ devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PipelineInfo> pipelineInfoList = devcloudInfo.getPipelineList();
|
|
|
+
|
|
|
+ //找到对应的id,删除
|
|
|
+ for(int i=0;i<pipelineInfoList.size();i++){
|
|
|
+ if(pipelineInfoList.get(i).getPipelineId().equals(pipelineId)){
|
|
|
+// System.out.println("will remove");
|
|
|
+ pipelineInfoList.remove(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setPipelineList(pipelineInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public DevcloudInfo updateDevInfoType106(TreeNodeInfoDTO treeNodeInfoDTO){ return null;}
|
|
|
-
|
|
|
+ public DevcloudInfo updateDevInfoType105(PipelineDeployDTO pipelineDeployDTO){
|
|
|
+ Integer projectId = pipelineDeployDTO.getProjectId();
|
|
|
+ Integer pipelineId = pipelineDeployDTO.getPipelineId();
|
|
|
+ DevcloudInfo devcloudInfo = devcloudInfoDao.findById(projectId).get();
|
|
|
+ List<PipelineInfo> pipelineInfoList = devcloudInfo.getPipelineList();
|
|
|
+
|
|
|
+ //找到对应的id,存入部署信息
|
|
|
+ for(int i=0;i<pipelineInfoList.size();i++){
|
|
|
+ if(pipelineInfoList.get(i).getPipelineId().equals(pipelineId)){
|
|
|
+ List<RecordInfo> recordInfoList = pipelineInfoList.get(i).getRecordList();
|
|
|
+ RecordInfo recordInfo = new RecordInfo();
|
|
|
+ recordInfo.setRecordId(pipelineDeployDTO.getRecordId());
|
|
|
+ recordInfo.setUserId(pipelineDeployDTO.getUserId());
|
|
|
+ recordInfo.setResult(pipelineDeployDTO.getResult());
|
|
|
+ recordInfoList.add(recordInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudInfo.setPipelineList(pipelineInfoList);
|
|
|
+ devcloudInfoDao.save(devcloudInfo);
|
|
|
+ return devcloudInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+// @Override
|
|
|
+// public DevcloudInfo updateDevInfoType106(TreeNodeInfoDTO treeNodeInfoDTO){
|
|
|
+// return null;
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public DevcloudInfo updateDevInfoType107(TreeNodeDeletionDTO treeNodeDeletionDTO){
|
|
|
+// return null;
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
- public DevcloudInfo updateDevInfoType107(TreeNodeDeletionDTO treeNodeDeletionDTO){ return null;}
|
|
|
+ public DevcloudProject updateDevInfoType108(AddProjectDTO addProjectDTO){
|
|
|
+ Integer projectId = addProjectDTO.getProjectId();
|
|
|
+ DevcloudProject devcloudProject;
|
|
|
+
|
|
|
+ Optional<DevcloudProject> result = devcloudProjectDao.findById(projectId);
|
|
|
+
|
|
|
+ if(!result.isPresent()){
|
|
|
+ devcloudProject = new DevcloudProject();
|
|
|
+ devcloudProject.setProjectId(projectId);
|
|
|
+ List<Integer> members = new ArrayList<>();
|
|
|
+ devcloudProject.setUserIds(members);
|
|
|
+ devcloudProjectDao.save(devcloudProject);
|
|
|
+ }else {
|
|
|
+ devcloudProject = devcloudProjectDao.findById(projectId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Integer> memberIds = devcloudProject.getUserIds();
|
|
|
+ if(!memberIds.contains(addProjectDTO.getUserId())){
|
|
|
+ memberIds.add(addProjectDTO.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudProject.setUserIds(memberIds);
|
|
|
+ devcloudProjectDao.save(devcloudProject);
|
|
|
+
|
|
|
+ //处理完项目-用户关系,现在处理用户-项目关系
|
|
|
+ Integer userId = addProjectDTO.getUserId();
|
|
|
+ DevcloudUser devcloudUser;
|
|
|
+
|
|
|
+ Optional<DevcloudUser> result1 = devcloudUserDao.findById(userId);
|
|
|
+
|
|
|
+ if(!result1.isPresent()){
|
|
|
+ devcloudUser = new DevcloudUser();
|
|
|
+ devcloudUser.setUserId(userId);
|
|
|
+ List<Integer> projects = new ArrayList<>();
|
|
|
+ devcloudUser.setProjectIds(projects);
|
|
|
+ }else {
|
|
|
+ devcloudUser = devcloudUserDao.findById(userId).get();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Integer> projectIds = devcloudUser.getProjectIds();
|
|
|
+ if(!projectIds.contains(addProjectDTO.getProjectId())){
|
|
|
+ projectIds.add(addProjectDTO.getProjectId());
|
|
|
+ }
|
|
|
+
|
|
|
+ devcloudUser.setProjectIds(projectIds);
|
|
|
+ devcloudUserDao.save(devcloudUser);
|
|
|
+
|
|
|
+ return devcloudProject;
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public DevcloudProject updateDevInfoType108(AddProjectDTO addProjectDTO){ return null;}
|
|
|
+ public ProjectRelate updateDevInfoType109(RelateProjectDTO relateProjectDTO){
|
|
|
+ Integer projectAId = relateProjectDTO.getProjectAId();
|
|
|
+ ProjectRelate projectRelate;
|
|
|
+
|
|
|
+ Optional<ProjectRelate> result = projectRelateDao.findById(projectAId);
|
|
|
+ if(!result.isPresent()){
|
|
|
+ projectRelate = new ProjectRelate();
|
|
|
+ projectRelate.setProjectId(projectAId);
|
|
|
+ projectRelate.setRelateId(relateProjectDTO.getProjectBId());
|
|
|
+ projectRelateDao.save(projectRelate);
|
|
|
+ }else {
|
|
|
+ projectRelate = projectRelateDao.findById(projectAId).get();
|
|
|
+ projectRelate.setRelateId(relateProjectDTO.getProjectBId());
|
|
|
+ projectRelateDao.save(projectRelate);
|
|
|
+ }
|
|
|
+
|
|
|
+ return projectRelate;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@Override
|