From 2e34bf9bb6783c8add0d551fc4af5cb2a10d092c Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Mon, 20 Mar 2023 14:23:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E9=87=8F=E6=8A=A5=E8=A1=A8=E5=85=BC?= =?UTF-8?q?=E5=AE=B9sqlite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../neutrino/proxy/server/dal/ReportMapper.java | 13 ++++++------- .../proxy/server/service/ReportService.java | 11 +++++++++-- .../src/main/resources/mapper/ReportMapper.xml | 16 ++++++++-------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/dal/ReportMapper.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/dal/ReportMapper.java index a50a5f39..a134028c 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/dal/ReportMapper.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/dal/ReportMapper.java @@ -7,6 +7,7 @@ import fun.asgc.neutrino.proxy.server.controller.res.UserFlowReportRes; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -15,18 +16,16 @@ import java.util.List; */ @Mapper public interface ReportMapper { - /** * 基于用户维度的流量报表 - * @param req + * @param userId * @return */ - List userFlowReportList(@Param("req") UserFlowReportReq req); - + List userFlowReportList(@Param("userId") Integer userId, @Param("curMonthBeginDate") Date curMonthBeginDate, @Param("curDayBeginDate") Date curDayBeginDate, @Param("curDate") Date curDate); /** - * 基于license维度的流量报表 - * @param req + * 基于用户维度的流量报表 + * @param userId * @return */ - List licenseFLowReportList(@Param("req")LicenseFlowReportReq req); + List licenseFLowReportList(@Param("userId") Integer userId, @Param("curMonthBeginDate") Date curMonthBeginDate, @Param("curDayBeginDate") Date curDayBeginDate, @Param("curDate") Date curDate); } diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/ReportService.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/ReportService.java index 0df8e679..c126ed78 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/ReportService.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/ReportService.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; +import fun.asgc.neutrino.proxy.core.util.DateUtil; +import fun.asgc.neutrino.proxy.server.base.db.DbConfig; import fun.asgc.neutrino.proxy.server.base.page.PageInfo; import fun.asgc.neutrino.proxy.server.base.page.PageQuery; import fun.asgc.neutrino.proxy.server.controller.req.LicenseFlowReportReq; @@ -19,6 +21,7 @@ import org.apache.ibatis.solon.annotation.Db; import org.noear.solon.annotation.Component; import org.noear.solon.annotation.Inject; +import java.util.Date; import java.util.List; /** @@ -32,6 +35,8 @@ public class ReportService { private MapperFacade mapperFacade; @Db private ReportMapper reportMapper; + @Inject + private DbConfig dbConfig; /** * 用户流量报表分页 @@ -41,7 +46,8 @@ public class ReportService { */ public PageInfo userFlowReportPage(PageQuery pageQuery, UserFlowReportReq req) { Page result = PageHelper.startPage(pageQuery.getCurrent(), pageQuery.getSize()); - List list = reportMapper.userFlowReportList(req); + Date now = new Date(); + List list = reportMapper.userFlowReportList(req.getUserId(), DateUtil.getMonthBegin(now), DateUtil.getDayBegin(now), now); fillUserFlowReport(list); return PageInfo.of(list, result.getTotal(), pageQuery.getCurrent(), pageQuery.getSize()); } @@ -54,7 +60,8 @@ public class ReportService { */ public PageInfo licenseFlowReportPage(PageQuery pageQuery, LicenseFlowReportReq req) { Page result = PageHelper.startPage(pageQuery.getCurrent(), pageQuery.getSize()); - List list = reportMapper.licenseFLowReportList(req); + Date now = new Date(); + List list = reportMapper.licenseFLowReportList(req.getUserId(), DateUtil.getMonthBegin(now), DateUtil.getDayBegin(now), now); fillLicenseFlowReport(list); return PageInfo.of(list, result.getTotal(), pageQuery.getCurrent(), pageQuery.getSize()); } diff --git a/neutrino-proxy-server/src/main/resources/mapper/ReportMapper.xml b/neutrino-proxy-server/src/main/resources/mapper/ReportMapper.xml index 1a706643..b325e230 100644 --- a/neutrino-proxy-server/src/main/resources/mapper/ReportMapper.xml +++ b/neutrino-proxy-server/src/main/resources/mapper/ReportMapper.xml @@ -17,14 +17,14 @@ FROM `user` u LEFT JOIN (SELECT user_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_month GROUP BY user_id) frm ON u.id = frm.user_id LEFT JOIN (SELECT user_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_day - WHERE date >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', '01'), '%Y-%m-%d') AND date <= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', day(CURDATE())), '%Y-%m-%d') + WHERE date >= #{curMonthBeginDate} AND date <= #{curDayBeginDate} GROUP BY user_id) frd ON u.id = frd.user_id LEFT JOIN (SELECT user_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_minute - WHERE date >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', day(CURDATE())), '%Y-%m-%d') AND date <= STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-',MONTH(CURDATE()),'-',DAY(CURDATE()), ' ',HOUR(CURTIME()),':',MINUTE(CURTIME())), "%Y-%m-%d %H:%i") + WHERE date >= #{curDayBeginDate} AND date <= #{curDate} GROUP BY user_id) frm2 ON u.id = frm2.user_id - - AND u.id = #{req.userId} + + AND u.id = #{userId} GROUP BY u.id @@ -48,14 +48,14 @@ LEFT JOIN `user` u ON l.user_id = u.id LEFT JOIN (SELECT license_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_month GROUP BY license_id) frm ON l.id = frm.license_id LEFT JOIN (SELECT license_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_day - WHERE date >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', '01'), '%Y-%m-%d') AND date <= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', day(CURDATE())), '%Y-%m-%d') + WHERE date >= #{curMonthBeginDate} AND #{curDayBeginDate} GROUP BY license_id) frd ON l.id = frd.license_id LEFT JOIN (SELECT license_id,sum(write_bytes) write_bytes,sum(read_bytes) read_bytes from flow_report_minute - WHERE date >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', month(CURDATE()), '-', day(CURDATE())), '%Y-%m-%d') AND date <= STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-',MONTH(CURDATE()),'-',DAY(CURDATE()), ' ',HOUR(CURTIME()),':',MINUTE(CURTIME())), "%Y-%m-%d %H:%i") + WHERE date >= #{curDayBeginDate} AND date <= #{curDate} GROUP BY license_id)frm2 ON l.id = frm2.license_id - - AND u.id = #{req.userId} + + AND u.id = #{userId} GROUP BY l.id