This is an automated email from the ASF dual-hosted git repository.

wenhemin pushed a commit to branch json_split_two
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/json_split_two by this push:
     new f1a9c49  [Fix-5518]: The command state count interface, projectId 
change to projectCode (#5849)
f1a9c49 is described below

commit f1a9c4958d890f9ccf08aea6a5e50eca306ad793
Author: wen-hemin <[email protected]>
AuthorDate: Tue Jul 20 10:03:43 2021 +0800

    [Fix-5518]: The command state count interface, projectId change to 
projectCode (#5849)
    
    * fix: the data analysis state count interface, projectId change to 
projectCode
    
    * fix: the data analysis state count interface, projectId change to 
projectCode
    
    * fix checkstyle
    
    * fix checkstyle
    
    * fix: the process state count page use "projectCode"
    
    * fix: English comments
    
    * fix: the user definition count interface, projectId change to projectCode
    
    * fix comment
    
    * fix: the command state count interface, projectId change to projectCode
    
    Co-authored-by: wen-hemin <[email protected]>
---
 .../api/controller/DataAnalysisController.java     | 15 ++--
 .../api/service/DataAnalysisService.java           |  4 +-
 .../api/service/impl/DataAnalysisServiceImpl.java  | 19 +++--
 .../api/controller/DataAnalysisControllerTest.java |  2 +-
 .../api/service/DataAnalysisServiceTest.java       |  9 ++-
 .../pages/index/_source/commandStateCount.vue      | 94 ----------------------
 6 files changed, 28 insertions(+), 115 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
index 0ea664a..0f707a6 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
@@ -136,21 +136,20 @@ public class DataAnalysisController extends 
BaseController {
         return returnDataList(result);
     }
 
-
     /**
      * statistical command status data
      *
      * @param loginUser login user
      * @param startDate start date
      * @param endDate   end date
-     * @param projectId project id
-     * @return command state in project id
+     * @param projectCode project code
+     * @return command state in project code
      */
     @ApiOperation(value = "countCommandState", notes = 
"COUNT_COMMAND_STATE_NOTES")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "startDate", value = "START_DATE", 
dataType = "String"),
-            @ApiImplicitParam(name = "endDate", value = "END_DATE", dataType = 
"String"),
-            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", 
dataType = "Int", example = "100")
+        @ApiImplicitParam(name = "startDate", value = "START_DATE", dataType = 
"String"),
+        @ApiImplicitParam(name = "endDate", value = "END_DATE", dataType = 
"String"),
+        @ApiImplicitParam(name = "projectCode", value = "PROJECT_CODE", 
dataType = "Long", example = "100")
     })
     @GetMapping(value = "/command-state-count")
     @ResponseStatus(HttpStatus.OK)
@@ -159,9 +158,9 @@ public class DataAnalysisController extends BaseController {
     public Result countCommandState(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser,
                                     @RequestParam(value = "startDate", 
required = false) String startDate,
                                     @RequestParam(value = "endDate", required 
= false) String endDate,
-                                    @RequestParam(value = "projectId", 
required = false, defaultValue = "0") int projectId) {
+                                    @RequestParam(value = "projectCode", 
required = false, defaultValue = "0") long projectCode) {
 
-        Map<String, Object> result = 
dataAnalysisService.countCommandState(loginUser, projectId, startDate, endDate);
+        Map<String, Object> result = 
dataAnalysisService.countCommandState(loginUser, projectCode, startDate, 
endDate);
         return returnDataList(result);
     }
 
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java
index 680c896..1a68514 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java
@@ -61,12 +61,12 @@ public interface DataAnalysisService {
      * statistical command status data
      *
      * @param loginUser login user
-     * @param projectId project id
+     * @param projectCode project code
      * @param startDate start date
      * @param endDate end date
      * @return command state count data
      */
-    Map<String, Object> countCommandState(User loginUser, int projectId, 
String startDate, String endDate);
+    Map<String, Object> countCommandState(User loginUser, long projectCode, 
String startDate, String endDate);
 
     /**
      * count queue state
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
index 3e3d6ea..fcc69c7 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
@@ -202,18 +202,21 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
      * statistical command status data
      *
      * @param loginUser login user
-     * @param projectId project id
+     * @param projectCode project code
      * @param startDate start date
      * @param endDate end date
      * @return command state count data
      */
     @Override
-    public Map<String, Object> countCommandState(User loginUser, int 
projectId, String startDate, String endDate) {
-
+    public Map<String, Object> countCommandState(User loginUser, long 
projectCode, String startDate, String endDate) {
         Map<String, Object> result = new HashMap<>();
-        boolean checkProject = checkProject(loginUser, projectId, result);
-        if (!checkProject) {
-            return result;
+
+        if (projectCode != 0) {
+            Project project = projectMapper.queryByCode(projectCode);
+            result = projectService.checkProjectAndAuth(loginUser, project, 
project.getName());
+            if (result.get(Constants.STATUS) != Status.SUCCESS) {
+                return result;
+            }
         }
 
         /**
@@ -237,8 +240,8 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             }
         }
 
-        Long[] projectCodeArray = projectId == 0 ? 
getProjectCodesArrays(loginUser)
-                : new Long[] { projectMapper.selectById(projectId).getCode() };
+        Long[] projectCodeArray = projectCode == 0 ? 
getProjectCodesArrays(loginUser)
+                : new Long[] { projectCode };
         // count normal command state
         Map<CommandType, Integer> normalCountCommandCounts = 
commandMapper.countCommandState(loginUser.getId(), start, end, projectCodeArray)
                 .stream()
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
index 39cf9bd..382a795 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
@@ -110,7 +110,7 @@ public class DataAnalysisControllerTest extends 
AbstractControllerTest {
 
     @Test
     public void testCountCommandState() throws Exception {
-        
PowerMockito.when(projectMapper.selectById(Mockito.any())).thenReturn(getProject("test"));
+        
PowerMockito.when(projectMapper.queryByCode(Mockito.any())).thenReturn(getProject("test"));
 
         MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
         paramsMap.add("startDate","2019-12-01 00:00:00");
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
index f098ee4..eb94233 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
@@ -251,12 +251,18 @@ public class DataAnalysisServiceTest {
 
     @Test
     public void testCountCommandState() {
-
         String startDate = "2020-02-11 16:02:18";
         String endDate = "2020-02-11 16:03:18";
+
+        
Mockito.when(projectMapper.queryByCode(Mockito.any())).thenReturn(getProject("test"));
+
         //checkProject false
         Map<String, Object> result = 
dataAnalysisServiceImpl.countCommandState(user, 2, startDate, endDate);
         Assert.assertTrue(result.isEmpty());
+
+        putMsg(result, Status.SUCCESS, null);
+        Mockito.when(projectService.checkProjectAndAuth(any(), any(), 
any())).thenReturn(result);
+
         List<CommandCount> commandCounts = new ArrayList<>(1);
         CommandCount commandCount = new CommandCount();
         commandCount.setCommandType(CommandType.START_PROCESS);
@@ -266,7 +272,6 @@ public class DataAnalysisServiceTest {
 
         
Mockito.when(errorCommandMapper.countCommandState(DateUtils.getScheduleDate(startDate),
                 DateUtils.getScheduleDate(endDate), new 
Long[]{1L})).thenReturn(commandCounts);
-        
Mockito.when(projectMapper.selectById(Mockito.any())).thenReturn(getProject("test"));
         Mockito.when(projectService.hasProjectAndPerm(Mockito.any(), 
Mockito.any(), Mockito.any())).thenReturn(true);
 
         result = dataAnalysisServiceImpl.countCommandState(user, 1, startDate, 
endDate);
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/commandStateCount.vue
 
b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/commandStateCount.vue
deleted file mode 100644
index ab615e1..0000000
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/commandStateCount.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-<template>
-  <div class="command-state-count-model">
-    <div v-show="!msg">
-      <div class="data-area" v-spin="isSpin">
-        <div id="command-state-bar" style="height:500px"></div>
-      </div>
-    </div>
-    <div v-show="msg">
-      <m-no-data :msg="msg" v-if="msg" :height="530"></m-no-data>
-    </div>
-  </div>
-</template>
-<script>
-  import _ from 'lodash'
-  import { mapActions } from 'vuex'
-  import { simple } from './chartConfig'
-  import Chart from '@/module/ana-charts'
-  import mNoData from '@/module/components/noData/noData'
-
-  export default {
-    name: 'command-state-count',
-    data () {
-      return {
-        isSpin: true,
-        msg: ''
-      }
-    },
-    props: {
-      searchParams: Object
-    },
-    methods: {
-      ...mapActions('projects', ['getCommandStateCount']),
-      _handleCommandState (res) {
-        let data = []
-        _.forEach(res.data, (v, i) => {
-          let key = _.keys(v)
-          if (key[0] === 'errorCount') {
-            data.push({ typeName: `${this.$t('Error command count')}`, key: 
v.commandState, value: v.errorCount })
-          }
-        })
-        _.forEach(res.data, (v, i) => {
-          let key = _.keys(v)
-          if (key[1] === 'normalCount') {
-            data.push({ typeName: `${this.$t('Normal command count')}`, key: 
v.commandState, value: v.normalCount })
-          }
-        })
-        const myChart = Chart.bar('#command-state-bar', data, {
-          title: ''
-        })
-        myChart.echart.setOption(simple)
-      }
-    },
-    created () {
-
-    },
-    watch: {
-      searchParams: {
-        deep: true,
-        immediate: true,
-        handler (o) {
-          this.isSpin = true
-          this.getCommandStateCount(o).then(res => {
-            this._handleCommandState(res)
-            this.isSpin = false
-          }).catch(e => {
-            this.msg = e.msg || 'error'
-            this.isSpin = false
-          })
-        }
-      }
-    },
-    mounted () {
-
-    },
-    computed: {},
-    components: { mNoData }
-  }
-</script>

Reply via email to