package com.seecoder.dataanalysis.analysis; 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.data.entity.eval.User; import com.seecoder.dataanalysis.vo.devcloud.*; /** * @author Peng Yiyan * @since 2022/03/11 */ public interface DevcloudDataAnalysisService { /** * 收到新的Devcloud日志,以项目为单位进行分析入库 * 命名方式同日志格式中的op_type * 此处为op_type=100 缺陷处理信息 * @param bugInfoDTO op_type=100的日志 * @return DevcloudInfo 项目对应的Devcloud信息 */ DevcloudInfo updateDevInfoType100(BugInfoDTO bugInfoDTO); /** * op_type=101 用户进行commit * @param commitInfoDTO op_type=101的日志 */ DevcloudInfo updateDevInfoType101(CommitInfoDTO commitInfoDTO); /** * op_type=102 用户创建并执行接口测试 * @param testInfoDTO op_type=102的日志 */ DevcloudInfo updateDevInfoType102(TestInfoDTO testInfoDTO); /** * op_type=103 用户创建流水线 * @param pipelineCreationDTO op_type=103的日志 */ DevcloudInfo updateDevInfoType103(PipelineCreationDTO pipelineCreationDTO); /** * op_type=104 用户删除流水线 * @param pipelineDeletionDTO op_type=104的日志 */ DevcloudInfo updateDevInfoType104(PipelineDeletionDTO pipelineDeletionDTO); /** * op_type=105 用户部署流水线 * @param pipelineDeployDTO op_type=105的日志 */ DevcloudInfo updateDevInfoType105(PipelineDeployDTO pipelineDeployDTO); /** * op_type=106 用户插入/更新节点 * @param treeNodeInfoDTO op_type=106的日志 */ DevcloudInfo updateDevInfoType106(TreeNodeInfoDTO treeNodeInfoDTO); /** * op_type=107 用户删除节点 * @param treeNodeDeletionDTO op_type=107的日志 */ DevcloudInfo updateDevInfoType107(TreeNodeDeletionDTO treeNodeDeletionDTO); /** * op_type=108 将成员加入某项目中 * @param addProjectDTO op_type=108的日志 */ DevcloudProject updateDevInfoType108(AddProjectDTO addProjectDTO); /** * op_type=109 将项目A与项目B关联 * @param relateProjectDTO op_type=109的日志 */ int updateDevInfoType109(RelateProjectDTO relateProjectDTO); /** * op_type=110 新建项目时,将项目的基本信息存储在分析系统中 * @param projectDTO op_type=110的日志 */ Project updateDevInfoType110(ProjectDTO projectDTO); /** * op_type=111 在devcloud系统注册用户时,判断用户是否已经在门户其他系统注册过 * 如果没有注册过,则将用户的信息存储入库 * @param userDTO op_type=111的日志 */ User updateDevInfoType111(UserDTO userDTO); /** * 根据学生id,分析并返回学生的个人情况 * @param user_id 学生的用户id * @return 学生对应的分析报告 */ FormatStudent getStudentAnalysis(Integer user_id); /** * 根据项目id,分析并返回小组的项目情况 * 因为目前没有小组id,所以用项目id指代小组,之后会进行修改 * @param project_id 项目的id * @return 小组对应的分析报告 */ FormatGroup getGroupAnalysis(Integer project_id); }