This commit is contained in:
2025-03-31 11:59:42 +08:00
parent 963e1e005e
commit 6fb06c456c
52 changed files with 2244 additions and 753 deletions

View File

@@ -11,7 +11,6 @@ import (
"management/internal/erpserver/model/view"
"management/internal/global/keys"
"management/internal/pkg/redis"
"management/internal/pkg/session"
)
type DepartmentBiz interface {
@@ -32,18 +31,16 @@ type DepartmentBiz interface {
type DepartmentExpansion interface{}
type departmentBiz struct {
store db.Store
redis redis.IRedis
session session.ISession
store db.Store
redis redis.IRedis
}
var _ DepartmentBiz = (*departmentBiz)(nil)
func NewDepartment(store db.Store, redis redis.IRedis, session session.ISession) *departmentBiz {
func NewDepartment(store db.Store, redis redis.IRedis) *departmentBiz {
return &departmentBiz{
store: store,
redis: redis,
session: session,
store: store,
redis: redis,
}
}
@@ -126,52 +123,36 @@ func (b *departmentBiz) Refresh(ctx context.Context) ([]*db.SysDepartment, error
return all, nil
}
func (h *departmentBiz) RebuildParentPath(ctx context.Context) error {
return h.store.SysDepartmentRebuildPath(ctx)
func (b *departmentBiz) RebuildParentPath(ctx context.Context) error {
return b.store.SysDepartmentRebuildPath(ctx)
}
func (h *departmentBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error) {
all, err := h.All(ctx)
func (b *departmentBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err
}
return toLayuiTree(id, all), nil
return b.toTree(id, all), nil
}
func (h *departmentBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := h.All(ctx)
func (b *departmentBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err
}
return toXmSelectTree(id, all), nil
return b.toXmSelectTree(id, all), nil
}
func toXmSelectTree(parentId int32, data []*db.SysDepartment) []*view.XmSelectTree {
var res []*view.XmSelectTree
for _, v := range data {
if v.ParentID == parentId {
item := view.XmSelectTree{
Name: v.Name,
Value: strconv.FormatInt(int64(v.ID), 10),
Children: toXmSelectTree(v.ID, data),
}
res = append(res, &item)
}
}
return res
}
func toLayuiTree(parentId int32, data []*db.SysDepartment) []*view.LayuiTree {
func (b *departmentBiz) toTree(parentId int32, data []*db.SysDepartment) []*view.LayuiTree {
var res []*view.LayuiTree
for _, v := range data {
if v.ParentID == parentId {
item := view.LayuiTree{}
item.ID = strconv.FormatInt(int64(v.ID), 10)
item.Title = v.Name
item.Children = toLayuiTree(v.ID, data)
item.Children = b.toTree(v.ID, data)
if v.ParentID == 0 {
item.Spread = true
}
@@ -181,3 +162,19 @@ func toLayuiTree(parentId int32, data []*db.SysDepartment) []*view.LayuiTree {
return res
}
func (b *departmentBiz) toXmSelectTree(parentId int32, data []*db.SysDepartment) []*view.XmSelectTree {
var res []*view.XmSelectTree
for _, v := range data {
if v.ParentID == parentId {
item := view.XmSelectTree{
Name: v.Name,
Value: strconv.FormatInt(int64(v.ID), 10),
Children: b.toXmSelectTree(v.ID, data),
}
res = append(res, &item)
}
}
return res
}