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

feat: add api getCommitByBranchName

claws 4 лет назад
Родитель
Сommit
e6162b62fe

+ 12 - 0
api/pom.xml

@@ -4,6 +4,18 @@
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>seecoder-devcloud-api</artifactId>
     <artifactId>seecoder-devcloud-api</artifactId>
     <version>0.1.0</version>
     <version>0.1.0</version>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <target>8</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
     <packaging>jar</packaging>
     <packaging>jar</packaging>
     <description>Demo project for Spring Boot</description>
     <description>Demo project for Spring Boot</description>
 
 

+ 1 - 1
web/pom.xml

@@ -130,7 +130,7 @@
         <dependency>
         <dependency>
             <groupId>com.nju.edu</groupId>
             <groupId>com.nju.edu</groupId>
             <artifactId>seecoder-gitlab-client</artifactId>
             <artifactId>seecoder-gitlab-client</artifactId>
-            <version>0.1.0</version>
+            <version>0.1.2</version>
         </dependency>
         </dependency>
     </dependencies>
     </dependencies>
 
 

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

@@ -18,6 +18,7 @@ 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;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -164,4 +165,15 @@ public class CommitController {
     public Response<List<CommitVO>> getCommits(@RequestParam("projectId") Integer projectId) {
     public Response<List<CommitVO>> getCommits(@RequestParam("projectId") Integer projectId) {
         return Response.buildSuccess(commitService.getCommits(projectId));
         return Response.buildSuccess(commitService.getCommits(projectId));
     }
     }
+
+    @ApiOperation(value = "获取指定项目指定分支所有的commit信息", httpMethod = "GET")
+    @GetMapping("/commits/by_branch")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectId", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "branchName", dataType = "String", paramType = "query")
+    })
+    public Response<List<com.nju.edu.gitlab.vo.commit.CommitVO>> getCommitsByBranch(@RequestParam("projectId") Integer projectId,
+                                                                                    @RequestParam("branchName") String branchName){
+        return Response.buildSuccess(commitService.getCommitsByBranchName(projectId, branchName));
+    }
 }
 }

+ 22 - 1
web/src/main/java/cn/seecoder/web/service/impl/project/CommitServiceImpl.java

@@ -7,11 +7,14 @@ import cn.seecoder.web.model.enums.CommitRelatedEnum;
 import cn.seecoder.web.model.vo.project.CommitVO;
 import cn.seecoder.web.model.vo.project.CommitVO;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.catalina.User;
 import org.apache.catalina.User;
+import com.nju.edu.gitlab.SeecoderGitlabApi;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import cn.seecoder.web.dao.project.CommitMapper;
 import cn.seecoder.web.dao.project.CommitMapper;
 import cn.seecoder.web.model.po.project.CommitPO;
 import cn.seecoder.web.model.po.project.CommitPO;
 import cn.seecoder.web.service.project.CommitService;
 import cn.seecoder.web.service.project.CommitService;
+import com.nju.edu.gitlab.SeecoderGitlabApi;
+import com.nju.edu.gitlab.SeecoderGitlabException;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -25,11 +28,13 @@ import java.util.stream.Collectors;
 public class CommitServiceImpl implements CommitService {
 public class CommitServiceImpl implements CommitService {
 
 
     private final CommitMapper commitMapper;
     private final CommitMapper commitMapper;
+    private final SeecoderGitlabApi seecoderGitlabApi;
 
 
 
 
     @Autowired
     @Autowired
-    public CommitServiceImpl(CommitMapper commitMapper) {
+    public CommitServiceImpl(CommitMapper commitMapper, SeecoderGitlabApi seecoderGitlabApi) {
         this.commitMapper = commitMapper;
         this.commitMapper = commitMapper;
+        this.seecoderGitlabApi = seecoderGitlabApi;
     }
     }
 
 
     @Autowired
     @Autowired
@@ -87,4 +92,20 @@ public class CommitServiceImpl implements CommitService {
                 .map(CommitVO::new)
                 .map(CommitVO::new)
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
     }
     }
+
+    @Override
+    public List<com.nju.edu.gitlab.vo.commit.CommitVO> getCommitsByBranchName(Integer projectId, String BranchName) {
+        List<com.nju.edu.gitlab.vo.commit.CommitVO> allCommits;
+
+        //TODO
+        try{
+            allCommits = seecoderGitlabApi.getCommitsByBranch(projectId, "master");
+
+        } catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+
+        return allCommits;
+    }
 }
 }

+ 2 - 0
web/src/main/java/cn/seecoder/web/service/project/CommitService.java

@@ -29,4 +29,6 @@ public interface CommitService {
     List<CommitVO> getBugCommit(Integer bugId);
     List<CommitVO> getBugCommit(Integer bugId);
 
 
     List<CommitVO> getCommits(Integer projectId);
     List<CommitVO> getCommits(Integer projectId);
+
+    List<com.nju.edu.gitlab.vo.commit.CommitVO> getCommitsByBranchName(Integer projectId, String branchName);
 }
 }

+ 57 - 0
web/src/main/resources/application-lzl.yml

@@ -0,0 +1,57 @@
+spring:
+  datasource:
+    url: jdbc:mysql://127.0.0.1:30006/devcloud?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false
+    username: root
+    password: root
+    sql-script-encoding: utf-8
+    separator: ;
+    initialization-mode: always
+    continue-on-error: false
+    schema:
+      - classpath:sql/table_init.sql
+    data:
+      - classpath:sql/data_init.sql
+  mail:
+    host: smtp.qq.com
+    username: 370774330@qq.com
+    password: qkoecnzivukvbibi
+    port: 465
+    protocol: smtp
+    properties:
+      mail:
+        smtp:
+          ssl:
+            enable: true
+          socketFactory.class: javax.net.ssl.SSLSocketFactory
+        debug: true
+server:
+  port: 8080
+
+mybatis:
+  configuration:
+    map-underscore-to-camel-case: true
+
+seecoder:
+  jwt:
+    secret: UenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRWUenM4KGb6DskRW
+  k8s:
+    api-server: https://192.168.99.105:8443
+    token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmSXc4RlRjNUpBYVpGYWc4QzRDY1MzUWJad1JMdFhKcDI1cngzWGtiRlkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZXZjbG91ZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXhqYmR3Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJlZWNmMjg5OS1jZjNmLTQ5ZTItOWZjMS1kZTM3ZGM1YmQ0YjIiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGV2Y2xvdWQ6ZGVmYXVsdCJ9.kKYqrK-Y31cG5r6oAPGsu1BqD4H40hdaFW5xoSvm9gGzO6XBwgznxXswhBpJFtAi3DVpfukgx1XXSdouB8-z9uA6wRKiBKqmbVYy3GjXfEh1WUlvKxbu-JSA3UisTFdJwfaP_mUjoMUWLgdNm2R2bW2qLMsT0fO54cQf8WSjX3lDW2h4CBec7rq3nVqC4zWn3VATpHYTJg7he-yNKbDvqJCgpNtmC-fWdXwPm2vTjB6sXYcCiDdspRAPB7yhU3T-up7AZPBpXdHiBPLvjTHEBHnnMDtgO-EN4e46KDaIa2STMgNTYm1to-rzxeUQCkxUjBRWNdkyozD_hOFih1ULrw
+    debugging: true
+    ingressHostSuffix: .devcloud.seec.seecoder.cn
+  gitlab:
+    host: https://seecoder-gitlab-server.seec.seecoder.cn
+    webhookProxy: http://environment-21-70.seec.svc.cluster.local:8080/hook
+    token: wXDeETv2Kmt-JhiApJ9H
+  git:
+    username: root
+    password: NJU67software
+  docker:
+    host: https://192.168.99.105:2376
+    registry: 172.19.51.6:8092
+    registryUsername: admin
+    registryPassword: NJU67nexus
+    tls: true
+
+
+