|
@@ -1,8 +1,11 @@
|
|
|
package cn.seecoder.web.controller.gitlab;
|
|
package cn.seecoder.web.controller.gitlab;
|
|
|
|
|
|
|
|
import cn.seecoder.common.exceptions.ServiceException;
|
|
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.CommitResolver;
|
|
|
import cn.seecoder.web.core.commit.model.CommitRule;
|
|
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.enums.CommitRelatedEnum;
|
|
|
import cn.seecoder.web.model.po.project.CommitPO;
|
|
import cn.seecoder.web.model.po.project.CommitPO;
|
|
|
import cn.seecoder.web.model.vo.GitWebHookVO;
|
|
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.bug_list.BugListService;
|
|
|
import cn.seecoder.web.service.project.CommitService;
|
|
import cn.seecoder.web.service.project.CommitService;
|
|
|
import cn.seecoder.web.service.tree.TreeNodeService;
|
|
import cn.seecoder.web.service.tree.TreeNodeService;
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.nju.edu.gitlab.SeecoderGitlabApi;
|
|
import com.nju.edu.gitlab.SeecoderGitlabApi;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
@@ -39,6 +43,10 @@ public class CommitController {
|
|
|
|
|
|
|
|
private final SeecoderGitlabApi seecoderGitlabApi;
|
|
private final SeecoderGitlabApi seecoderGitlabApi;
|
|
|
|
|
|
|
|
|
|
+ // 赶时间暂时这么写
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ UserMapper userMapper;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
public CommitController(BugListService bugListService, TreeNodeService treeNodeService, CommitService commitService, SeecoderGitlabApi seecoderGitlabApi) {
|
|
public CommitController(BugListService bugListService, TreeNodeService treeNodeService, CommitService commitService, SeecoderGitlabApi seecoderGitlabApi) {
|
|
|
this.bugListService = bugListService;
|
|
this.bugListService = bugListService;
|
|
@@ -82,12 +90,29 @@ public class CommitController {
|
|
|
log.info("Commits 已经解析过了, id: {}", commit.getId());
|
|
log.info("Commits 已经解析过了, id: {}", commit.getId());
|
|
|
continue;
|
|
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());
|
|
log.info("resolving commit id : {}, title : {}, message : {}", commit.getId(), commit.getTitle(), commit.getMessage());
|
|
|
//todo 注意目前分析的是 message
|
|
//todo 注意目前分析的是 message
|
|
|
// 应该分析 title 还是 message 与学生的提交规范有关
|
|
// 应该分析 title 还是 message 与学生的提交规范有关
|
|
|
CommitRule rule = CommitResolver.resolve(commit.getMessage());
|
|
CommitRule rule = CommitResolver.resolve(commit.getMessage());
|
|
|
if (rule == null){
|
|
if (rule == null){
|
|
|
log.info("Commits 不符合规范, id: {}", commit.getId());
|
|
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;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
switch (rule.getType()){
|
|
switch (rule.getType()){
|
|
@@ -95,11 +120,23 @@ public class CommitController {
|
|
|
treeNodeService.updateNodeState(rule.getId(),rule.getState());
|
|
treeNodeService.updateNodeState(rule.getId(),rule.getState());
|
|
|
commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.TREE_ID, rule.getId()));
|
|
commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.TREE_ID, rule.getId()));
|
|
|
log.info("Commits 关联tree节点, id: {}", commit.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;
|
|
break;
|
|
|
case FIX:
|
|
case FIX:
|
|
|
bugListService.updateState(rule.getState(), rule.getId());
|
|
bugListService.updateState(rule.getState(), rule.getId());
|
|
|
commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.BUG_ID, rule.getId()));
|
|
commitService.save(new CommitPO(commit,projectId, CommitRelatedEnum.BUG_ID, rule.getId()));
|
|
|
log.info("Commits 关联bug节点, id: {}", commit.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;
|
|
break;
|
|
|
case UNKNOWN:
|
|
case UNKNOWN:
|
|
|
break;
|
|
break;
|