Просмотр исходного кода

fix: correct commit quality mapping

weipengtao 3 месяцев назад
Родитель
Сommit
1bf54ea1da

+ 10 - 14
web/src/main/java/cn/seecoder/web/service/impl/branch/BranchServiceImpl.java

@@ -4,40 +4,36 @@ import cn.seecoder.web.service.branch.BranchService;
 import com.nju.edu.gitlab.SeecoderGitlabApi;
 import com.nju.edu.gitlab.SeecoderGitlabException;
 import com.nju.edu.gitlab.vo.BranchVO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service
+@Slf4j
+@RequiredArgsConstructor
 public class BranchServiceImpl implements BranchService {
 
-	private static final Logger log = LoggerFactory.getLogger(BranchServiceImpl.class);
-
 	private final SeecoderGitlabApi seecoderGitlabApi;
 
-	@Autowired
-	public BranchServiceImpl(SeecoderGitlabApi seecoderGitlabApi) {
-		this.seecoderGitlabApi = seecoderGitlabApi;
-	}
-
 	@Override
 	public List<BranchVO> getAllBranches(Integer projectId) {
-		List<BranchVO> branches = null;
 		try {
-			branches = seecoderGitlabApi.getProjectBranches(projectId);
+			return seecoderGitlabApi.getProjectBranches(projectId);
 		} catch (SeecoderGitlabException e) {
 			log.error("Failed to get branches, projectId={}", projectId, e);
 			return null;
 		}
-		return branches;
 	}
 
 	@Override
 	public BranchVO getBranchByName(Integer projectId, String branchName) {
-		for (BranchVO branchVO : this.getAllBranches(projectId)) {
+		List<BranchVO> branches = getAllBranches(projectId);
+		if (branches == null) {
+			return null;
+		}
+		for (BranchVO branchVO : branches) {
 			if (branchVO.getName().equals(branchName)) {
 				return branchVO;
 			}

+ 5 - 14
web/src/main/java/cn/seecoder/web/service/impl/commit/CommitLinkServiceImpl.java

@@ -17,9 +17,9 @@ import cn.seecoder.web.service.commit.CommitLinkService;
 import cn.seecoder.web.service.commit.CommitService;
 import cn.seecoder.web.service.tree.TreeNodeService;
 import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
+import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -27,6 +27,7 @@ import java.util.stream.Collectors;
 
 @Service
 @Slf4j
+@RequiredArgsConstructor
 public class CommitLinkServiceImpl implements CommitLinkService {
 	private final CommitMapper commitMapper;
 
@@ -34,20 +35,10 @@ public class CommitLinkServiceImpl implements CommitLinkService {
 
 	private final BugListService bugListService;
 
-	private final CommitService commitService;
+	private final ObjectProvider<CommitService> commitServiceProvider;
 
 	private final UserMapper userMapper;
 
-	@Autowired
-	public CommitLinkServiceImpl(CommitMapper commitMapper, TreeNodeService treeNodeService,
-								 BugListService bugListService, @Lazy CommitService commitService, UserMapper userMapper) {
-		this.commitMapper = commitMapper;
-		this.treeNodeService = treeNodeService;
-		this.bugListService = bugListService;
-		this.commitService = commitService;
-		this.userMapper = userMapper;
-	}
-
 	@Override
 	public void linkCommitByInfoFromGitlab(GitWebHookVO gitWebHookVO) {
 
@@ -291,7 +282,7 @@ public class CommitLinkServiceImpl implements CommitLinkService {
 			commitPODB.setRelatedId(relatedId);
 			commitMapper.update(commitPODB);
 		} else {
-			CommitVO commit = commitService.getCommitByHash(projectId, commitHash);
+			CommitVO commit = commitServiceProvider.getObject().getCommitByHash(projectId, commitHash);
 
 			CommitPO commitPO = new CommitPO();
 			commitPO.setId(commit.getId());

+ 9 - 17
web/src/main/java/cn/seecoder/web/service/impl/commit/CommitQualityServiceImpl.java

@@ -8,8 +8,8 @@ import cn.seecoder.web.model.vo.commit.CommitQualityVO;
 import cn.seecoder.web.model.vo.hook.SonarResultHookVO;
 import cn.seecoder.web.service.commit.CommitQualityService;
 import com.alibaba.fastjson.JSONArray;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.DateFormat;
@@ -23,17 +23,12 @@ import java.util.TimeZone;
 
 @Slf4j
 @Service
+@RequiredArgsConstructor
 public class CommitQualityServiceImpl implements CommitQualityService {
 	private final CommitQualityMapper commitQualityMapper;
 
 	private final ApplicationProperties applicationProperties;
 
-	@Autowired
-	public CommitQualityServiceImpl(CommitQualityMapper commitQualityMapper, ApplicationProperties applicationProperties) {
-		this.commitQualityMapper = commitQualityMapper;
-		this.applicationProperties = applicationProperties;
-	}
-
 	@Override
 	public boolean processSonarResult(SonarResultHookVO sonarResultHookVO) {
 		try {
@@ -104,13 +99,12 @@ public class CommitQualityServiceImpl implements CommitQualityService {
 
 	@Override
 	public Map<String, CommitCheckResultEnum> getCommitsQualityMapByProjectId(Integer projectId) {
-		Map<String, CommitQualityPO> stringCommitQualityPOMap = commitQualityMapper.selectMapByProjectId(projectId);
-		Map<String, CommitCheckResultEnum> stringCommitCheckResultEnumHashMap = new HashMap<>();
-		for (Map.Entry<String, CommitQualityPO> entry :
-				stringCommitQualityPOMap.entrySet()) {
-			stringCommitCheckResultEnumHashMap.put(entry.getKey(), convertCommitCheckResult(entry.getValue().getCommitHash()));
+		Map<String, CommitQualityPO> qualityByCommitHash = commitQualityMapper.selectMapByProjectId(projectId);
+		Map<String, CommitCheckResultEnum> resultByCommitHash = new HashMap<>();
+		for (Map.Entry<String, CommitQualityPO> entry : qualityByCommitHash.entrySet()) {
+			resultByCommitHash.put(entry.getKey(), convertCommitCheckResult(entry.getValue().getCheckResult()));
 		}
-		return stringCommitCheckResultEnumHashMap;
+		return resultByCommitHash;
 	}
 
 	@Override
@@ -123,12 +117,10 @@ public class CommitQualityServiceImpl implements CommitQualityService {
 		}
 	}
 
-	// convert String result to Enum result
 	private CommitCheckResultEnum convertCommitCheckResult(String rawResult) {
-		if (rawResult.equals("OK")) {
+		if ("OK".equals(rawResult)) {
 			return CommitCheckResultEnum.PASS;
-		} else {
-			return CommitCheckResultEnum.FAIL;
 		}
+		return CommitCheckResultEnum.FAIL;
 	}
 }

+ 8 - 17
web/src/main/java/cn/seecoder/web/service/impl/commit/CommitServiceImpl.java

@@ -9,9 +9,8 @@ import cn.seecoder.web.service.commit.CommitQualityService;
 import cn.seecoder.web.service.commit.CommitService;
 import com.nju.edu.gitlab.SeecoderGitlabApi;
 import com.nju.edu.gitlab.vo.DiffVO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -26,31 +25,23 @@ import java.util.Set;
  * @description:
  */
 @Service
+@Slf4j
+@RequiredArgsConstructor
 public class CommitServiceImpl implements CommitService {
 
-	private static final Logger log = LoggerFactory.getLogger(CommitServiceImpl.class);
-
 	private final SeecoderGitlabApi seecoderGitlabApi;
 
 	private final CommitLinkService commitLinkService;
 
 	private final CommitQualityService commitQualityService;
 
-	@Autowired
-	public CommitServiceImpl(SeecoderGitlabApi seecoderGitlabApi, CommitLinkService commitLinkService,
-							 CommitQualityService commitQualityService) {
-		this.seecoderGitlabApi = seecoderGitlabApi;
-		this.commitLinkService = commitLinkService;
-		this.commitQualityService = commitQualityService;
-	}
-
 	@Override
-	public List<CommitVO> getCommitsByBranchName(Integer projectId, String BranchName) {
-		List<CommitVO> allCommits = new ArrayList<CommitVO>();
+	public List<CommitVO> getCommitsByBranchName(Integer projectId, String branchName) {
+		List<CommitVO> allCommits = new ArrayList<>();
 		Map<String, CommitCheckResultEnum> commitsQualityMapByProjectId = commitQualityService.getCommitsQualityMapByProjectId(projectId);
 
 		try {
-			List<com.nju.edu.gitlab.vo.commit.CommitVO> commitsResponse = seecoderGitlabApi.getCommitsByBranch(projectId, BranchName);
+			List<com.nju.edu.gitlab.vo.commit.CommitVO> commitsResponse = seecoderGitlabApi.getCommitsByBranch(projectId, branchName);
 			for (com.nju.edu.gitlab.vo.commit.CommitVO commit : commitsResponse) {
 				CommitVO commitVO = new CommitVO(commit);
 				String hash = commitVO.getId();
@@ -70,7 +61,7 @@ public class CommitServiceImpl implements CommitService {
 			}
 
 		} catch (Exception e) {
-			log.error("Failed to query commits by branch, projectId={}, branchName={}", projectId, BranchName, e);
+			log.error("Failed to query commits by branch, projectId={}, branchName={}", projectId, branchName, e);
 			return new ArrayList<>();
 		}