fix: export table file
This commit is contained in:
@@ -58,29 +58,36 @@ func (s *BarProcessor) Execute(data any) (any, error) {
|
||||
}
|
||||
//duration = params.Duration
|
||||
|
||||
// 查询数据
|
||||
var unitNum int = 0
|
||||
now := time.Now()
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location())
|
||||
start := end.Add(-time.Duration(params.Duration) * time.Hour)
|
||||
|
||||
var startTime, endTime int64
|
||||
switch params.TimeUnit {
|
||||
case "second":
|
||||
unitNum = 1
|
||||
// 格式化时间戳为秒级
|
||||
startTime = start.Unix()
|
||||
endTime = end.Unix()
|
||||
case "milli":
|
||||
unitNum = 1000
|
||||
// 格式化时间戳为毫秒级
|
||||
startTime = start.UnixMilli()
|
||||
endTime = end.UnixMilli()
|
||||
case "micro":
|
||||
unitNum = 1000000
|
||||
// 格式化时间戳为微妙级
|
||||
startTime = start.UnixMicro()
|
||||
endTime = end.UnixMicro()
|
||||
default:
|
||||
return nil, fmt.Errorf("error input parameter")
|
||||
}
|
||||
var query string
|
||||
if params.Extras != "" {
|
||||
query = fmt.Sprintf("SELECT %s FROM `%s` WHERE `%s` >= UNIX_TIMESTAMP(NOW() - INTERVAL 2*%d HOUR) * %d AND `%s` < UNIX_TIMESTAMP(NOW() - INTERVAL %d HOUR) * %d AND %s",
|
||||
params.Columns, params.TableName, params.TimeCol, params.Duration, unitNum, params.TimeCol, params.Duration, unitNum, params.Extras)
|
||||
query = fmt.Sprintf("SELECT %s FROM `%s` WHERE `%s` >= %d AND `%s` < %d AND %s",
|
||||
params.Columns, params.TableName, params.TimeCol, startTime, params.TimeCol, endTime, params.Extras)
|
||||
} else {
|
||||
query = fmt.Sprintf("SELECT %s FROM `%s` WHERE `%s` >= UNIX_TIMESTAMP(NOW() - INTERVAL 2*%d HOUR) * %d AND `%s` < UNIX_TIMESTAMP(NOW() - INTERVAL %d HOUR) * %d",
|
||||
params.Columns, params.TableName, params.TimeCol, params.Duration, unitNum, params.TimeCol, params.Duration, unitNum)
|
||||
query = fmt.Sprintf("SELECT %s FROM `%s` WHERE `%s` >= %d AND `%s` < %d",
|
||||
params.Columns, params.TableName, params.TimeCol, startTime, params.TimeCol, endTime)
|
||||
}
|
||||
|
||||
//log.Trace("query:", query)
|
||||
//filePath := fmt.Sprintf("%s/%s_export_%s.csv", params.FilePath, params.TableName, time.Now().Format("20060102150405"))
|
||||
log.Trace("query:", query)
|
||||
filePath := fmt.Sprintf("%s/%s_export_%s.csv", params.FilePath, params.TableName, time.Now().Format("20060102150405"))
|
||||
affected, err := s.exportData(query, filePath)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user