From b76bbb6e0908fd9b7aa9c2fe17fa16b974882c99 Mon Sep 17 00:00:00 2001 From: engigu Date: Fri, 26 Jan 2024 10:14:07 +0800 Subject: [PATCH] fix: fixed data statistic datetime to CST --- models/send_tasks_logs.go | 5 +++-- pkg/constant/release_log.go | 2 +- pkg/util/time.go | 8 ++++++++ web/src/util/commonUtils.js | 26 ++++++++++++++++---------- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/models/send_tasks_logs.go b/models/send_tasks_logs.go index 3eba19e..94347b4 100644 --- a/models/send_tasks_logs.go +++ b/models/send_tasks_logs.go @@ -147,6 +147,7 @@ func GetStatisticData() (StatisticData, error) { logt := db.NewScope(SendTasksLogs{}).TableName() inst := db.NewScope(SendTasksIns{}).TableName() wayst := db.NewScope(SendWays{}).TableName() + currDay := util.GetNowTimeStr()[:10] // 今日统计数据 query := db. @@ -155,7 +156,7 @@ func GetStatisticData() (StatisticData, error) { COUNT(*) AS today_total_num, SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS today_succ_num, SUM(CASE WHEN status != 1 or status is null THEN 1 ELSE 0 END) AS today_failed_num`). - Where("DATE(created_on) = CURDATE()") + Where("DATE(created_on) = ?", currDay) query.First(&statistic) // 最近30天数据 @@ -167,7 +168,7 @@ SUM(CASE WHEN status != 1 or status is null THEN 1 ELSE 0 END) AS today_failed_n SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS day_succ_num, SUM(CASE WHEN status != 1 or status is null THEN 1 ELSE 0 END) AS day_failed_num, COUNT(*) AS num`). - Where(" created_on >= CURDATE() - INTERVAL ? DAY", days). + Where(" created_on >= DATE(?) - INTERVAL ? DAY", currDay, days). Group("DATE(created_on)"). Order("created_on") queryData.Scan(&latestData) diff --git a/pkg/constant/release_log.go b/pkg/constant/release_log.go index 4b25058..5e48af0 100644 --- a/pkg/constant/release_log.go +++ b/pkg/constant/release_log.go @@ -75,7 +75,7 @@ var LatestVersion = map[string]string{} //13. 支持更多的api接入示例 //` -var LatestVersionS = "v0.0.9" +var LatestVersionS = "v0.1.0" var LatestVersionDesc = ` 1. 单应用打包 2. 支持邮件发送 diff --git a/pkg/util/time.go b/pkg/util/time.go index 11fe6fe..d1235a7 100644 --- a/pkg/util/time.go +++ b/pkg/util/time.go @@ -53,3 +53,11 @@ func (t *Time) Scan(v interface{}) error { } return fmt.Errorf("can not convert %v to timestamp", v) } + +// GetNowTimeStr 获取当前的时间字符串 +func GetNowTimeStr() string { + currentTimeUTC := time.Now().UTC() + chinaTime := currentTimeUTC.Add(8 * time.Hour) + formattedTime := chinaTime.Format("2006-01-02 15:04:05") + return formattedTime +} diff --git a/web/src/util/commonUtils.js b/web/src/util/commonUtils.js index 44b0330..aa349a0 100644 --- a/web/src/util/commonUtils.js +++ b/web/src/util/commonUtils.js @@ -20,17 +20,23 @@ class CommonUtils { static formatWayName = (type) => { return CONSTANT.WAYS_DATA_MAP[type].label; } - + + // 获取东八区时间字符串 static getCurrentTimeStr = () => { - const currentDate = new Date(); - const year = currentDate.getFullYear(); - const month = String(currentDate.getMonth() + 1).padStart(2, '0'); - const day = String(currentDate.getDate()).padStart(2, '0'); - const hours = String(currentDate.getHours()).padStart(2, '0'); - const minutes = String(currentDate.getMinutes()).padStart(2, '0'); - const seconds = String(currentDate.getSeconds()).padStart(2, '0'); - const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; - return formattedDate; + let time = new Date(); + const timezoneOffset = 8; + const utc = time.getTime() + time.getTimezoneOffset() * 60000; + const chinaDate = new Date(utc + timezoneOffset * 60 * 60 * 1000); + + const year = chinaDate.getFullYear(); + const month = String(chinaDate.getMonth() + 1).padStart(2, '0'); + const day = String(chinaDate.getDate()).padStart(2, '0'); + const hour = String(chinaDate.getHours()).padStart(2, '0'); + const minute = String(chinaDate.getMinutes()).padStart(2, '0'); + const second = String(chinaDate.getSeconds()).padStart(2, '0'); + + const formattedDateTime = `${year}-${month}-${day} ${hour}:${minute}:${second}`; + return formattedDateTime; } }