lyhzzz 3 лет назад
Родитель
Сommit
e28e723d91

+ 10 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/DataController.java

@@ -52,4 +52,14 @@ public class DataController {
     public ResultData downData(@RequestParam(required = false,defaultValue = "0") Integer type){
         return ResultData.ok(dataService.downData(type));
     }
+    /**
+     *统计场景数量订单
+     * @param type  0:日 ,1:月,2:年
+     * @param cameraType 0 看看,1看见,2深时
+     */
+    @GetMapping("/sceneNum")
+    public ResultData sceneNum(@RequestParam(required = false,defaultValue = "0") Integer type,
+                               @RequestParam(required = false,defaultValue = "0") Integer cameraType){
+        return ResultData.ok(dataService.sceneNum(type,cameraType));
+    }
 }

+ 7 - 13
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/IDataMapper.java

@@ -1,32 +1,26 @@
 package com.fdkankan.manage.mapper;
 
 import com.fdkankan.manage.vo.response.DataGroupByCount;
+import com.fdkankan.manage.vo.response.OrderDataGroupByCount;
+import com.fdkankan.manage.vo.response.SceneDataGroupByCount;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
 public interface IDataMapper {
 
-    List<DataGroupByCount> userDataGroupByDay();
-
-    List<DataGroupByCount> userDataGroupByMouth();
-
-    List<DataGroupByCount> userDataGroupByYear();
-
     List<DataGroupByCount> cameraDataUnBindGroupByType();
 
     List<DataGroupByCount> cameraDataBindGroupByType();
 
-    List<DataGroupByCount> incrementDataGroupByDay();
-
-    List<DataGroupByCount> incrementDataGroupByMouth();
+    List<DataGroupByCount> userDataGroupBy(@Param("dateFormat")String dateFormat);
 
-    List<DataGroupByCount> incrementDataGroupByYear();
+    List<OrderDataGroupByCount> incrementDataGroupBy(@Param("dateFormat")String dateFormat);
 
-    List<DataGroupByCount> downDataGroupByDay();
+    List<OrderDataGroupByCount> downDataGroupBy(@Param("dateFormat")String dateFormat);
 
-    List<DataGroupByCount> downDataGroupByMouth();
 
-    List<DataGroupByCount> downDataGroupByYear();
+    List<SceneDataGroupByCount> sceneNumDataGroupBy(@Param("dateFormat")String dateFormat, @Param("type") Integer type);
 }

+ 6 - 2
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/IDataService.java

@@ -2,6 +2,8 @@ package com.fdkankan.manage.service;
 
 import com.fdkankan.manage.vo.response.CameraDataVo;
 import com.fdkankan.manage.vo.response.DataGroupByCount;
+import com.fdkankan.manage.vo.response.OrderDataGroupByCount;
+import com.fdkankan.manage.vo.response.SceneDataGroupByCount;
 
 import java.util.List;
 
@@ -11,7 +13,9 @@ public interface IDataService {
 
     CameraDataVo cameraData();
 
-    List<DataGroupByCount>  incrementData(Integer type);
+    List<OrderDataGroupByCount>  incrementData(Integer type);
 
-    List<DataGroupByCount>  downData(Integer type);
+    List<OrderDataGroupByCount>  downData(Integer type);
+
+    List<SceneDataGroupByCount> sceneNum(Integer type, Integer cameraType);
 }

+ 39 - 20
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/DataService.java

@@ -4,6 +4,8 @@ import com.fdkankan.manage.mapper.IDataMapper;
 import com.fdkankan.manage.service.IDataService;
 import com.fdkankan.manage.vo.response.CameraDataVo;
 import com.fdkankan.manage.vo.response.DataGroupByCount;
+import com.fdkankan.manage.vo.response.OrderDataGroupByCount;
+import com.fdkankan.manage.vo.response.SceneDataGroupByCount;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -13,21 +15,14 @@ import java.util.List;
 @Service
 public class DataService implements IDataService {
 
+    static String dayFormat = "%Y-%m-%d";
+    static String mouthFormat = "%Y-%m";
+    static String yearFormat = "%Y";
+
     @Resource
     IDataMapper dataMapper;
 
     @Override
-    public List<DataGroupByCount> userData(Integer type) {
-        List<DataGroupByCount> result = new ArrayList<>();
-        switch (type){
-            case 0 : return  dataMapper.userDataGroupByDay();
-            case 1 : return  dataMapper.userDataGroupByMouth();
-            case 2 : return  dataMapper.userDataGroupByYear();
-        }
-        return result;
-    }
-
-    @Override
     public CameraDataVo cameraData() {
         CameraDataVo cameraDataVo = new CameraDataVo();
         // 0KK 1KK 2KK 9KJ 10SS
@@ -66,25 +61,49 @@ public class DataService implements IDataService {
     }
 
     @Override
-    public List<DataGroupByCount>  incrementData(Integer type) {
+    public List<DataGroupByCount> userData(Integer type) {
         List<DataGroupByCount> result = new ArrayList<>();
         switch (type){
-            case 0 : return  dataMapper.incrementDataGroupByDay();
-            case 1 : return  dataMapper.incrementDataGroupByMouth();
-            case 2 : return  dataMapper.incrementDataGroupByYear();
+            case 0 : return  dataMapper.userDataGroupBy(dayFormat);
+            case 1 : return  dataMapper.userDataGroupBy(mouthFormat);
+            case 2 : return  dataMapper.userDataGroupBy(yearFormat);
         }
         return result;
     }
 
     @Override
-    public List<DataGroupByCount> downData(Integer type) {
-        List<DataGroupByCount> result = new ArrayList<>();
+    public List<OrderDataGroupByCount>  incrementData(Integer type) {
+        List<OrderDataGroupByCount> result = new ArrayList<>();
         switch (type){
-            case 0 : return  dataMapper.downDataGroupByDay();
-            case 1 : return  dataMapper.downDataGroupByMouth();
-            case 2 : return  dataMapper.downDataGroupByYear();
+            case 0 : return  dataMapper.incrementDataGroupBy(dayFormat);
+            case 1 : return  dataMapper.incrementDataGroupBy(mouthFormat);
+            case 2 : return  dataMapper.incrementDataGroupBy(yearFormat);
         }
         return result;
     }
 
+    @Override
+    public List<OrderDataGroupByCount> downData(Integer type) {
+        List<OrderDataGroupByCount> result = new ArrayList<>();
+        switch (type){
+            case 0 : return  dataMapper.downDataGroupBy(dayFormat);
+            case 1 : return  dataMapper.downDataGroupBy(mouthFormat);
+            case 2 : return  dataMapper.downDataGroupBy(yearFormat);
+        }
+        return result;
+    }
+
+    @Override
+    public List<SceneDataGroupByCount> sceneNum(Integer type, Integer cameraType) {
+        List<SceneDataGroupByCount> result = new ArrayList<>();
+        if(cameraType == 2){        //深时
+            return result;
+        }
+        switch (type){
+            case 0 : return  dataMapper.sceneNumDataGroupBy(dayFormat,cameraType);
+            case 1 : return  dataMapper.sceneNumDataGroupBy(mouthFormat,cameraType);
+            case 2 : return  dataMapper.sceneNumDataGroupBy(yearFormat,cameraType);
+        }
+        return result;
+    }
 }

+ 0 - 3
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/DataGroupByCount.java

@@ -2,11 +2,8 @@ package com.fdkankan.manage.vo.response;
 
 import lombok.Data;
 
-import java.math.BigDecimal;
-
 @Data
 public class DataGroupByCount {
     private String groupKey;
     private Long count;
-    private BigDecimal amount;
 }

+ 12 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/OrderDataGroupByCount.java

@@ -0,0 +1,12 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderDataGroupByCount {
+    private String groupKey;
+    private Long count;
+    private BigDecimal amount;
+}

+ 11 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/SceneDataGroupByCount.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class SceneDataGroupByCount {
+    private String groupKey;        //日期
+    private Long count;             //场景数量
+    private Long viewCount;         //浏览量
+    private Long shootCount;        //点位数
+}

+ 16 - 31
4dkankan-center-manage/src/main/resources/mapper/manage/DataMapper.xml

@@ -2,18 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.manage.mapper.IDataMapper">
 
-    <select id="userDataGroupByDay" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m-%d') AS groupKey, count(id) AS count FROM t_user WHERE rec_status = 'A'   GROUP BY groupKey
-    </select>
-
-    <select id="userDataGroupByMouth" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m') AS groupKey, count(id) AS count FROM t_user WHERE rec_status = 'A'   GROUP BY groupKey
-    </select>
-
-    <select id="userDataGroupByYear" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y') AS groupKey, count(id) AS count FROM t_user WHERE rec_status = 'A'   GROUP BY groupKey
-    </select>
-
     <select id="cameraDataUnBindGroupByType" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
         SELECT type AS groupKey, count(id) AS count FROM t_camera_detail  WHERE rec_status = 'A' AND user_id IS  NUll GROUP BY type
     </select>
@@ -22,34 +10,31 @@
         SELECT type AS groupKey, count(id) AS count FROM t_camera_detail  WHERE rec_status = 'A' AND user_id IS NOT NUll GROUP BY type
     </select>
 
-    <select id="incrementDataGroupByDay" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m-%d') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_increment_order
-        WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
+    <select id="userDataGroupBy" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
+        SELECT DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count FROM t_user WHERE rec_status = 'A'   GROUP BY groupKey
     </select>
 
-    <select id="incrementDataGroupByMouth" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_increment_order
+    <select id="incrementDataGroupBy" resultType="com.fdkankan.manage.vo.response.OrderDataGroupByCount">
+        SELECT DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_increment_order
         WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
     </select>
 
-    <select id="incrementDataGroupByYear" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_increment_order
+    <select id="downDataGroupBy" resultType="com.fdkankan.manage.vo.response.OrderDataGroupByCount">
+        SELECT DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_download_order
         WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
     </select>
 
-    <select id="downDataGroupByDay" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m-%d') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_download_order
-        WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
-    </select>
+    <select id="sceneNumDataGroupBy" resultType="com.fdkankan.manage.vo.response.SceneDataGroupByCount">
+      SELECT DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count ,sum(view_count) AS viewCount,sum(shoot_count) AS shootCount
+      FROM t_scene_pro WHERE rec_status = 'A'
+      <if test="type == 0">
+          and scene_source  in (1,2,12,13,14)
+      </if>
+      <if test="type == 1">
+          and scene_source  = 3
+      </if>
+      GROUP BY groupKey
 
-    <select id="downDataGroupByMouth" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y-%m') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_download_order
-        WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
     </select>
 
-    <select id="downDataGroupByYear" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
-        SELECT @groupTime:=DATE_FORMAT(create_time,'%Y') AS groupKey, count(id) AS count ,sum(amount) AS amount  FROM t_download_order
-        WHERE rec_status = 'A' and pay_status = 1  GROUP BY groupKey
-    </select>
-    
 </mapper>