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
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
|
|
}
|
|
|