service_create.go 824 B

1234567891011121314151617181920212223242526272829303132
  1. package menu
  2. import (
  3. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  4. "github.com/xinliangnote/go-gin-api/internal/repository/mysql/menu"
  5. )
  6. type CreateMenuData struct {
  7. Pid int32 // 父类ID
  8. Name string // 菜单名称
  9. Link string // 链接地址
  10. Icon string // 图标
  11. Level int32 // 菜单类型 1:一级菜单 2:二级菜单
  12. }
  13. func (s *service) Create(ctx core.Context, menuData *CreateMenuData) (id int32, err error) {
  14. model := menu.NewModel()
  15. model.Pid = menuData.Pid
  16. model.Name = menuData.Name
  17. model.Link = menuData.Link
  18. model.Icon = menuData.Icon
  19. model.Level = menuData.Level
  20. model.CreatedUser = ctx.SessionUserInfo().UserName
  21. model.IsUsed = 1
  22. model.IsDeleted = -1
  23. id, err = model.Create(s.db.GetDbW().WithContext(ctx.RequestContext()))
  24. if err != nil {
  25. return 0, err
  26. }
  27. return
  28. }