123456789101112131415161718192021222324252627282930313233343536373839 |
- package admin
- import (
- "strings"
- "github.com/xinliangnote/go-gin-api/internal/pkg/core"
- "github.com/xinliangnote/go-gin-api/internal/repository/mysql"
- "github.com/xinliangnote/go-gin-api/internal/repository/mysql/admin_menu"
- "github.com/spf13/cast"
- )
- type CreateMenuData struct {
- AdminId int32 `form:"admin_id"` // AdminID
- Actions string `form:"actions"` // 功能权限ID,多个用,分割
- }
- func (s *service) CreateMenu(ctx core.Context, menuData *CreateMenuData) (err error) {
- qb := admin_menu.NewQueryBuilder()
- qb.WhereAdminId(mysql.EqualPredicate, menuData.AdminId)
- if err = qb.Delete(s.db.GetDbW().WithContext(ctx.RequestContext())); err != nil {
- return
- }
- ActionArr := strings.Split(menuData.Actions, ",")
- for _, v := range ActionArr {
- createModel := admin_menu.NewModel()
- createModel.AdminId = menuData.AdminId
- createModel.MenuId = cast.ToInt32(v)
- createModel.CreatedUser = ctx.SessionUserInfo().UserName
- _, err = createModel.Create(s.db.GetDbW().WithContext(ctx.RequestContext()))
- if err != nil {
- return
- }
- }
- return
- }
|