This commit is contained in:
2025-04-01 14:13:41 +08:00
parent d7183fcc00
commit 7857015405
97 changed files with 1917 additions and 6934 deletions

View File

@@ -10,7 +10,7 @@ import (
"management/internal/db/model/dto"
db "management/internal/db/sqlc"
"management/internal/erpserver/model/view"
"management/internal/global/keys"
"management/internal/pkg/know"
"management/internal/pkg/redis"
"management/internal/pkg/tpl/html"
)
@@ -25,6 +25,7 @@ type CategoryBiz interface {
RebuildParentPath(ctx context.Context) error
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, letter string) ([]*view.XmSelect, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, error)
@@ -45,7 +46,7 @@ func NewCategory(store db.Store, redis redis.IRedis) *categoryBiz {
}
func (b *categoryBiz) All(ctx context.Context) ([]*db.Category, error) {
key := keys.GetManageKey(ctx, keys.AllCategories)
key := know.GetManageKey(ctx, know.AllCategories)
bs, err := redis.GetBytes(ctx, key)
if err == nil {
var res []*db.Category
@@ -115,8 +116,8 @@ func (b *categoryBiz) Refresh(ctx context.Context) ([]*db.Category, error) {
return nil, err
}
redis.Del(ctx, keys.GetManageKey(ctx, keys.AllCategorySimple))
key := keys.GetManageKey(ctx, keys.AllCategories)
redis.Del(ctx, know.GetManageKey(ctx, know.AllCategorySimple))
key := know.GetManageKey(ctx, know.AllCategories)
err = redis.Set(ctx, key, bs, time.Hour*6)
return all, err
}
@@ -134,6 +135,36 @@ func (b *categoryBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, er
return b.toTree(id, all), nil
}
func (b *categoryBiz) XmSelect(ctx context.Context, letter string) ([]*view.XmSelect, error) {
all, err := b.All(ctx)
if err != nil || len(all) == 0 {
return nil, err
}
var current *db.Category
for _, v := range all {
if v.Letter == letter {
current = v
break
}
}
if current == nil {
return nil, errors.New("未找到当前类别")
}
var res []*view.XmSelect
for _, v := range all {
if v.ParentID == current.ID {
item := view.XmSelect{
Name: v.Name,
Value: strconv.FormatInt(int64(v.ID), 10),
}
res = append(res, &item)
}
}
return res, nil
}
func (b *categoryBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {