v3
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user