Selaa lähdekoodia

首页增加系统相关内容的统计数据

xuexiaobo 6 vuotta sitten
vanhempi
commit
e55bde6129

+ 10 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/AgencyResourceDao.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.domain.dao;
 
 import com.mooctest.crowd.domain.model.EvaluationAgencyResourcePO;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.PagingAndSortingRepository;
 
 import javax.transaction.Transactional;
@@ -19,6 +20,15 @@ public interface AgencyResourceDao extends PagingAndSortingRepository<Evaluation
 
     List<EvaluationAgencyResourcePO> findAll();
 
+    @Query(value = "SELECT SUM(p.totalNum) FROM EvaluationAgencyResourcePO p WHERE p.type = ?1")
+    Long getTotalResourceByType(String type);
+
+//    @Query(value = "SELECT SUM(p.totalNum) FROM EvaluationAgencyResourcePO p WHERE p.type = '服务器资源'")
+//    Long getTotalServerResource();
+//
+//    @Query(value = "SELECT SUM(p.totalNum) FROM EvaluationAgencyResourcePO p WHERE p.type = '服务器资源'")
+//    Long getTotalServerResource();
+
     EvaluationAgencyResourcePO save(EvaluationAgencyResourcePO evaluationAgencyPO);
 
 //    List<EvaluationAgencyResourcePO> saveAll(List<EvaluationAgencyResourcePO> evaluationAgencyResourcePOList);

+ 2 - 1
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyResourcePO.java

@@ -10,7 +10,8 @@ import java.sql.Timestamp;
  * @date 2019/8/12 14:16
  */
 @Data
-@Entity(name = "evaluation_agency_resource")
+@Entity
+@Table(name = "evaluation_agency_resource")
 public class EvaluationAgencyResourcePO {
 
     @Id

+ 5 - 1
site/src/main/java/com/mooctest/crowd/site/controller/TestController.java

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.site.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.mooctest.crowd.domain.dao.AgencyResourceDao;
 import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
 import com.mooctest.crowd.domain.dao.CrowdTestTaskDao;
 import com.mooctest.crowd.domain.dao.UserDao;
@@ -42,6 +43,9 @@ public class TestController {
     private CrowdTestTaskDao taskDao;
 
     @Autowired
+    private AgencyResourceDao agencyResourceDao;
+
+    @Autowired
     private RestTemplate restTemplate;
 
     @RequestMapping(value = "/test/rest", method = RequestMethod.POST)
@@ -62,7 +66,7 @@ public class TestController {
 
     @RequestMapping(value = "/test", method = RequestMethod.POST)
     public Object exceptionTest() throws IOException {
-        return projectDao.findByStatusLessThanAndProjectDistributionTypeIdAndDistributionCity(CrowdTestProjectStatus.HAS_RECEIVED, 1L, "南京市");
+        return agencyResourceDao.getTotalResourceByType("服务器资源");
     }
 
     @RequestMapping(value = "/session/put", method = RequestMethod.GET)

+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/data/dto/IndexDTO.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.site.data.dto;
 
 import com.mooctest.crowd.site.data.vo.EvolutionAgencyVO;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
+import com.mooctest.crowd.site.data.vo.PieChartDataVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import lombok.Data;
 
@@ -17,4 +18,5 @@ public class IndexDTO {
     private List<CrowdTaskVO> hotTaskList;
     private List<EvolutionAgencyVO> agencyRank;
     private List<UserVO> userRank;
+    private List<PieChartDataVO> systemStatistics;
 }

+ 15 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -56,6 +56,9 @@ public class WebMediatorImpl implements ViewMediator {
     private EvaluationAgencyDao agencyDao;
 
     @Autowired
+    private AgencyResourceDao agencyResourceDao;
+
+    @Autowired
     private CrowdTestProjectDao projectDao;
 
     @Autowired
@@ -119,6 +122,18 @@ public class WebMediatorImpl implements ViewMediator {
         img.add("http://mooctest-crowd-service.oss-cn-hangzhou.aliyuncs.com/Image/invictus.jpg");
         img.add("http://mooctest-crowd-service.oss-cn-hangzhou.aliyuncs.com/Image/timg.jpeg");
         indexDTO.setImgList(img);
+
+        //获取系统统计信息
+        List<PieChartDataVO> statisticsInfo = new ArrayList<>();
+        statisticsInfo.add(new PieChartDataVO("用户总数", userRepo.getAllUserNum()));
+        statisticsInfo.add(new PieChartDataVO("测评机构总数", userRepo.getAllAgencyNum()));
+        statisticsInfo.add(new PieChartDataVO("测试人员总数", agencyResourceDao.getTotalResourceByType("人力资源")));
+        statisticsInfo.add(new PieChartDataVO("服务器总数", agencyResourceDao.getTotalResourceByType("服务器资源")));
+        statisticsInfo.add(new PieChartDataVO("专用设备总数", agencyResourceDao.getTotalResourceByType("专用设备")));
+        statisticsInfo.add(new PieChartDataVO("测试项目总数", projectRepo.getAllProjectNum()));
+        statisticsInfo.add(new PieChartDataVO("测试任务总数", projectRepo.getAllTaskNum()));
+        statisticsInfo.add(new PieChartDataVO("测试报告总数", projectRepo.getAllReportNum()));
+        indexDTO.setSystemStatistics(statisticsInfo);
         return indexDTO;
     }