// Code scaffolded by goctl. Safe to edit. package menu import ( "context" "fmt" "github.com/zeromicro/go-zero/core/logx" "sundynix-micro-go/app/system/api/internal/svc" "sundynix-micro-go/app/system/api/internal/types" sysModel "sundynix-micro-go/app/system/model" ) type CreateMenuLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewCreateMenuLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateMenuLogic { return &CreateMenuLogic{Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx} } func (l *CreateMenuLogic) CreateMenu(req *types.MenuReq) error { menu := sysModel.SundynixMenu{ ParentID: req.ParentId, Category: req.Category, Name: req.Name, Title: req.Title, Code: req.Code, Path: req.Path, Permission: req.Permission, Locale: req.Locale, Icon: req.Icon, Sort: req.Sort, } if menu.ParentID == "" { menu.ParentID = "0" } if err := l.svcCtx.DB.Create(&menu).Error; err != nil { return fmt.Errorf("创建菜单失败") } return nil }