Quellcode durchsuchen

用户总览,场景总览,订单总览

lyhzzz vor 2 Jahren
Ursprung
Commit
a0284ad4a7

+ 24 - 0
src/main/java/com/fdkankan/manage/controller/DataController.java

@@ -22,6 +22,30 @@ public class DataController {
     ISysRoleService sysRoleService;
 
     /**
+     * 用户数据总览
+     */
+    @GetMapping("/userTotal")
+    public ResultData userTotal(){
+        return ResultData.ok(dataService.getUserTotal());
+    }
+
+    /**
+     * 场景数据总览
+     */
+    @GetMapping("/sceneTotal")
+    public ResultData sceneTotal(){
+        return ResultData.ok(dataService.sceneTotal());
+    }
+    /**
+     * 订单数据总览
+     */
+    @GetMapping("/orderTotal")
+    public ResultData orderTotal(){
+        return ResultData.ok(dataService.orderTotal());
+    }
+
+
+    /**
      *统计新增用户数
      * @param type  0:日 ,1:月,2:年
      */

+ 8 - 0
src/main/java/com/fdkankan/manage/mapper/IDataMapper.java

@@ -22,4 +22,12 @@ public interface IDataMapper {
     List<OrderDataGroupByCount> downDataGroupBy(@Param("dateFormat")String dateFormat);
 
     List<SceneDataGroupByCount> sceneNumDataGroupBy(@Param("dateFormat")String dateFormat, @Param("type") Integer type);
+
+    Long totalUserCount(@Param("tb") String tb,@Param("type")Integer type);
+
+    Long preMonthAddCount(@Param("tb") String tb,@Param("type")Integer type);
+
+    Long todayAddCount(@Param("tb") String tb,@Param("type")Integer type);
+
+    Long todayActiveCount();
 }

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

@@ -1,9 +1,6 @@
 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 com.fdkankan.manage.vo.response.*;
 
 import java.util.List;
 
@@ -18,4 +15,10 @@ public interface IDataService {
     List<OrderDataGroupByCount>  downData(Integer type);
 
     List<SceneDataGroupByCount> sceneNum(Integer type, Integer cameraType);
+
+    UserTotalVo getUserTotal();
+
+    SceneTotalVo sceneTotal();
+
+    OrderTotalVo orderTotal();
 }

+ 44 - 4
src/main/java/com/fdkankan/manage/service/impl/DataService.java

@@ -2,10 +2,9 @@ package com.fdkankan.manage.service.impl;
 
 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 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;
@@ -23,6 +22,47 @@ public class DataService implements IDataService {
     IDataMapper dataMapper;
 
     @Override
+    public UserTotalVo getUserTotal() {
+        UserTotalVo totalVo = new UserTotalVo();
+        Long totalUserCount = dataMapper.totalUserCount("t_user",1);
+        Long preMonthAddCount = dataMapper.preMonthAddCount("t_user",1);
+        Long todayAddCount = dataMapper.todayAddCount("t_user",1);
+        Long todayActiveCount = dataMapper.todayActiveCount();
+
+        totalVo.setTotalUserCount(totalUserCount);
+        totalVo.setPreMonthAddCount(preMonthAddCount);
+        totalVo.setTodayAddCount(todayAddCount);
+        totalVo.setTodayActiveCount(todayActiveCount);
+        return totalVo;
+    }
+
+    @Override
+    public SceneTotalVo sceneTotal() {
+        SceneTotalVo totalVo = new SceneTotalVo();
+        Long totalSceneCount = dataMapper.totalUserCount("t_scene_pro",0) + dataMapper.totalUserCount("t_scene_plus",1);
+        Long preMonthAddCount = dataMapper.preMonthAddCount("t_scene_pro",0) + dataMapper.preMonthAddCount("t_scene_plus",1);
+        Long todayAddCount = dataMapper.todayAddCount("t_scene_pro",0) + dataMapper.todayAddCount("t_scene_plus",1);
+
+        totalVo.setTotalSceneCount(totalSceneCount);
+        totalVo.setPreMonthAddCount(preMonthAddCount);
+        totalVo.setTodayAddCount(todayAddCount);
+        return totalVo;
+    }
+
+    @Override
+    public OrderTotalVo orderTotal() {
+        Long preMonthPowCount = dataMapper.preMonthAddCount("t_increment_order",2);
+        Long preMonthDownCount = dataMapper.preMonthAddCount("t_download_order",2);
+       // Long preMonthPartCount = dataMapper.preMonthAddCount("t_increment_order",1);
+        OrderTotalVo totalVo = new OrderTotalVo();
+        totalVo.setPreMonThPowCount(preMonthPowCount);
+        totalVo.setPreMonThDownCount(preMonthDownCount);
+        totalVo.setPreMonThPartCount(0L);
+
+        return totalVo;
+    }
+
+    @Override
     public CameraDataVo cameraData() {
         CameraDataVo cameraDataVo = new CameraDataVo();
         // 0KK 1KK 2KK 9KJ 10SS

+ 11 - 0
src/main/java/com/fdkankan/manage/vo/response/OrderTotalVo.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class OrderTotalVo {
+
+    private Long preMonThPowCount;          //上个月权益订单数
+    private Long preMonThDownCount;         //上个月下载订单数
+    private Long preMonThPartCount;         //上个月配件订单数
+}

+ 10 - 0
src/main/java/com/fdkankan/manage/vo/response/SceneTotalVo.java

@@ -0,0 +1,10 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class SceneTotalVo {
+    private Long totalSceneCount = 0L;         //累计场景数量数
+    private Long preMonthAddCount = 0L;       //上月新增用户
+    private Long todayAddCount = 0L;          //今日新增用户
+}

+ 11 - 0
src/main/java/com/fdkankan/manage/vo/response/UserTotalVo.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class UserTotalVo {
+    private Long totalUserCount = 0L;         //累计用户数
+    private Long preMonthAddCount = 0L;       //上月新增用户
+    private Long todayAddCount = 0L;          //今日新增用户
+    private Long todayActiveCount = 0L;       //今日活跃用户
+}

+ 5 - 1
src/main/resources/bootstrap.yml

@@ -2,4 +2,8 @@ spring:
   profiles:
     active: test
 
-
+logging:
+  config: classpath:logback-spring.xml
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

+ 30 - 0
src/main/resources/mapper/manage/DataMapper.xml

@@ -37,4 +37,34 @@
 
     </select>
 
+
+    <sql id="type">
+        <if test="type == 1">
+            and is_upgrade = 0
+        </if>
+        <if test="type == 2">
+            and pay_status = 1
+        </if>
+    </sql>
+    <select id="totalUserCount" resultType="java.lang.Long">
+        select  count(id) from ${tb} where 1=1
+        <include refid="isUp"></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')
+        <include refid="isUp"></include>
+    </select>
+
+    <select id="todayAddCount" resultType="java.lang.Long">
+        SELECT count(id) FROM ${tb} WHERE DATEDIFF(create_time,NOW())=0
+        <include refid="isUp"></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>
+
+
 </mapper>