Optimize yao.table.Export

This commit is contained in:
Max 2023-05-18 13:50:13 +08:00
parent 75ba3e532d
commit 760cdb50d7
2 changed files with 10 additions and 5 deletions

View file

@ -1,8 +1,6 @@
package table package table
import ( import (
"crypto/md5"
"encoding/hex"
"fmt" "fmt"
"net/url" "net/url"
"os" "os"
@ -10,6 +8,7 @@ import (
"strings" "strings"
"time" "time"
"github.com/google/uuid"
"github.com/yaoapp/gou/fs" "github.com/yaoapp/gou/fs"
"github.com/yaoapp/gou/model" "github.com/yaoapp/gou/model"
gouProcess "github.com/yaoapp/gou/process" gouProcess "github.com/yaoapp/gou/process"
@ -252,11 +251,10 @@ func processExport(process *gouProcess.Process) interface{} {
tab := MustGet(process) // 0 tab := MustGet(process) // 0
params := process.ArgsQueryParams(1, types.QueryParam{}) params := process.ArgsQueryParams(1, types.QueryParam{})
pagesize := process.ArgsInt(2, 50) pagesize := process.ArgsInt(2, 50)
log.Trace("[table] export %s %v %d", tab.ID, params, pagesize)
// Filename // Filename
hash := md5.Sum([]byte(time.Now().Format("20060102-15:04:05"))) fingerprint := uuid.NewString()
fingerprint := string(hex.EncodeToString(hash[:]))
fingerprint = strings.ToUpper(fingerprint)
dir := time.Now().Format("20060102") dir := time.Now().Format("20060102")
filename := filepath.Join(string(os.PathSeparator), dir, fmt.Sprintf("%s.xlsx", fingerprint)) filename := filepath.Join(string(os.PathSeparator), dir, fmt.Sprintf("%s.xlsx", fingerprint))

View file

@ -569,6 +569,13 @@ func TestProcessExport(t *testing.T) {
fs := fs.MustGet("system") fs := fs.MustGet("system")
size, _ := fs.Size(response.(string)) size, _ := fs.Size(response.(string))
assert.Greater(t, size, 1000) assert.Greater(t, size, 1000)
// Export all data
args = []interface{}{"pet", nil, 2}
response = process.New("yao.table.Export", args...).Run()
assert.NotNil(t, response)
size, _ = fs.Size(response.(string))
assert.Greater(t, size, 1000)
} }
func load(t *testing.T) { func load(t *testing.T) {