123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505 |
- package controller
- import (
- "net/http"
- "github.com/gin-gonic/gin"
- "github.com/mhaya/game/game_cluster/nodes/webadmin/entity"
- "github.com/mhaya/game/game_cluster/nodes/webadmin/service"
- )
- type Role struct {
- }
- func NewRole() *Role {
- return &Role{}
- }
- // Add 新增角色
- // @Summary 新增角色
- // @Description 新增角色
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.RoleAddReq true "新增角色"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/add [post]
- func (r *Role) Add(ctx *gin.Context) {
- req := new(entity.RoleAddReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).Add(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // List 角色列表
- // @Summary 角色列表
- // @Description 角色列表
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.RoleListReq true "角色列表"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/list [get]
- func (r *Role) List(ctx *gin.Context) {
- req := new(entity.RoleListReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- list, err := new(service.Role).List(ctx, req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- "data": list,
- "count": req.Count,
- })
- }
- // Update 修改角色
- // @Summary 修改角色
- // @Description 修改角色
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.RoleUpdateReq true "修改角色"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/update [post]
- func (r *Role) Update(ctx *gin.Context) {
- req := new(entity.RoleUpdateReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).Update(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // Del 删除角色
- // @Summary 删除角色
- // @Description 删除角色
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.RoleDelReq true "删除角色"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/del [get]
- func (r *Role) Del(ctx *gin.Context) {
- req := new(entity.RoleDelReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).Del(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // AddRoleAccess 添加角色权限
- // @Summary 添加角色权限
- // @Description 添加角色权限
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.RoleAccessAddReq true "添加角色权限"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/role_access/add [post]
- func (r *Role) AddRoleAccess(ctx *gin.Context) {
- req := new(entity.RoleAccessAddReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).AddRoleAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // UpdateRoleAccess 修改角色权限
- // @Summary 修改角色权限
- // @Description 修改角色权限
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.RoleAccessUpdateReq true "修改角色权限"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/role_access/update [post]
- func (r *Role) UpdateRoleAccess(ctx *gin.Context) {
- req := new(entity.RoleAccessUpdateReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).UpdateRoleAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // DelRoleAccess 删除角色权限
- // @Summary 删除角色权限
- // @Description 删除角色权限
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.RoleAccessDelReq true "删除角色权限"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/role_access/del [get]
- func (r *Role) DelRoleAccess(ctx *gin.Context) {
- req := new(entity.RoleAccessDelReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).DelRoleAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // GetRoleAccessList 获取角色权限列表根据角色ID
- // @Summary 获取角色权限列表根据角色ID
- // @Description 获取角色权限列表根据角色ID
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.RoleAccessListReq true "获取角色权限列表根据角色ID"
- // @Success 200 {object} []entity.AccessResp
- // @Router /v1/admin/role/role_access/list [get]
- func (r *Role) GetRoleAccessList(ctx *gin.Context) {
- req := new(entity.RoleAccessListReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- list, err := new(service.Role).GetRoleAccessList(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- "data": list,
- })
- }
- // AddAccess 添加权限路由
- // @Summary 添加权限路由
- // @Description 添加权限路由
- // @Tags 角色-路由
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.AccessAddReq true "添加权限路由"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/access/add [post]
- func (r *Role) AddAccess(ctx *gin.Context) {
- req := new(entity.AccessAddReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).AddAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // DelAccess
- // @Summary 删除权限路由
- // @Description 删除权限路由
- // @Tags 角色-路由
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.AccessDelReq true "删除权限路由"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/access/del [Get]
- func (r *Role) DelAccess(ctx *gin.Context) {
- req := new(entity.AccessDelReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).DelAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // UpdateAccess 修改权限路由
- // @Summary 修改权限路由
- // @Description 修改权限路由
- // @Tags 角色-路由
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.AccessUpdateReq true "修改权限路由"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/access/update [post]
- func (r *Role) UpdateAccess(ctx *gin.Context) {
- req := new(entity.AccessUpdateReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).UpdateAccess(ctx, *req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // ListAccess 获取权限路由列表
- // @Summary 获取权限路由列表
- // @Description 获取权限路由列表
- // @Tags 角色-路由
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.AccessListReq true "获取权限路由列表"
- // @Success 200 {object} []entity.AccessResp
- // @Router /v1/admin/role/access/list [get]
- func (r *Role) ListAccess(ctx *gin.Context) {
- req := new(entity.AccessListReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- list, err := new(service.Role).ListAccess(ctx, req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- "data": list,
- "total": req.Count,
- })
- }
- // GetAdminRole
- // @Summary 获取该管理员的权限详情
- // @Description 获取该管理员的权限详情
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data query entity.AdminBindRoleReq true "获取角色"
- // @Success 200 {object} entity.AdminBindRoleResp
- // @Router /v1/admin/role/admin_role_info [get]
- func (r *Role) GetAdminRole(ctx *gin.Context) {
- req := new(entity.AdminBindRoleReq)
- if err := ctx.ShouldBindQuery(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- list, err := new(service.Role).GetAdminRole(ctx, req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- "data": list,
- })
- return
- }
- // AdminBindRole 绑定角色
- // @Summary 绑定角色
- // @Description 绑定角色
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.AdminBindRoleReq true "绑定角色"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/admin_bind_role [post]
- func (r *Role) AdminBindRole(ctx *gin.Context) {
- req := new(entity.AdminBindRoleReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).AdminBindRole(ctx, req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
- // AdminUnBindRole 取消绑定角色
- // @Summary 取消绑定角色
- // @Description 取消绑定角色
- // @Tags 角色
- // @Accept application/json
- // @Produce application/json
- // @Param data body entity.AdminBindRoleReq true "取消绑定角色"
- // @Success 200 {object} entity.Response
- // @Router /v1/admin/role/admin_unbind_role [post]
- func (r *Role) AdminUnBindRole(ctx *gin.Context) {
- req := new(entity.AdminBindRoleReq)
- if err := ctx.ShouldBindJSON(&req); err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- err := new(service.Role).AdminUnBindRole(ctx, req)
- if err != nil {
- ctx.JSON(200, gin.H{
- "code": 400,
- "msg": err.Error(),
- })
- return
- }
- ctx.JSON(http.StatusOK, gin.H{
- "code": 200,
- "msg": "success",
- })
- }
|