You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.0 KiB

package service
import (
"bkb-seller/global"
"bkb-seller/model"
"bkb-seller/model/request"
"errors"
)
// 中文
func GetMenuApiTree(appid, types string) (err error, menus interface{}) {
//定义三个变量,用于存储菜单列表、api列表和菜单api列表
var (
menuList []model.SysMenu
apiList []model.SysApi
menuApis []model.SysMenuApi
)
//根据appid和type查询菜单列表
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&menuList).Error
if err != nil {
return errors.New("获取菜单树失败"), nil
}
//根据appid和type查询api列表
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&apiList).Error
if err != nil {
return errors.New("获取api树失败"), nil
}
//遍历菜单列表,查询api列表,将api列表添加到菜单api列表中
for _, menu := range menuList {
menuApi := model.SysMenuApi{
SysBaseMenu: menu.SysBaseMenu,
}
for _, api := range apiList {
if menu.Group == api.ApiGroup {
menuApi.Children = append(menuApi.Children, model.SysApi{
Appid: api.Appid,
Type: api.Type,
Path: api.Path,
Description: api.Description,
ApiGroup: api.ApiGroup,
Method: api.Method,
})
}
}
menuApis = append(menuApis, menuApi)
}
return nil, menuApis
}
func GetAuthority(appid, types string) (err error, menus []model.SysBaseMenu) {
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&[]model.SysBaseMenu{}).Error
if err != nil {
return err, nil
}
return nil, menus
}
func GetSubAccountList(appid, types string) (err error, menus []model.SysBaseMenu) {
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&[]model.SysBaseMenu{}).Error
if err != nil {
return err, nil
}
return nil, menus
}
// UpdateAuthorityRole 更新权限角色
func UpdateAuthorityRole(info *request.UpdateAuthorityRole, appid, types string) (err error) {
// 检查 appid 和 types 参数是否为空
if appid == "" || types == "" {
return errors.New("appid 和 types 参数不能为空")
}
// 查询数据库中是否存在该 appid 和 types 的权限角色
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&[]model.SysBaseMenu{}).Error
if err != nil {
// 如果查询失败,返回错误
return err
}
// 如果查询成功,返回 nil
return nil
}
func AddAuthorityRole(info *request.AddAuthorityRole, appid, types string) (err error) {
// 检查 appid 和 types 参数是否为空
if appid == "" || types == "" {
return errors.New("appid 和 types 参数不能为空")
}
// 查询数据库中是否存在该 appid 和 types 的权限角色
err = global.MG_DB.Where("appid = ? and type=?", appid, types).Find(&[]model.SysBaseMenu{}).Error
if err != nil {
// 如果查询失败,返回错误
return err
}
return
}
func AddSubAccount(info *request.AddSubAccount, appid, types string) (err error) {
// 检查 appid 和 types 参数是否为空
if appid == "" || types == "" {
return errors.New("appid 和 types 参数不能为空")
}
return
}