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 8f0c400  [Fix-5518]: the command state count interface and queue state 
count interface, remove unused paramaters (#5853)
8f0c400 is described below

commit 8f0c400ee094e9f93fd74e9d09f6258903f56d91
Author: wen-hemin <[email protected]>
AuthorDate: Tue Jul 20 11:01:50 2021 +0800

    [Fix-5518]: the command state count interface and queue state count 
interface, remove unused paramaters (#5853)
    
    * 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
    
    * fix: the command state count interface and queue state count interface, 
remove unused paramaters
    
    * fix comments
    
    Co-authored-by: wen-hemin <[email protected]>
---
 .../api/controller/DataAnalysisController.java     |  26 +-----
 .../api/service/DataAnalysisService.java           |   8 +-
 .../api/service/impl/DataAnalysisServiceImpl.java  |  47 +---------
 .../api/controller/DataAnalysisControllerTest.java |  17 +---
 .../api/service/DataAnalysisServiceTest.java       |  51 ++---------
 .../projects/pages/index/_source/queueCount.vue    | 101 ---------------------
 6 files changed, 18 insertions(+), 232 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 0f707a6..a99ceb4 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
@@ -140,27 +140,16 @@ public class DataAnalysisController extends 
BaseController {
      * statistical command status data
      *
      * @param loginUser login user
-     * @param startDate start date
-     * @param endDate   end date
-     * @param projectCode project code
-     * @return command state in project code
+     * @return command state of user projects
      */
     @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 = "projectCode", value = "PROJECT_CODE", 
dataType = "Long", example = "100")
-    })
     @GetMapping(value = "/command-state-count")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(COMMAND_STATE_COUNT_ERROR)
     @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
-    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 = "projectCode", 
required = false, defaultValue = "0") long projectCode) {
+    public Result countCommandState(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser) {
 
-        Map<String, Object> result = 
dataAnalysisService.countCommandState(loginUser, projectCode, startDate, 
endDate);
+        Map<String, Object> result = 
dataAnalysisService.countCommandState(loginUser);
         return returnDataList(result);
     }
 
@@ -168,21 +157,16 @@ public class DataAnalysisController extends 
BaseController {
      * queue count
      *
      * @param loginUser login user
-     * @param projectId project id
      * @return queue state count
      */
     @ApiOperation(value = "countQueueState", notes = "COUNT_QUEUE_STATE_NOTES")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "projectId", value = "PROJECT_ID", 
dataType = "Int", example = "100")
-    })
     @GetMapping(value = "/queue-count")
     @ResponseStatus(HttpStatus.OK)
     @ApiException(QUEUE_COUNT_ERROR)
     @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
-    public Result countQueueState(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser,
-                                  @RequestParam(value = "projectId", required 
= false, defaultValue = "0") int projectId) {
+    public Result countQueueState(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser) {
 
-        Map<String, Object> result = 
dataAnalysisService.countQueueState(loginUser, projectId);
+        Map<String, Object> result = 
dataAnalysisService.countQueueState(loginUser);
         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 1a68514..9a5dbe5 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,20 +61,16 @@ public interface DataAnalysisService {
      * statistical command status data
      *
      * @param loginUser login user
-     * @param projectCode project code
-     * @param startDate start date
-     * @param endDate end date
      * @return command state count data
      */
-    Map<String, Object> countCommandState(User loginUser, long projectCode, 
String startDate, String endDate);
+    Map<String, Object> countCommandState(User loginUser);
 
     /**
      * count queue state
      *
      * @param loginUser login user
-     * @param projectId project id
      * @return queue state count data
      */
-    Map<String, Object> countQueueState(User loginUser, int projectId);
+    Map<String, Object> countQueueState(User loginUser);
 
 }
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 fcc69c7..2377439 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,46 +202,20 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
      * statistical command status data
      *
      * @param loginUser login user
-     * @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, long 
projectCode, String startDate, String endDate) {
+    public Map<String, Object> countCommandState(User loginUser) {
         Map<String, Object> result = new HashMap<>();
 
-        if (projectCode != 0) {
-            Project project = projectMapper.queryByCode(projectCode);
-            result = projectService.checkProjectAndAuth(loginUser, project, 
project.getName());
-            if (result.get(Constants.STATUS) != Status.SUCCESS) {
-                return result;
-            }
-        }
-
         /**
          * find all the task lists in the project under the user
          * statistics based on task status execution, failure, completion, 
wait, total
          */
         Date start = null;
-        if (StringUtils.isNotEmpty(startDate)) {
-            start = DateUtils.getScheduleDate(startDate);
-            if (Objects.isNull(start)) {
-                putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, 
Constants.START_END_DATE);
-                return result;
-            }
-        }
         Date end = null;
-        if (StringUtils.isNotEmpty(endDate)) {
-            end = DateUtils.getScheduleDate(endDate);
-            if (Objects.isNull(end)) {
-                putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR, 
Constants.START_END_DATE);
-                return result;
-            }
-        }
+        Long[] projectCodeArray = getProjectCodesArrays(loginUser);
 
-        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()
@@ -279,19 +253,12 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
     /**
      * count queue state
      *
-     * @param loginUser login user
-     * @param projectId project id
      * @return queue state count data
      */
     @Override
-    public Map<String, Object> countQueueState(User loginUser, int projectId) {
+    public Map<String, Object> countQueueState(User loginUser) {
         Map<String, Object> result = new HashMap<>();
 
-        boolean checkProject = checkProject(loginUser, projectId, result);
-        if (!checkProject) {
-            return result;
-        }
-
         //TODO need to add detail data info
         Map<String, Integer> dataMap = new HashMap<>();
         dataMap.put("taskQueue", 0);
@@ -301,12 +268,4 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
         return result;
     }
 
-    private boolean checkProject(User loginUser, int projectId, Map<String, 
Object> result) {
-        if (projectId != 0) {
-            Project project = projectMapper.selectById(projectId);
-            return projectService.hasProjectAndPerm(loginUser, project, 
result);
-        }
-        return true;
-    }
-
 }
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 382a795..d63ffff 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,15 +110,8 @@ public class DataAnalysisControllerTest extends 
AbstractControllerTest {
 
     @Test
     public void testCountCommandState() throws Exception {
-        
PowerMockito.when(projectMapper.queryByCode(Mockito.any())).thenReturn(getProject("test"));
-
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("startDate","2019-12-01 00:00:00");
-        paramsMap.add("endDate","2019-12-15 23:59:59");
-        paramsMap.add("projectId","16");
         MvcResult mvcResult = 
mockMvc.perform(get("/projects/analysis/command-state-count")
-                .header("sessionId", sessionId)
-                .params(paramsMap))
+                .header("sessionId", sessionId))
                 .andExpect(status().isOk())
                 
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                 .andReturn();
@@ -127,16 +120,10 @@ public class DataAnalysisControllerTest extends 
AbstractControllerTest {
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-
     @Test
     public void testCountQueueState() throws Exception {
-        
PowerMockito.when(projectMapper.selectById(Mockito.any())).thenReturn(getProject("test"));
-
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("projectId","16");
         MvcResult mvcResult = 
mockMvc.perform(get("/projects/analysis/queue-count")
-                .header("sessionId", sessionId)
-                .params(paramsMap))
+                .header("sessionId", sessionId))
                 .andExpect(status().isOk())
                 
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                 .andReturn();
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 eb94233..deb8cf0 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,54 +251,20 @@ 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);
         commandCounts.add(commandCount);
-        Mockito.when(commandMapper.countCommandState(0, 
DateUtils.getScheduleDate(startDate),
-                DateUtils.getScheduleDate(endDate), new 
Long[]{1L})).thenReturn(commandCounts);
-
-        
Mockito.when(errorCommandMapper.countCommandState(DateUtils.getScheduleDate(startDate),
-                DateUtils.getScheduleDate(endDate), new 
Long[]{1L})).thenReturn(commandCounts);
-        Mockito.when(projectService.hasProjectAndPerm(Mockito.any(), 
Mockito.any(), Mockito.any())).thenReturn(true);
+        Mockito.when(commandMapper.countCommandState(0, null, null, new 
Long[]{1L})).thenReturn(commandCounts);
+        Mockito.when(errorCommandMapper.countCommandState(null, null, new 
Long[]{1L})).thenReturn(commandCounts);
 
-        result = dataAnalysisServiceImpl.countCommandState(user, 1, startDate, 
endDate);
+        Map<String, Object> result = 
dataAnalysisServiceImpl.countCommandState(user);
         Assert.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
 
-        // when all date in illegal format then return error message
-        String startDate2 = "illegalDateString";
-        String endDate2 = "illegalDateString";
-        Map<String, Object> result2 = 
dataAnalysisServiceImpl.countCommandState(user, 0, startDate2, endDate2);
-        Assert.assertEquals(Status.REQUEST_PARAMS_NOT_VALID_ERROR, 
result2.get(Constants.STATUS));
-
-        // when one of date in illegal format then return error message
-        String startDate3 = "2020-08-22 09:23:10";
-        String endDate3 = "illegalDateString";
-        Map<String, Object> result3 = 
dataAnalysisServiceImpl.countCommandState(user, 0, startDate3, endDate3);
-        Assert.assertEquals(Status.REQUEST_PARAMS_NOT_VALID_ERROR, 
result3.get(Constants.STATUS));
-
-        // when one of date in illegal format then return error message
-        String startDate4 = "illegalDateString";
-        String endDate4 = "2020-08-22 09:23:10";
-        Map<String, Object> result4 = 
dataAnalysisServiceImpl.countCommandState(user, 0, startDate4, endDate4);
-        Assert.assertEquals(Status.REQUEST_PARAMS_NOT_VALID_ERROR, 
result4.get(Constants.STATUS));
-
         // when no command found then return all count are 0
         Mockito.when(commandMapper.countCommandState(anyInt(), any(), any(), 
any())).thenReturn(Collections.emptyList());
         Mockito.when(errorCommandMapper.countCommandState(any(), any(), 
any())).thenReturn(Collections.emptyList());
-        Map<String, Object> result5 = 
dataAnalysisServiceImpl.countCommandState(user, 0, startDate, null);
+        Map<String, Object> result5 = 
dataAnalysisServiceImpl.countCommandState(user);
         assertThat(result5).containsEntry(Constants.STATUS, Status.SUCCESS);
         
assertThat(result5.get(Constants.DATA_LIST)).asList().extracting("errorCount").allMatch(count
 -> count.equals(0));
         
assertThat(result5.get(Constants.DATA_LIST)).asList().extracting("normalCount").allMatch(count
 -> count.equals(0));
@@ -313,7 +279,7 @@ public class DataAnalysisServiceTest {
         Mockito.when(commandMapper.countCommandState(anyInt(), any(), any(), 
any())).thenReturn(Collections.singletonList(normalCommandCount));
         Mockito.when(errorCommandMapper.countCommandState(any(), any(), 
any())).thenReturn(Collections.singletonList(errorCommandCount));
 
-        Map<String, Object> result6 = 
dataAnalysisServiceImpl.countCommandState(user, 0, null, null);
+        Map<String, Object> result6 = 
dataAnalysisServiceImpl.countCommandState(user);
 
         assertThat(result6).containsEntry(Constants.STATUS, Status.SUCCESS);
         CommandStateCount commandStateCount = new CommandStateCount();
@@ -325,12 +291,8 @@ public class DataAnalysisServiceTest {
 
     @Test
     public void testCountQueueState() {
-        // when project check fail then return nothing
-        Map<String, Object> result1 = 
dataAnalysisServiceImpl.countQueueState(user, 2);
-        Assert.assertTrue(result1.isEmpty());
-
         // when project check success when return all count are 0
-        Map<String, Object> result2 = 
dataAnalysisServiceImpl.countQueueState(user, 1);
+        Map<String, Object> result2 = 
dataAnalysisServiceImpl.countQueueState(user);
         assertThat(result2.get(Constants.DATA_LIST)).extracting("taskQueue", 
"taskKill")
                 .isNotEmpty()
                 .allMatch(count -> count.equals(0));
@@ -340,7 +302,6 @@ public class DataAnalysisServiceTest {
      * get list
      */
     private List<ExecuteStatusCount> getTaskInstanceStateCounts() {
-
         List<ExecuteStatusCount> taskInstanceStateCounts = new ArrayList<>(1);
         ExecuteStatusCount executeStatusCount = new ExecuteStatusCount();
         
executeStatusCount.setExecutionStatus(ExecutionStatus.RUNNING_EXECUTION);
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/queueCount.vue
 
b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/queueCount.vue
deleted file mode 100644
index 5f2dae3..0000000
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/_source/queueCount.vue
+++ /dev/null
@@ -1,101 +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="queue-count-model">
-    <div v-show="!msg">
-      <div class="data-area" v-spin="isSpin" style="height: 430px;">
-        <div class="col-md-7">
-          <div id="queue-pie" style="height:260px;margin-top: 100px;"></div>
-        </div>
-        <div class="col-md-5">
-          <div class="table-small-model">
-            <table>
-              <tr>
-                <th width="40">{{$t('#')}}</th>
-                <th>{{$t('Number')}}</th>
-                <th>{{$t('State')}}</th>
-              </tr>
-              <tr :key="$index" v-for="(item,$index) in queueList">
-                <td><span>{{$index+1}}</span></td>
-                <td><span><a href="javascript:" >{{item.value}}</a></span></td>
-                <td><span class="ellipsis" style="width: 98%;" 
:title="item.key">{{item.key}}</span></td>
-              </tr>
-            </table>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div v-show="msg">
-      <m-no-data :msg="msg" v-if="msg" :height="430"></m-no-data>
-    </div>
-  </div>
-</template>
-<script>
-  import _ from 'lodash'
-  import { mapActions } from 'vuex'
-  import { pie } from './chartConfig'
-  import Chart from '@/module/ana-charts'
-  import mNoData from '@/module/components/noData/noData'
-  export default {
-    name: 'queue-count',
-    data () {
-      return {
-        isSpin: true,
-        msg: '',
-        queueList: []
-      }
-    },
-    props: {
-      searchParams: Object
-    },
-    methods: {
-      ...mapActions('projects', ['getQueueCount']),
-      _handleQueue (res) {
-        _.forEach(res.data, (v, k) => this.queueList.push({
-          key: k === 'taskQueue' ? `${this.$t('Task queue')}` : 
`${this.$t('Task kill')}`,
-          value: v
-        }))
-        const myChart = Chart.pie('#queue-pie', this.queueList, { title: '' })
-        myChart.echart.setOption(_.assign(_.cloneDeep(pie), {
-          color: ['#D5050B', '#0398E1']
-        }))
-      }
-    },
-    watch: {
-      searchParams: {
-        deep: true,
-        immediate: true,
-        handler (o) {
-          this.isSpin = true
-          this.getQueueCount(o).then(res => {
-            this.queueList = []
-            this._handleQueue(res)
-            this.isSpin = false
-          }).catch(e => {
-            this.msg = e.msg || 'error'
-            this.isSpin = false
-          })
-        }
-      }
-    },
-    created () {
-    },
-    mounted () {
-    },
-    components: { mNoData }
-  }
-</script>

Reply via email to