From 02b0dbf0ba5db15a0650dcbe90cfb25a1292f804 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 16 一月 2025 10:28:42 +0800
Subject: [PATCH] 首页统计

---
 src/main/java/com/whyc/service/AreaInfService.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/whyc/service/AreaInfService.java b/src/main/java/com/whyc/service/AreaInfService.java
index 0b10500..4fa032b 100644
--- a/src/main/java/com/whyc/service/AreaInfService.java
+++ b/src/main/java/com/whyc/service/AreaInfService.java
@@ -52,17 +52,7 @@
     @Autowired(required = false)
     private UserInfMapper uinfMapper;
 
-    //棣栭〉鍒嗙粍缁熻鍓�10寮�閿佹鏁�
-    public Response getGroupCtlCount(int uid,int urole) {
-        List areaList=getAllAreaUser(uid,urole);
-        QueryWrapper wrapper=new QueryWrapper();
-        wrapper.in("area_id",areaList);
-        wrapper.orderByAsc("num");
-        List<LockInf> list=linfMapper.selectList(wrapper);
-        //鏍规嵁鐢ㄦ埛id鏌ヨ绠$悊鐨勯攣鐨刬d
-        List<HomeCtlGroupDto> listGroup=ctlLogMapper.getGroupCtlCount(uid);
-        return new Response().setII(1,listGroup!=null,listGroup,"棣栭〉鍒嗙粍缁熻鍓�10寮�閿佹鏁�");
-    }
+
 
     //鏌ョ湅褰撳墠鐢ㄦ埛绠$悊鐨勬墍鏈夊尯鍩�
    public List getAllAreaUser(int uid,int urole){
@@ -479,4 +469,43 @@
         PageInfo pageInfo=new PageInfo(list);
         return new Response().setII(1,list!=null,pageInfo,"鏌ヨ鏈�杩戠殑寮�閿佹棩蹇�");
     }
+
+    //棣栭〉鍒嗙粍缁熻鍓�10寮�閿佹鏁�
+    public Response getGroupCtlCount(int uid,int urole) {
+        List areaList=getAllAreaUser(uid,urole);
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.in("area_id",areaList);
+        wrapper.orderByAsc("num");
+        List<LockInf> list=linfMapper.selectList(wrapper);
+        //鏍规嵁鐢ㄦ埛id鏌ヨ绠$悊鐨勯攣鐨刬d
+        List<HomeCtlGroupDto> listGroup=ctlLogMapper.getGroupCtlCount(uid);
+        return new Response().setII(1,listGroup!=null,listGroup,"棣栭〉鍒嗙粍缁熻鍓�10寮�閿佹鏁�");
+    }
+    //棣栭〉缁熻灞忔煖绫诲瀷
+    public Response getScreenBoxType(int uid,int urole) {
+        try {
+            List areaList=getAllAreaUser(uid,urole);
+            QueryWrapper wrapper=new QueryWrapper();
+            wrapper.in("area_id",areaList);
+            wrapper.eq("screen_flag",1);//鍙彇灞忔煖
+            wrapper.orderByAsc("num");
+            List<LockInf> list=linfMapper.selectList(wrapper);
+            Map<String, List<LockInf>>  boxType = list.stream().collect(Collectors.groupingBy(LockInf::getScreenBoxType));
+            Map<String, Object> map = new HashMap<>();
+            Map<String, Object> typeMap = new HashMap<>();
+            for (String type : boxType.keySet()) {
+                typeMap.put(type, boxType.get(type).size());
+            }
+            map.put("type",typeMap);
+            Map<String, List<LockInf>>  productType = list.stream().collect(Collectors.groupingBy(LockInf::getScreenBoxProduct));
+            Map<String, Object> productMap = new HashMap<>();
+            for (String product : productType.keySet()) {
+                productMap.put(product, productType.get(product).size());
+            }
+            map.put("product",productMap);
+            return new Response().setII(1,true,map,"棣栭〉缁熻灞忔煖绫诲瀷");
+        } catch (Exception e) {
+            return new Response().set(1,false,"棣栭〉缁熻灞忔煖绫诲瀷");
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1