Sfoglia il codice sorgente

feat: 根据devcloud系统的修改,更新日志打印系统

181250114 4 anni fa
parent
commit
f61187185b

+ 9 - 3
common/src/main/java/cn/seecoder/common/util/OpType.java

@@ -2,14 +2,20 @@ package cn.seecoder.common.util;
 
 public enum OpType {
 
-    MODIFY_BUGLIST(100, "修改缺陷信息"),
+    CREATE_OR_MODIFY_BUGLIST(100, "创建/修改缺陷信息"),
     COMMIT(101, "用户进行commit"),
     INTERFACE_TEST(102, "用户创建并执行接口测试"),
     CREATE_PIPELINE(103, "用户创建流水线"),
     DELETE_PIPELINE(104, "用户删除流水线"),
     DEPLOY_PIPELINE(105, "用户部署流水线"),
-    MODYFY_REQUIREMENT_TREENODE(106, "用户插入/更新需求树节点"),
-    DELETE_REQUIREMENT_TREENODE(107, "用户删除需求树节点");
+    MODIFY_REQUIREMENT_TREENODE(106, "用户插入/更新需求树节点"),
+    DELETE_REQUIREMENT_TREENODE(107, "用户删除需求树节点"),
+    ADD_MEMBER(108,"将成员加入项目中"),
+    RELATE_PROJECT(109,"将项目A与项目B关联"),
+    CREATE_PROJECT(110,"创建项目并存储信息"),
+    CREATE_USER(111,"用户注册并存储信息");
+
+
 
     int num;
     String name;

+ 36 - 0
web/src/main/java/cn/seecoder/web/model/po/APITest/TestInfo.java

@@ -29,4 +29,40 @@ public class TestInfo {
     private String params;
     private String method;
     private Integer qps;
+
+    public Integer getTestId() {
+        return testId;
+    }
+
+    public String getTestName() {
+        return testName;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public String getMethod() {
+        return method;
+    }
+
+    public Integer getQps() {
+        return qps;
+    }
 }

+ 38 - 0
web/src/main/java/cn/seecoder/web/model/po/bug_list/BugListPO.java

@@ -46,5 +46,43 @@ public class BugListPO {
 
     private Integer processorId;
 
+    public Integer getId() {
+        return id;
+    }
 
+    public String getTitle() {
+        return title;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public Long getTimeToTake() {
+        return timeToTake;
+    }
+
+    public Timestamp getStartTime() {
+        return startTime;
+    }
+
+    public Timestamp getEndTime() {
+        return endTime;
+    }
+
+    public PriorityEnum getPriority() {
+        return priority;
+    }
+
+    public BugListStateEnum getState() {
+        return state;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public Integer getProcessorId() {
+        return processorId;
+    }
 }

+ 23 - 0
web/src/main/java/cn/seecoder/web/model/po/pipeline/DeploymentPO.java

@@ -30,4 +30,27 @@ public class DeploymentPO {
 
     private String accessUrl;
 
+    public Integer getId() {
+        return id;
+    }
+
+    public Integer getPipelineId() {
+        return pipelineId;
+    }
+
+    public String getNamespace() {
+        return namespace;
+    }
+
+    public String getDeployName() {
+        return deployName;
+    }
+
+    public Timestamp getDeployedTime() {
+        return deployedTime;
+    }
+
+    public String getAccessUrl() {
+        return accessUrl;
+    }
 }

+ 20 - 0
web/src/main/java/cn/seecoder/web/model/po/pipeline/PipelinePO.java

@@ -24,4 +24,24 @@ public class PipelinePO {
      * 此pipeline的配置,格式未json
      */
     String configJson;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getTemplateName() {
+        return templateName;
+    }
+
+    public String getConfigJson() {
+        return configJson;
+    }
 }

+ 39 - 0
web/src/main/java/cn/seecoder/web/model/po/pipeline/PipelineRecordPO.java

@@ -55,4 +55,43 @@ public class PipelineRecordPO {
      */
     String details;
 
+    public static String getNoRecord() {
+        return NO_RECORD;
+    }
+
+    public static String getDEPLOYING() {
+        return DEPLOYING;
+    }
+
+    public static String getDeploySuccess() {
+        return DEPLOY_SUCCESS;
+    }
+
+    public static String getDeployFail() {
+        return DEPLOY_FAIL;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public Integer getPipelineId() {
+        return pipelineId;
+    }
+
+    public Timestamp getStartTime() {
+        return startTime;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public String getDetails() {
+        return details;
+    }
 }

+ 36 - 0
web/src/main/java/cn/seecoder/web/model/po/project/CommitPO.java

@@ -45,4 +45,40 @@ public class CommitPO {
         this.relatedId = relatedId;
 
     }
+
+    public String getId() {
+        return id;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getTimestamp() {
+        return timestamp;
+    }
+
+    public String getGitlabUsername() {
+        return gitlabUsername;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public CommitRelatedEnum getRelatedType() {
+        return relatedType;
+    }
+
+    public Integer getRelatedId() {
+        return relatedId;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
 }

+ 56 - 0
web/src/main/java/cn/seecoder/web/model/po/tree/TreeNodePO.java

@@ -38,4 +38,60 @@ public class TreeNodePO {
      * 负责人 id
      */
     private Integer processorId;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public NodeTypeEnum getType() {
+        return type;
+    }
+
+    public PriorityEnum getPriority() {
+        return priority;
+    }
+
+    public NodeStateEnum getState() {
+        return state;
+    }
+
+    public Long getTimeToTake() {
+        return timeToTake;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public Boolean getLeaf() {
+        return leaf;
+    }
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public Integer getDeep() {
+        return deep;
+    }
+
+    public Integer getProcessorId() {
+        return processorId;
+    }
 }

+ 12 - 0
web/src/main/java/cn/seecoder/web/model/vo/pipeline/PipelineCreateVO.java

@@ -24,4 +24,16 @@ public class PipelineCreateVO {
 
     @ApiModelProperty("模板名称")
     private String templateName;
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getTemplateName() {
+        return templateName;
+    }
 }

+ 2 - 0
web/src/main/java/cn/seecoder/web/model/vo/tree/TreeNodeCreateVO.java

@@ -43,4 +43,6 @@ public class TreeNodeCreateVO {
     private int deep;
     @ApiModelProperty("负责人id")
     private int processorId;
+
+
 }

+ 1 - 1
web/src/main/java/cn/seecoder/web/service/impl/APITest/APITestServiceImpl.java

@@ -281,7 +281,7 @@ public class APITestServiceImpl implements APITestService {
         TestInfo testInfo = apiTestMapper.selectByTestId(testId);
         try{
             JSONObject object = new JSONObject();
-            object.put("apiTest",testId);
+            object.put("apiTest_id",testId);
             object.put("project_id",projectId);
             object.put("user_id",userMapper.selectIdByUserName(testInfo.getUsername()));
             object.put("success",success[0]);

+ 23 - 3
web/src/main/java/cn/seecoder/web/service/impl/bug_list/BugListServiceImpl.java

@@ -67,7 +67,25 @@ public class BugListServiceImpl implements BugListService {
                 .projectId(vo.getProjectId())
                 .processorId(vo.getProcessorId())
                 .build();
-        bugListMapper.insert(po);
+        int bugId = bugListMapper.insert(po);
+
+        //ANA 日志需要打出新建的bugInfo信息
+        try{
+            BugListPO bugPo = bugListMapper.selectById(bugId);
+            JSONObject object = new JSONObject();
+            object.put("bug_id",bugPo.getId());
+            object.put("project_id",bugPo.getProjectId());
+            object.put("user_id",bugPo.getProcessorId());
+            object.put("priority",bugPo.getPriority());
+            object.put("title",bugPo.getTitle());
+            object.put("description",bugPo.getDescription());
+            object.put("timeToTake",bugPo.getTimeToTake());
+            object.put("bug_state",bugPo.getState());
+
+            String data = com.alibaba.fastjson.JSONObject.toJSONString(object);
+            LogTrackingUtil.log(data, OpType.CREATE_OR_MODIFY_BUGLIST);
+
+        }catch (Exception e){}
     }
 
     @Override
@@ -122,6 +140,7 @@ public class BugListServiceImpl implements BugListService {
             JSONObject object = new JSONObject();
             object.put("bug_id",bugPo.getId());
             object.put("project_id",bugPo.getProjectId());
+            object.put("user_id",bugPo.getProcessorId());
             object.put("priority",bugPo.getPriority());
             object.put("title",bugPo.getTitle());
             object.put("description",bugPo.getDescription());
@@ -129,7 +148,7 @@ public class BugListServiceImpl implements BugListService {
             object.put("bug_state",bugPo.getState());
 
             String data = com.alibaba.fastjson.JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.MODIFY_BUGLIST);
+            LogTrackingUtil.log(data, OpType.CREATE_OR_MODIFY_BUGLIST);
 
         }catch (Exception e){}
     }
@@ -154,6 +173,7 @@ public class BugListServiceImpl implements BugListService {
             JSONObject object = new JSONObject();
             object.put("bug_id",bugPo.getId());
             object.put("project_id",bugPo.getProjectId());
+            object.put("user_id",bugPo.getProcessorId());
             object.put("priority",bugPo.getPriority());
             object.put("title",bugPo.getTitle());
             object.put("description",bugPo.getDescription());
@@ -161,7 +181,7 @@ public class BugListServiceImpl implements BugListService {
             object.put("bug_state",bugPo.getState());
 
             String data = com.alibaba.fastjson.JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.MODIFY_BUGLIST);
+            LogTrackingUtil.log(data, OpType.CREATE_OR_MODIFY_BUGLIST);
 
         }catch (Exception e){}
     }

+ 1 - 0
web/src/main/java/cn/seecoder/web/service/impl/pipeline/DeploymentServiceImpl.java

@@ -168,6 +168,7 @@ public class DeploymentServiceImpl implements DeploymentService {
         PipelineRecordPO pipelineRecordPO = pipelineRecordMapper.selectPipelinesLatestRecord(pipelineIds);
         try{
             JSONObject object = new JSONObject();
+            object.put("project_id",projectId);
             object.put("record_id",pipelineRecordPO.getId());
             object.put("pipeline_id",pipelineId);
             object.put("user_id",userId);

+ 17 - 0
web/src/main/java/cn/seecoder/web/service/impl/project/CommitServiceImpl.java

@@ -6,6 +6,7 @@ import cn.seecoder.web.dao.user.UserMapper;
 import cn.seecoder.web.model.enums.CommitRelatedEnum;
 import cn.seecoder.web.model.vo.project.CommitVO;
 import com.alibaba.fastjson.JSONObject;
+import org.apache.catalina.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import cn.seecoder.web.dao.project.CommitMapper;
@@ -36,6 +37,22 @@ public class CommitServiceImpl implements CommitService {
 
     @Override
     public void save(CommitPO po) {
+
+        //ANA 日志需要打出用户commit的信息
+        try{
+            JSONObject object = new JSONObject();
+            object.put("commit_id",po.getId());
+            object.put("user_id",userMapper.selectIdByUserName(po.getGitlabUsername()));
+            object.put("project_id",po.getProjectId());
+            object.put("commit_name",po.getGitlabUsername());
+            object.put("commit_time",po.getTimestamp());
+            object.put("message",po.getMessage());
+            object.put("type",po.getRelatedType());
+
+            String data = JSONObject.toJSONString(object);
+            LogTrackingUtil.log(data, OpType.COMMIT);
+        }catch (Exception e){}
+
         commitMapper.insert(po);
     }
 

+ 35 - 0
web/src/main/java/cn/seecoder/web/service/impl/project/ProjectServiceImpl.java

@@ -2,6 +2,8 @@ package cn.seecoder.web.service.impl.project;
 
 import cn.seecoder.api.ApplicationProperties;
 import cn.seecoder.common.exceptions.ServiceException;
+import cn.seecoder.common.util.LogTrackingUtil;
+import cn.seecoder.common.util.OpType;
 import cn.seecoder.common.util.ShareCodeUtil;
 import cn.seecoder.web.dao.project.ProjectMapper;
 import cn.seecoder.web.dao.project.ProjectRelatedMapper;
@@ -13,6 +15,7 @@ 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 com.alibaba.fastjson.JSONObject;
 import com.nju.edu.gitlab.SeecoderGitlabApi;
 import com.nju.edu.gitlab.SeecoderGitlabException;
 import com.nju.edu.gitlab.dto.member.AccessLevelForm;
@@ -94,6 +97,18 @@ public class ProjectServiceImpl implements ProjectService {
         } catch (SeecoderGitlabException e) {
             throw new ServiceException("给项目添加webhook发生异常[project id:" + po.getId() + ", " + e.getMessage() + "]", e);
         }
+
+        //ANA 日志需要打出创建项目的基础信息
+        try{
+            JSONObject object = new JSONObject();
+            object.put("project_id",po.getId());
+            object.put("project_name",po.getName());
+            object.put("description",po.getDescription());
+
+            String data = JSONObject.toJSONString(object);
+            LogTrackingUtil.log(data,OpType.CREATE_PROJECT);
+        }catch (Exception e){}
+
         return new ProjectVO(po);
 
     }
@@ -109,6 +124,15 @@ public class ProjectServiceImpl implements ProjectService {
         } catch (Exception e) {
             throw new ServiceException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "添加项目权限失败", e);
         }
+        //ANA 日志需要打出加入的成员信息
+        try{
+            JSONObject object = new JSONObject();
+            object.put("project_id",projectId);
+            object.put("user_id",userId);
+
+            String data = JSONObject.toJSONString(object);
+            LogTrackingUtil.log(data, OpType.ADD_MEMBER);
+        }catch (Exception e){}
     }
 
     @Override
@@ -143,6 +167,17 @@ public class ProjectServiceImpl implements ProjectService {
         projectRelatedMapper.insert(ProjectRelatedPO.builder()
                 .projectIdA(projectId)
                 .projectIdB(result[0].intValue()).build(), "id");
+
+        //ANA 日志需要打出关联项目的id
+        try{
+            JSONObject object = new JSONObject();
+            object.put("projectA_id",projectId);
+            object.put("projectB_id",result[0].intValue());
+
+            String data = JSONObject.toJSONString(object);
+            LogTrackingUtil.log(data, OpType.RELATE_PROJECT);
+        }catch (Exception e){}
+
         return "关联项目成功";
     }
 

+ 4 - 3
web/src/main/java/cn/seecoder/web/service/impl/tree/TreeNodeServiceImpl.java

@@ -105,7 +105,7 @@ public class TreeNodeServiceImpl implements TreeNodeService {
             object.put("deep",treeNodePO.getDeep());
 
             String data = JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
+            LogTrackingUtil.log(data, OpType.MODIFY_REQUIREMENT_TREENODE);
         }catch (Exception e){}
     }
 
@@ -137,7 +137,7 @@ public class TreeNodeServiceImpl implements TreeNodeService {
             object.put("deep",node.getDeep());
 
             String data = JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
+            LogTrackingUtil.log(data, OpType.MODIFY_REQUIREMENT_TREENODE);
         }catch (Exception e){}
     }
 
@@ -166,6 +166,7 @@ public class TreeNodeServiceImpl implements TreeNodeService {
         //ANA 日志需要打出删除需求节点的信息
         try{
             JSONObject object = new JSONObject();
+            object.put("project_id",po.getProjectId());
             object.put("node_ids",nodes);
 
             String data = JSONObject.toJSONString(object);
@@ -230,7 +231,7 @@ public class TreeNodeServiceImpl implements TreeNodeService {
             object.put("deep",son.getDeep());
 
             String data = JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.MODYFY_REQUIREMENT_TREENODE);
+            LogTrackingUtil.log(data, OpType.MODIFY_REQUIREMENT_TREENODE);
         }catch (Exception e){}
     }
 

+ 17 - 0
web/src/main/java/cn/seecoder/web/service/impl/user/UserServiceImpl.java

@@ -1,10 +1,13 @@
 package cn.seecoder.web.service.impl.user;
 
 
+import cn.seecoder.common.util.LogTrackingUtil;
+import cn.seecoder.common.util.OpType;
 import cn.seecoder.web.dao.user.UserMapper;
 import cn.seecoder.web.model.po.user.UserPO;
 import cn.seecoder.web.model.vo.user.GitlabUserCreateVO;
 import cn.seecoder.web.service.user.UserService;
+import com.alibaba.fastjson.JSONObject;
 import com.nju.edu.gitlab.SeecoderGitlabApi;
 import com.nju.edu.gitlab.SeecoderGitlabException;
 import lombok.extern.slf4j.Slf4j;
@@ -39,6 +42,20 @@ public class UserServiceImpl implements UserService, UserDetailsService {
 		}
 		UserPO loginUser = UserService.loginUser();
 		userMapper.updateUser(loginUser);
+
+		//ANA 日志需要打出用户注册的基础信息
+		try{
+			JSONObject object = new JSONObject();
+			object.put("user_id",loginUser.getId());
+			object.put("username",loginUser.getUsername());
+			object.put("role",loginUser.getRole());
+			object.put("email",loginUser.getEmail());
+			object.put("phone",loginUser.getPhone());
+
+			String data = JSONObject.toJSONString(object);
+			LogTrackingUtil.log(data, OpType.CREATE_USER);
+		}catch (Exception e){}
+
 		return new UserVO(loginUser);
 	}