l-export-async/export_async_test.go

88 lines
2.3 KiB
Go

package l_export_async
import (
"context"
"finance/internal/data"
"finance/internal/initialize"
"finance/internal/pkg"
"finance/internal/pkg/helper/attachment"
log2 "finance/internal/pkg/log"
"fmt"
"os"
"strings"
"testing"
"time"
attachmentsdk "codeup.aliyun.com/5f9118049cffa29cfdd3be1c/attachment-sdk"
)
func Test_Merge(t *testing.T) {
path := "/tmp/f63b2047-dd7b-11f0-b1a8-00155d5ef0f92960656377/csv/"
outputDir := "/tmp/f63b2047-dd7b-11f0-b1a8-00155d5ef0f92960656377/xlsx/aaa.xlsx"
csvFiles, err := listFiles(path)
if err != nil {
panic(err)
}
m := NewMerge(
Reader{Files: csvFiles, Index: len(csvFiles) - 1},
Writer{File: outputDir, Limit: 30000, BufferSize: 3000},
NewLogPrint(nil),
)
err = m.Merge()
t.Log(err)
}
func Test_Tsk(t *testing.T) {
taskId := "38089ced-dfde-11f0-a860-00155d5ef0f9"
t.Log(NewTask(NewRedisTaskStore(dat().Rdb)).GetTaskInfo(context.Background(), taskId))
}
func Test_Upload(t *testing.T) {
task_id := "c0abe2b3-dede-11f0-9178-00155d5ef0f92369485728"
filename := "供应商结算交易流水20251222100502"
file := "/tmp/" + task_id + "/zip/" + filename + ".zip"
//file := "/tmp/a03f82a8-deda-11f0-9c0b-00155d5ef0f9796292421/zip/供应商结算交易流水20251222100502.zip"
host := "http://192.168.6.194:8004"
sys := "crmApi"
business := "download"
fieldFormName := "file"
resp, err := attachment.Upload(host, file, sys, business, fieldFormName)
if err != nil {
t.Log(err)
}
url := attachmentsdk.GeneratePreviewPrivateUrl(host, "", resp.Url, "", strings.TrimSuffix("供应商结算交易流水20251222100502", ".zip"), time.Now().Unix()+300)
t.Log(url, err)
}
var (
Name = "test"
Version string
id, _ = os.Hostname()
)
func listFiles(dirPath string) ([]string, error) {
entries, err := os.ReadDir(dirPath)
if err != nil {
return nil, fmt.Errorf("failed to read directory: %w", err)
}
var files []string
for _, entry := range entries {
if !entry.IsDir() { // 只添加文件(排除子目录)
files = append(files, dirPath+entry.Name())
}
}
return files, nil
}
func dat() *data.Data {
bootstrap := initialize.LoadConfigWithTest()
businessLogger := log2.NewBusinessLogger(bootstrap.Logs, id, Name, Version)
helper := pkg.NewLogHelper(businessLogger, bootstrap)
dataData, _, _ := data.NewData(bootstrap, helper)
return dataData
}