فهرست منبع

用户、容量

wuweihao 2 سال پیش
والد
کامیت
fc7cdbe8b5

+ 1 - 1
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/po/ReportPo.java

@@ -17,7 +17,7 @@ public class ReportPo {
     @ApiModelProperty(value = "时间粒度,day:日 | week:周 | month:月", required = true)
     private String timeType;
 
-    @ApiModelProperty(value = "统计维度类型: add:新增 | total:总数")
+    @ApiModelProperty(value = "统计维度类型: add:新增 | all:总数")
     private String infoType;
 
     /**

+ 3 - 1
720yun_fd_manage/gis_service/src/main/java/com/gis/service/ReportService.java

@@ -14,7 +14,9 @@ public interface ReportService extends IBaseService<ReportEntity, Long>{
 
 
 
-    Result trend(ReportPo po);
+    Result userTrend(ReportPo po);
+
+    Result volumeTrend(ReportPo po);
 
     Result reportWork();
 

+ 89 - 21
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/ReportServiceImpl.java

@@ -41,15 +41,81 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
 
 
     @Override
-    public Result trend(ReportPo po) {
+    public Result userTrend(ReportPo po) {
+        String startTime = po.getStartTime();
+        String endTime = po.getEndTime();
+        String timeType = po.getTimeType();
+
+        String sqlStr;
+        if ("day".equals(timeType)) {
+            sqlStr = userDayTrentSql(startTime, endTime);
+
+        } else if ("week".equals(timeType)) {
+            sqlStr = userWeekTrentSql(startTime, endTime);
+        } else {
+            sqlStr = userMonthTrentSql(startTime, endTime);
 
-        return Result.success(getTrent(po));
+        }
+
+        List<Map> res = entityMapper.listMapSql(sqlStr);
+
+        return Result.success(res);
 
     }
 
+    private String userMonthTrentSql(String startTime, String endTime) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(" select groupKey, total as count,type from (");
+        // 月累计相加
+        builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, sum(total) as total ,type from tb_report where is_delete=0");
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
+            builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
+        } else {
+            builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
+        }
+        builder.append(" and type='").append("user").append("'");
+        builder.append(" and info_type='").append("all").append("'");
 
-    private List<Map> getTrent(ReportPo po) {
+        builder.append(" group by groupKey ) as a  ");
+        builder.append(" order by groupKey desc");
+        return builder.toString();
+    }
 
+    private String userWeekTrentSql(String startTime, String endTime) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(" select groupKey, total as count,type from (");
+        // 周累计相加
+        builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, sum(total) as total," +
+                " type from tb_report where is_delete=0 ");
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
+            builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
+        } else {
+            builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 200 DAY)");
+        }
+        builder.append(" and type='").append("user").append("'");
+        builder.append(" and info_type='").append("all").append("'");
+
+        builder.append(" group by groupKey ) as a  ");
+        builder.append(" order by groupKey desc");
+        return builder.toString();
+    }
+
+    private String userDayTrentSql(String startTime, String endTime) {
+        StringBuilder builder = new StringBuilder();
+        builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, total as count, type from tb_report where is_delete=0 ");
+        if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
+            builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
+        } else {
+            builder.append(" and DATE(day)>=DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
+        }
+        builder.append(" and type='").append("user").append("'");
+        builder.append(" and info_type='").append("all").append("'");
+        builder.append(" order by day desc");
+        return builder.toString();
+    }
+
+    @Override
+    public Result volumeTrend(ReportPo po) {
         String startTime = po.getStartTime();
         String endTime = po.getEndTime();
         String timeType = po.getTimeType();
@@ -61,19 +127,24 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
 
         String sqlStr;
         if ("day".equals(timeType)) {
-            sqlStr = dayTrentSql(infoType, type, startTime, endTime);
+            sqlStr = volumeDayTrentSql(infoType, type, startTime, endTime);
 
         } else if ("week".equals(timeType)) {
-            sqlStr = weekTrentSql(infoType, type, startTime, endTime);
+            sqlStr = volumeWeekTrentSql(infoType, type, startTime, endTime);
         } else {
-            sqlStr = monthTrentSql(infoType, type, startTime, endTime);
+            sqlStr = volumeMonthTrentSql(infoType, type, startTime, endTime);
+
         }
 
+
         List<Map> res = entityMapper.listMapSql(sqlStr);
-        return res;
+
+        return Result.success(res);
+
     }
 
 
+    // 作品趋势
     private List<ReportVo> getWorkTrent(ReportPo po) {
         String startTime = po.getStartTime();
         String endTime = po.getEndTime();
@@ -86,20 +157,18 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
 
         String sqlStr;
         if ("day".equals(timeType)) {
-            sqlStr = dayWorkTrentSql(infoType, type, startTime, endTime);
-
+            sqlStr = workDayTrentSql(infoType, type, startTime, endTime);
         } else if ("week".equals(timeType)) {
-            sqlStr = weekWorkTrentSql(infoType, type, startTime, endTime);
+            sqlStr = workWeekTrentSql(infoType, type, startTime, endTime);
         } else {
-            sqlStr = monthWorkTrentSql(infoType, type, startTime, endTime);
+            sqlStr = workMonthTrentSql(infoType, type, startTime, endTime);
         }
 
-
         List<ReportVo> res = entityMapper.listReportVoSql(sqlStr);
         return res;
     }
 
-    private String dayTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String volumeDayTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, ROUND(total/1024, 2) as count,  type from tb_report where is_delete=0 ");
         if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
@@ -114,10 +183,10 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String weekTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String volumeWeekTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, total as count,type from (");
-        if ("add".equals(infoType)){
+        if ("add".equals(infoType)) {
             // 容量累计相加
             builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, ROUND(sum(total/1024),2) as total," +
                     " type from tb_report where is_delete=0 ");
@@ -128,7 +197,6 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         }
 
 
-
         if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
             builder.append(" and day between '").append(startTime).append("' and '").append(endTime).append("'");
         } else {
@@ -143,10 +211,10 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String monthTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String volumeMonthTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, total as count,type from (");
-        if ("add".equals(infoType)){
+        if ("add".equals(infoType)) {
             builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, ROUND(sum(total/1024),2) as total ,type from tb_report where is_delete=0");
         } else {
             builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, ROUND(avg(total/1024),2) as total ,type from tb_report where is_delete=0");
@@ -168,7 +236,7 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
     }
 
 
-    private String dayWorkTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String workDayTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append("select DATE_FORMAT( day, '%Y-%m-%d' ) as groupKey, mix, pano, age,  type from tb_report where is_delete=0 ");
         if (StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)) {
@@ -183,7 +251,7 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String weekWorkTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String workWeekTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, mix,age, pano,type from (");
         builder.append(" select DATE_FORMAT(DATE_ADD(day,INTERVAL- (WEEKDAY(day)) day),  '%Y-%m-%d' )  as groupKey, " +
@@ -201,7 +269,7 @@ public class ReportServiceImpl extends IBaseServiceImpl<ReportEntity, Long> impl
         return builder.toString();
     }
 
-    private String monthWorkTrentSql(String infoType, String type, String startTime, String endTime) {
+    private String workMonthTrentSql(String infoType, String type, String startTime, String endTime) {
         StringBuilder builder = new StringBuilder();
         builder.append(" select groupKey, mix,age, pano,type from (");
         builder.append(" select DATE_FORMAT(day, '%Y-%m')  as groupKey, mix,age, pano,type from tb_report where is_delete=0");

+ 3 - 2
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/AgeController.java

@@ -57,7 +57,8 @@ public class AgeController {
         ReportPo po = new ReportPo();
         BeanUtils.copyProperties(param, po);
         po.setPoType("user");
-        return reportService.trend(po);
+        po.setInfoType("all");
+        return reportService.userTrend(po);
     }
 
 
@@ -67,7 +68,7 @@ public class AgeController {
         ReportPo po = new ReportPo();
         BeanUtils.copyProperties(param, po);
         po.setPoType("volume");
-        return reportService.trend(po);
+        return reportService.volumeTrend(po);
     }
 
     @ApiOperation(value = "v1.3-报表-作品类型统计")