chore: import clean Agent Desk snapshot (1/7)

This commit is contained in:
2026-10-16 11:55:22 +00:00
parent 24f6423407
commit 79176541c7
323 changed files with 34882 additions and 2 deletions

56
cmd/testdata/quickreply/init.go vendored Normal file
View File

@@ -0,0 +1,56 @@
package quickreply
import (
"agent-desk/cmd/testdata/seedlang"
"agent-desk/cmd/testdata/seeds"
"agent-desk/internal/models"
"agent-desk/internal/repositories"
"time"
"github.com/mlogclub/simple/sqls"
)
func Init(lang seedlang.Language) error {
seed := seeds.QuickReplySeeds(lang)
return sqls.WithTransaction(func(ctx *sqls.TxContext) error {
now := time.Now()
for _, row := range seed {
existing := repositories.QuickReplyRepository.Get(ctx.Tx, row.ID)
if existing == nil {
item := &models.QuickReply{
ID: row.ID,
GroupName: row.GroupName,
Title: row.Title,
Content: row.Content,
Status: row.Status,
SortNo: row.SortNo,
AuditFields: models.AuditFields{
CreatedAt: now,
CreateUserID: 0,
CreateUserName: "system",
UpdatedAt: now,
UpdateUserID: 0,
UpdateUserName: "system",
},
}
if err := repositories.QuickReplyRepository.Create(ctx.Tx, item); err != nil {
return err
}
continue
}
if err := repositories.QuickReplyRepository.Updates(ctx.Tx, row.ID, map[string]any{
"group_name": row.GroupName,
"title": row.Title,
"content": row.Content,
"status": row.Status,
"sort_no": row.SortNo,
"updated_at": now,
"update_user_id": 0,
"update_user_name": "system",
}); err != nil {
return err
}
}
return nil
})
}

29
cmd/testdata/quickreply/init_test.go vendored Normal file
View File

@@ -0,0 +1,29 @@
package quickreply
import (
"agent-desk/cmd/testdata/seedlang"
"agent-desk/cmd/testdata/seeds"
"regexp"
"testing"
)
var hanTextPattern = regexp.MustCompile(`\p{Han}`)
func TestEnglishSeedItemsMatchChineseCount(t *testing.T) {
englishItems := seeds.QuickReplySeeds(seedlang.English)
chineseItems := seeds.QuickReplySeeds(seedlang.Chinese)
if len(englishItems) != len(chineseItems) {
t.Fatalf("english seed count = %d, want %d", len(englishItems), len(chineseItems))
}
}
func TestEnglishSeedItemsDoNotContainChineseText(t *testing.T) {
for _, item := range seeds.QuickReplySeeds(seedlang.English) {
for _, value := range []string{item.GroupName, item.Title, item.Content} {
if hanTextPattern.MatchString(value) {
t.Fatalf("english quick reply %d contains Chinese text: %q", item.ID, value)
}
}
}
}