Browse Source

测试环境配置

lyhzzz 2 years ago
parent
commit
f1d1e84269

+ 18 - 35
src/main/java/com/fdkankan/manage/controller/DataController.java

@@ -36,6 +36,7 @@ public class DataController {
     public ResultData sceneTotal(){
         return ResultData.ok(dataService.sceneTotal());
     }
+
     /**
      * 订单数据总览
      */
@@ -44,50 +45,32 @@ public class DataController {
         return ResultData.ok(dataService.orderTotal());
     }
 
-
     /**
-     *统计新增用户数
-     * @param type  0:日 ,1:月,2:年
+     *统计近半年新增用户数趋势
+     * @param type  0:日 ,1:周,2:月
      */
-    @GetMapping("/user")
-    public ResultData userData(@RequestParam(required = false,defaultValue = "0") Integer type){
-        return ResultData.ok(dataService.userData(type));
+    @GetMapping("/userTrend")
+    public ResultData userTrend(@RequestParam(required = false,defaultValue = "0") Integer type){
+        return ResultData.ok(dataService.userTrend(type));
     }
-
     /**
-     *统计相机数据
+     *统计近半年新线上订单趋势
+     * @param type  0:日 ,1:周,2:月
      */
-    @GetMapping("/camera")
-    public ResultData camera(){
-        return ResultData.ok(dataService.cameraData());
+    @GetMapping("/orderTrend")
+    public ResultData orderTrend(@RequestParam(required = false,defaultValue = "0") Integer type){
+        return ResultData.ok(dataService.orderTrend(type));
     }
-
     /**
-     *统计权益订单
-     * @param type  0:日 ,1:月,2:年
+     *统计近半年场景新增趋势
+     * @param type  0:日 ,1:周,2:月
      */
-    @GetMapping("/increment")
-    public ResultData incrementData(@RequestParam(required = false,defaultValue = "0") Integer type){
-        return ResultData.ok(dataService.incrementData(type));
+    @GetMapping("/sceneTrend")
+    public ResultData sceneTrend(@RequestParam(required = false,defaultValue = "0") Integer type){
+        return ResultData.ok(dataService.sceneTrend(type));
     }
 
-    /**
-     *统计下载订单
-     * @param type  0:日 ,1:月,2:年
-     */
-    @GetMapping("/down")
-    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));
-    }
+
+
 }

+ 5 - 11
src/main/java/com/fdkankan/manage/mapper/IDataMapper.java

@@ -11,17 +11,7 @@ import java.util.List;
 @Mapper
 public interface IDataMapper {
 
-    List<DataGroupByCount> cameraDataUnBindGroupByType();
-
-    List<DataGroupByCount> cameraDataBindGroupByType();
-
-    List<DataGroupByCount> userDataGroupBy(@Param("dateFormat")String dateFormat);
-
-    List<OrderDataGroupByCount> incrementDataGroupBy(@Param("dateFormat")String dateFormat);
-
-    List<OrderDataGroupByCount> downDataGroupBy(@Param("dateFormat")String dateFormat);
-
-    List<SceneDataGroupByCount> sceneNumDataGroupBy(@Param("dateFormat")String dateFormat, @Param("type") Integer type);
+    List<DataGroupByCount> userDataGroupBy(@Param("tb") String tb,@Param("dateFormat")String dateFormat);
 
     Long totalUserCount(@Param("tb") String tb,@Param("type")Integer type);
 
@@ -30,4 +20,8 @@ public interface IDataMapper {
     Long todayAddCount(@Param("tb") String tb,@Param("type")Integer type);
 
     Long todayActiveCount();
+
+    List<DataGroupByCount> userDataGroupByWeek(@Param("tb") String tb);
+
+    List<DataGroupByCount> sceneGroupBy(@Param("tb") String tb, @Param("dateFormat")String dateFormat);
 }

+ 7 - 10
src/main/java/com/fdkankan/manage/service/IDataService.java

@@ -2,23 +2,20 @@ package com.fdkankan.manage.service;
 
 import com.fdkankan.manage.vo.response.*;
 
+import java.util.HashMap;
 import java.util.List;
 
 public interface IDataService {
 
-    List<DataGroupByCount> userData(Integer type);
-
-    CameraDataVo cameraData();
-
-    List<OrderDataGroupByCount>  incrementData(Integer type);
-
-    List<OrderDataGroupByCount>  downData(Integer type);
-
-    List<SceneDataGroupByCount> sceneNum(Integer type, Integer cameraType);
-
     UserTotalVo getUserTotal();
 
     SceneTotalVo sceneTotal();
 
     OrderTotalVo orderTotal();
+
+    List<DataGroupByCount> userTrend(Integer type);
+
+    HashMap<String, List<DataGroupByCount>> orderTrend(Integer type);
+
+    HashMap<String, List<DataGroupByCount>> sceneTrend(Integer type);
 }

+ 58 - 67
src/main/java/com/fdkankan/manage/service/impl/DataService.java

@@ -2,13 +2,13 @@ package com.fdkankan.manage.service.impl;
 
 import com.fdkankan.manage.mapper.IDataMapper;
 import com.fdkankan.manage.service.IDataService;
-import com.fdkankan.manage.service.IUserService;
 import com.fdkankan.manage.vo.response.*;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 
 @Service
@@ -62,88 +62,79 @@ public class DataService implements IDataService {
         return totalVo;
     }
 
-    @Override
-    public CameraDataVo cameraData() {
-        CameraDataVo cameraDataVo = new CameraDataVo();
-        // 0KK 1KK 2KK 9KJ 10SS
-        List<DataGroupByCount> cameraUnBindList = dataMapper.cameraDataUnBindGroupByType();
-        long count = 0L;
-        for (DataGroupByCount dataGroupByCount : cameraUnBindList) {
-            switch (dataGroupByCount.getGroupKey()){
-                case "0" : case "1" : case "2" :
-                    count = cameraDataVo.getKkUnBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setKkUnBindCount(count); break;
-                case "9" :
-                    count = cameraDataVo.getKjUnBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setKkBindCount(count); break;
-                case "10" :
-                    count = cameraDataVo.getSsUnBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setSsUnBindCount(count); break;
-                default: break;
-            }
-        }
-        List<DataGroupByCount> cameraBindList = dataMapper.cameraDataBindGroupByType();
-        for (DataGroupByCount dataGroupByCount : cameraBindList) {
-            switch (dataGroupByCount.getGroupKey()){
-                case "0" : case "1" : case "2" :
-                    count = cameraDataVo.getKkBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setKkBindCount(count); break;
-                case "9" :
-                    count = cameraDataVo.getKjBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setKjBindCount(count); break;
-                case "10" :
-                    count = cameraDataVo.getSsBindCount() + dataGroupByCount.getCount();
-                    cameraDataVo.setSsBindCount(count); break;
-                default: break;
-            }
-        }
-        return cameraDataVo;
-    }
 
     @Override
-    public List<DataGroupByCount> userData(Integer type) {
+    public List<DataGroupByCount> userTrend(Integer type) {
         List<DataGroupByCount> result = new ArrayList<>();
         switch (type){
-            case 0 : return  dataMapper.userDataGroupBy(dayFormat);
-            case 1 : return  dataMapper.userDataGroupBy(mouthFormat);
-            case 2 : return  dataMapper.userDataGroupBy(yearFormat);
+            case 0 : return  dataMapper.userDataGroupBy("t_user",dayFormat);
+            case 1 : return  dataMapper.userDataGroupByWeek("t_user");
+            case 2 : return  dataMapper.userDataGroupBy("t_user",mouthFormat);
         }
         return result;
     }
 
     @Override
-    public List<OrderDataGroupByCount>  incrementData(Integer type) {
-        List<OrderDataGroupByCount> result = new ArrayList<>();
+    public HashMap<String, List<DataGroupByCount>> orderTrend(Integer type) {
+        HashMap<String,List<DataGroupByCount>> map = new HashMap<>();
+        List<DataGroupByCount> incrementOrderList = new ArrayList<>();
+        List<DataGroupByCount> downOrderList = new ArrayList<>();
+        List<DataGroupByCount> partOrderList = new ArrayList<>();
         switch (type){
-            case 0 : return  dataMapper.incrementDataGroupBy(dayFormat);
-            case 1 : return  dataMapper.incrementDataGroupBy(mouthFormat);
-            case 2 : return  dataMapper.incrementDataGroupBy(yearFormat);
+            case 0 :
+                incrementOrderList = dataMapper.userDataGroupBy("t_increment_order",dayFormat);
+                downOrderList = dataMapper.userDataGroupBy("t_download_order",dayFormat);
+                break;
+            case 1 :
+                incrementOrderList = dataMapper.userDataGroupByWeek("t_increment_order");
+                downOrderList = dataMapper.userDataGroupByWeek("t_download_order");
+                break;
+            case 2 :
+                incrementOrderList = dataMapper.userDataGroupBy("t_increment_order",mouthFormat);
+                downOrderList = dataMapper.userDataGroupBy("t_download_order",mouthFormat);
+                break;
         }
-        return result;
+        map.put("incrementOrder",incrementOrderList);
+        map.put("downOrder",downOrderList);
+        map.put("partOrder",partOrderList);
+        return map;
     }
 
     @Override
-    public List<OrderDataGroupByCount> downData(Integer type) {
-        List<OrderDataGroupByCount> result = new ArrayList<>();
+    public HashMap<String, List<DataGroupByCount>> sceneTrend(Integer type) {
+        HashMap<String,List<DataGroupByCount>> map = new HashMap<>();
+        List<DataGroupByCount> kkList = new ArrayList<>();
+        List<DataGroupByCount> kjList = new ArrayList<>();
+        List<DataGroupByCount> ssList = new ArrayList<>();
+        List<DataGroupByCount> ssobjList = new ArrayList<>();
+        List<DataGroupByCount> allList = new ArrayList<>();
         switch (type){
-            case 0 : return  dataMapper.downDataGroupBy(dayFormat);
-            case 1 : return  dataMapper.downDataGroupBy(mouthFormat);
-            case 2 : return  dataMapper.downDataGroupBy(yearFormat);
+            case 0 :
+                allList = dataMapper.sceneGroupBy("t_scene_pro",dayFormat);
+                break;
+            case 1 :
+                allList = dataMapper.sceneGroupBy("t_scene_pro",dayFormat);
+                break;
+            case 2 :
+                allList = dataMapper.sceneGroupBy("t_scene_pro",mouthFormat);
+                break;
         }
-        return result;
-    }
+        for (DataGroupByCount dataGroupByCount : allList) {
+            if(dataGroupByCount.getGroupKey2().equals("3")){    //看见
+                kjList.add(dataGroupByCount);
+            }
+            if(dataGroupByCount.getGroupKey2().equals("4")){    //深时
+                ssList.add(dataGroupByCount);
+            }
+            if(Arrays.asList("1","2","12","13","14").contains(dataGroupByCount.getGroupKey2())){    //看看
+                kkList.add(dataGroupByCount);
+            }
 
-    @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;
+        map.put("kkList",kkList);
+        map.put("kjList",kjList);
+        map.put("ssList",ssList);
+        map.put("ssobjList",ssobjList);
+        return map;
     }
 }

+ 1 - 0
src/main/java/com/fdkankan/manage/vo/response/DataGroupByCount.java

@@ -6,4 +6,5 @@ import lombok.Data;
 public class DataGroupByCount {
     private String groupKey;
     private Long count;
+    private String groupKey2;
 }

+ 2 - 2
src/main/resources/bootstrap-test.yml

@@ -4,9 +4,9 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 120.24.144.164:8848
+        server-addr: 172.20.1.63:8848
         file-extension: yaml
-        namespace: 4dkankan-test
+        namespace: 4dkankan-v4-test
         extension-configs:
           - data-id: 4dkankan-center-manage.yaml
             group: DEFAULT_GROUP

+ 1 - 1
src/main/resources/logback-spring.xml

@@ -7,7 +7,7 @@
 
 	<contextName>logback</contextName>
 	<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
-	<property name="log.path" value="/home/logs/manage" />
+	<property name="log.path" value="/home/backend/4dkankan_v4/manage/logs" />
 
 	<!-- 彩色日志 -->
 	<!-- 彩色日志依赖的渲染类 -->

+ 34 - 35
src/main/resources/mapper/manage/DataMapper.xml

@@ -2,39 +2,20 @@
 <!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="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>
-
-    <select id="cameraDataBindGroupByType" 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 NOT NUll GROUP BY type
-    </select>
-
     <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="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="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 DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count FROM ${tb} WHERE rec_status = 'A'
+           and create_time between date_sub(now(),interval 6 month) and now()
+        <include refid="tbWhereSql"></include>
+        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="userDataGroupByWeek" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
+        SELECT groupKey ,count(1) as count FROM (
+               select date_format(date_add(create_time,interval-(weekday(create_time ))day),'%Y-%m-%d')  as groupKey
+                from ${tb}
+               WHERE rec_status = 'A'and create_time between date_sub(now(),interval 6 month) and now()
+                <include refid="tbWhereSql"></include>
+         ) as tb GROUP BY groupKey
     </select>
 
 
@@ -46,24 +27,42 @@
             and pay_status = 1
         </if>
     </sql>
+    <sql id="tbWhereSql">
+        <if test="tb == 't_increment_order' || tb == 't_download_order'">
+            and pay_status = 1
+        </if>
+    </sql>
+
     <select id="totalUserCount" resultType="java.lang.Long">
-        select  count(id) from ${tb} where 1=1
+        select  count(id) from ${tb} where rec_status = 'A'
         <include refid="typeSQL"></include>
     </select>
 
     <select id="preMonthAddCount" resultType="java.lang.Long">
-        SELECT count(id) FROM ${tb} WHERE
-                date_format(create_time, '%Y %m') = date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y %m')
+        SELECT count(id) FROM ${tb}
+        WHERE rec_status = 'A' and date_format(create_time, '%Y %m') = date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y %m')
         <include refid="typeSQL"></include>
     </select>
 
     <select id="todayAddCount" resultType="java.lang.Long">
-        SELECT count(id) FROM ${tb} WHERE DATEDIFF(create_time,NOW())=0
+        SELECT count(id) FROM ${tb}
+        WHERE rec_status = 'A' and DATEDIFF(create_time,NOW())=0
         <include refid="typeSQL"></include>
     </select>
 
     <select id="todayActiveCount" resultType="java.lang.Long">
-        SELECT count(distinct user_name) FROM t_login_log WHERE DATEDIFF(create_time,NOW())=0
+        SELECT count(distinct user_name) FROM t_login_log
+        WHERE rec_status = 'A' and DATEDIFF(create_time,NOW())=0
+    </select>
+    <select id="sceneGroupBy" resultType="com.fdkankan.manage.vo.response.DataGroupByCount">
+        SELECT DATE_FORMAT(create_time,#{dateFormat}) AS groupKey, count(id) AS count ,scene_source as groupKey2
+        FROM ${tb}
+        WHERE rec_status = 'A'
+          <if test="tb == 't_scene_pro'">
+              AND is_upgrade = 0
+          </if>
+          and create_time between date_sub(now(),interval 6 month) and now()
+        GROUP BY groupKey ,scene_source
     </select>