package menu

import (
	"strconv"
	"wechat-conf/models"
	"wechat-conf/models/model"
	"wechat-conf/utils"

	"github.com/go-xorm/xorm"
)

// MenuDAO 当前数据库操作对象
type MenuDAO struct {
	ctx *utils.Context
	db  *xorm.Session
}

// NewMenuDAO New Inst
func NewMenuDAO(ctx *utils.Context) *MenuDAO {
	return &MenuDAO{
		ctx: ctx,
		db:  ctx.DB,
	}
}

func (m *MenuDAO) GetUserMenu(userType string) ([]model.SysMenu, error) {
	var menu []model.SysMenu
	sql := `select * from sys_menu where status > ` + strconv.Itoa(models.STATUS_DEL)
	if userType != models.USER_TYPE_ADMIN {
		sql += ` and is_only_super_admin = 0`
	}
	sql += ` order by order_no asc`
	err := m.db.Sql(sql).Find(&menu)
	return menu, err
}