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