소스 검색

fix: 改变commit记录log位置

sky 4 년 전
부모
커밋
f9652e24dd

+ 37 - 0
web/src/main/java/cn/seecoder/web/controller/gitlab/CommitController.java

@@ -1,8 +1,11 @@
 package cn.seecoder.web.controller.gitlab;
 
 import cn.seecoder.common.exceptions.ServiceException;
+import cn.seecoder.common.util.LogTrackingUtil;
+import cn.seecoder.common.util.OpType;
 import cn.seecoder.web.core.commit.CommitResolver;
 import cn.seecoder.web.core.commit.model.CommitRule;
+import cn.seecoder.web.dao.user.UserMapper;
 import cn.seecoder.web.model.enums.CommitRelatedEnum;
 import cn.seecoder.web.model.po.project.CommitPO;
 import cn.seecoder.web.model.vo.GitWebHookVO;
@@ -11,6 +14,7 @@ import cn.seecoder.web.model.vo.project.CommitVO;
 import cn.seecoder.web.service.bug_list.BugListService;
 import cn.seecoder.web.service.project.CommitService;
 import cn.seecoder.web.service.tree.TreeNodeService;
+import com.alibaba.fastjson.JSONObject;
 import com.nju.edu.gitlab.SeecoderGitlabApi;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -39,6 +43,10 @@ public class CommitController {
 
     private final SeecoderGitlabApi seecoderGitlabApi;
 
+    // 赶时间暂时这么写
+    @Autowired
+    UserMapper userMapper;
+
     @Autowired
     public CommitController(BugListService bugListService, TreeNodeService treeNodeService, CommitService commitService, SeecoderGitlabApi seecoderGitlabApi) {
         this.bugListService = bugListService;
@@ -82,12 +90,29 @@ public class CommitController {
                 log.info("Commits 已经解析过了, id: {}", commit.getId());
                 continue;
             }
+            //ANA 日志需要打出用户的commit信息
+            JSONObject object = new JSONObject();
+            try{
+                object.put("commit_id",commit.getId());
+                object.put("user_id",userMapper.selectIdByEmail(commit.getAuthor().getEmail()));
+                object.put("project_id",projectId);
+                object.put("commit_date",commit.getTimestamp());
+                object.put("message",commit.getMessage());
+            }catch (Exception ignored){}
+
+
             log.info("resolving commit id : {}, title : {}, message : {}", commit.getId(), commit.getTitle(), commit.getMessage());
             //todo 注意目前分析的是 message
             // 应该分析 title 还是 message 与学生的提交规范有关
             CommitRule rule = CommitResolver.resolve(commit.getMessage());
             if (rule == null){
                 log.info("Commits 不符合规范, id: {}", commit.getId());
+                //ANA
+                try {
+                    object.put("type","不合规范");
+                    String data = JSONObject.toJSONString(object);
+                    LogTrackingUtil.log(data, OpType.COMMIT);
+                } catch (Exception ignored) {}
                 continue;
             }
             switch (rule.getType()){
@@ -95,11 +120,23 @@ public class CommitController {
                     treeNodeService.updateNodeState(rule.getId(),rule.getState());
                     commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.TREE_ID, rule.getId()));
                     log.info("Commits 关联tree节点, id: {}", commit.getId());
+                    //ANA
+                    try {
+                        object.put("type","关联tree");
+                        String data = JSONObject.toJSONString(object);
+                        LogTrackingUtil.log(data, OpType.COMMIT);
+                    } catch (Exception ignored) {}
                     break;
                 case FIX:
                     bugListService.updateState(rule.getState(), rule.getId());
                     commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.BUG_ID, rule.getId()));
                     log.info("Commits 关联bug节点, id: {}", commit.getId());
+                    //ANA
+                    try {
+                        object.put("type","关联bug");
+                        String data = JSONObject.toJSONString(object);
+                        LogTrackingUtil.log(data, OpType.COMMIT);
+                    } catch (Exception ignored) {}
                     break;
                 case UNKNOWN:
                     break;

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

@@ -37,18 +37,6 @@ public class CommitServiceImpl implements CommitService {
     @Override
     public void save(CommitPO po) {
         commitMapper.insert(po);
-        //ANA 日志需要打出用户的commit信息
-        try{
-            JSONObject object = new JSONObject();
-            object.put("commit_id",po.getId());
-            object.put("user_id",userMapper.selectIdByEmail(po.getEmail()));
-            object.put("project_id",po.getProjectId());
-            object.put("commit_date",po.getTimestamp());
-            object.put("message",po.getMessage());
-
-            String data = JSONObject.toJSONString(object);
-            LogTrackingUtil.log(data, OpType.COMMIT);
-        }catch (Exception e){}
     }
 
     @Override