Files
jx-callback/controllers/permission.go
苏尹岚 6bf4ce45a5 aa
2021-03-31 16:20:11 +08:00

185 lines
6.7 KiB
Go

package controllers
import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/permission"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"github.com/astaxie/beego/server/web"
)
type PowerController struct {
web.Controller
}
// @Title 添加功能(菜单)
// @Description 添加功能(菜单)
// @Param token header string true "认证token"
// @Param payload formData string true "Menu json实体"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddMenu [post]
func (c *PowerController) AddMenu() {
c.callAddMenu(func(params *tPowerAddMenuParams) (retVal interface{}, errCode string, err error) {
menu := &model.Menu{}
if err = utils.UnmarshalUseNumber([]byte(params.Payload), menu); err == nil {
err = permission.AddMenu(params.Ctx, menu)
}
return retVal, "", err
})
}
// @Title 查询功能(菜单)
// @Description 查询功能(菜单)
// @Param token header string true "认证token"
// @Param userID query string false "用户ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetMenu [get]
func (c *PowerController) GetMenu() {
c.callGetMenu(func(params *tPowerGetMenuParams) (retVal interface{}, errCode string, err error) {
retVal, err = permission.GetMenu(params.Ctx, params.UserID)
return retVal, "", err
})
}
// @Title 修改功能(菜单)
// @Description 修改功能(菜单)
// @Param token header string true "认证token"
// @Param payload formData string true "Menu json实体"
// @Param menuID formData int true "菜单ID"
// @Param isDelete formData bool true "是否是删除"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateMenu [put]
func (c *PowerController) UpdateMenu() {
c.callUpdateMenu(func(params *tPowerUpdateMenuParams) (retVal interface{}, errCode string, err error) {
payload := make(map[string]interface{})
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
retVal, err = permission.UpdateMenu(params.Ctx, params.MenuID, payload, params.IsDelete)
}
return retVal, "", err
})
}
// @Title 添加角色
// @Description 添加角色
// @Param token header string true "认证token"
// @Param name formData string true "角色名"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /AddRole [post]
func (c *PowerController) AddRole() {
c.callAddRole(func(params *tPowerAddRoleParams) (retVal interface{}, errCode string, err error) {
err = permission.AddRole(params.Ctx, params.Name)
return retVal, "", err
})
}
// @Title 查询角色
// @Description 查询角色
// @Param token header string true "认证token"
// @Param name query string false "角色名"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetRole [get]
func (c *PowerController) GetRole() {
c.callGetRole(func(params *tPowerGetRoleParams) (retVal interface{}, errCode string, err error) {
retVal, err = permission.GetRole(params.Ctx, params.Name)
return retVal, "", err
})
}
// @Title 修改角色
// @Description 修改角色
// @Param token header string true "认证token"
// @Param name formData string true "角色名"
// @Param roleID formData int true "角色ID"
// @Param isDelete formData bool true "是否是删除"
// @Param brandID formData int false "品牌ID"
// @Param cityCodes formData string false "城市IDs"
// @Param storeIDs formData string false "门店IDs"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateRole [put]
func (c *PowerController) UpdateRole() {
c.callUpdateRole(func(params *tPowerUpdateRoleParams) (retVal interface{}, errCode string, err error) {
var (
cityCodes, storeIDs []int
)
if err = jxutils.Strings2Objs(params.CityCodes, &cityCodes, params.StoreIDs, &storeIDs); err == nil {
retVal, err = permission.UpdateRole(params.Ctx, params.RoleID, params.Name, params.IsDelete, params.BrandID, cityCodes, storeIDs)
}
return retVal, "", err
})
}
// @Title 查询用户角色
// @Description查询用户角色
// @Param token header string true "认证token"
// @Param userID query string false "用户ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetUserRole [get]
func (c *PowerController) GetUserRole() {
c.callGetUserRole(func(params *tPowerGetUserRoleParams) (retVal interface{}, errCode string, err error) {
retVal, err = permission.GetUserRole(params.Ctx, params.UserID)
return retVal, "", err
})
}
// @Title 修改用户角色
// @Description 修改用户角色
// @Param token header string true "认证token"
// @Param userIDs formData string true "用户IDs"
// @Param roleIDs formData string true "角色IDs"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateUserRole [put]
func (c *PowerController) UpdateUserRole() {
c.callUpdateUserRole(func(params *tPowerUpdateUserRoleParams) (retVal interface{}, errCode string, err error) {
var (
userIDs []string
roleIDs []int
)
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.RoleIDs, &roleIDs); err == nil {
err = permission.UpdateUserRole(params.Ctx, userIDs, roleIDs)
}
return retVal, "", err
})
}
// @Title 查询角色菜单
// @Description 查询角色菜单
// @Param token header string true "认证token"
// @Param roleID query int false "用户ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetRoleMenu [get]
func (c *PowerController) GetRoleMenu() {
c.callGetRoleMenu(func(params *tPowerGetRoleMenuParams) (retVal interface{}, errCode string, err error) {
retVal, err = permission.GetRoleMenu(params.Ctx, params.RoleID)
return retVal, "", err
})
}
// @Title 修改角色菜单
// @Description 修改角色菜单
// @Param token header string true "认证token"
// @Param roleIDs formData string true "角色IDs"
// @Param menuIDs formData string true "菜单IDs"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateRoleMenu [put]
func (c *PowerController) UpdateRoleMenu() {
c.callUpdateRoleMenu(func(params *tPowerUpdateRoleMenuParams) (retVal interface{}, errCode string, err error) {
var (
roleIDs, menuIDs []int
)
if err = jxutils.Strings2Objs(params.RoleIDs, &roleIDs, params.MenuIDs, &menuIDs); err == nil {
err = permission.UpdateRoleMenu(params.Ctx, roleIDs, menuIDs)
}
return retVal, "", err
})
}