DevcloudDataAnalysisService.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.seecoder.dataanalysis.analysis;
  2. import com.seecoder.dataanalysis.data.entity.devcloud.*;
  3. import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatGroup;
  4. import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatStudent;
  5. import com.seecoder.dataanalysis.data.entity.eval.User;
  6. import com.seecoder.dataanalysis.vo.devcloud.*;
  7. /**
  8. * @author Peng Yiyan
  9. * @since 2022/03/11
  10. */
  11. public interface DevcloudDataAnalysisService {
  12. /**
  13. * 收到新的Devcloud日志,以项目为单位进行分析入库
  14. * 命名方式同日志格式中的op_type
  15. * 此处为op_type=100 缺陷处理信息
  16. * @param bugInfoDTO op_type=100的日志
  17. * @return DevcloudInfo 项目对应的Devcloud信息
  18. */
  19. DevcloudInfo updateDevInfoType100(BugInfoDTO bugInfoDTO);
  20. /**
  21. * op_type=101 用户进行commit
  22. * @param commitInfoDTO op_type=101的日志
  23. */
  24. DevcloudInfo updateDevInfoType101(CommitInfoDTO commitInfoDTO);
  25. /**
  26. * op_type=102 用户创建并执行接口测试
  27. * @param testInfoDTO op_type=102的日志
  28. */
  29. DevcloudInfo updateDevInfoType102(TestInfoDTO testInfoDTO);
  30. /**
  31. * op_type=103 用户创建流水线
  32. * @param pipelineCreationDTO op_type=103的日志
  33. */
  34. DevcloudInfo updateDevInfoType103(PipelineCreationDTO pipelineCreationDTO);
  35. /**
  36. * op_type=104 用户删除流水线
  37. * @param pipelineDeletionDTO op_type=104的日志
  38. */
  39. DevcloudInfo updateDevInfoType104(PipelineDeletionDTO pipelineDeletionDTO);
  40. /**
  41. * op_type=105 用户部署流水线
  42. * @param pipelineDeployDTO op_type=105的日志
  43. */
  44. DevcloudInfo updateDevInfoType105(PipelineDeployDTO pipelineDeployDTO);
  45. /**
  46. * op_type=106 用户插入/更新节点
  47. * @param treeNodeInfoDTO op_type=106的日志
  48. */
  49. DevcloudInfo updateDevInfoType106(TreeNodeInfoDTO treeNodeInfoDTO);
  50. /**
  51. * op_type=107 用户删除节点
  52. * @param treeNodeDeletionDTO op_type=107的日志
  53. */
  54. DevcloudInfo updateDevInfoType107(TreeNodeDeletionDTO treeNodeDeletionDTO);
  55. /**
  56. * op_type=108 将成员加入某项目中
  57. * @param addProjectDTO op_type=108的日志
  58. */
  59. DevcloudProject updateDevInfoType108(AddProjectDTO addProjectDTO);
  60. /**
  61. * op_type=109 将项目A与项目B关联
  62. * @param relateProjectDTO op_type=109的日志
  63. */
  64. int updateDevInfoType109(RelateProjectDTO relateProjectDTO);
  65. /**
  66. * op_type=110 新建项目时,将项目的基本信息存储在分析系统中
  67. * @param projectDTO op_type=110的日志
  68. */
  69. Project updateDevInfoType110(ProjectDTO projectDTO);
  70. /**
  71. * op_type=111 在devcloud系统注册用户时,判断用户是否已经在门户其他系统注册过
  72. * 如果没有注册过,则将用户的信息存储入库
  73. * @param userDTO op_type=111的日志
  74. */
  75. User updateDevInfoType111(UserDTO userDTO);
  76. /**
  77. * 根据学生id,分析并返回学生的个人情况
  78. * @param user_id 学生的用户id
  79. * @return 学生对应的分析报告
  80. */
  81. FormatStudent getStudentAnalysis(Integer user_id);
  82. /**
  83. * 根据项目id,分析并返回小组的项目情况
  84. * 因为目前没有小组id,所以用项目id指代小组,之后会进行修改
  85. * @param project_id 项目的id
  86. * @return 小组对应的分析报告
  87. */
  88. FormatGroup getGroupAnalysis(Integer project_id);
  89. }