package role import ( "context" "muyu-apiserver/gateway/internal/svc" "muyu-apiserver/gateway/internal/types" "muyu-apiserver/pkg/ctxdata" "muyu-apiserver/rpc/system/pb" "github.com/zeromicro/go-zero/core/logx" ) type GetRoleLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewGetRoleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetRoleLogic { return &GetRoleLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *GetRoleLogic) GetRole() (resp *types.RoleInfo, err error) { id := ctxdata.GetPathId(l.ctx) rpcResp, err := l.svcCtx.SystemRpc.GetRole(l.ctx, &pb.GetRoleReq{ RoleId: id, }) if err != nil { return nil, err } return &types.RoleInfo{ RoleId: rpcResp.RoleId, RoleName: rpcResp.RoleName, RoleKey: rpcResp.RoleKey, RoleDesc: rpcResp.RoleDesc, SortOrder: rpcResp.SortOrder, Status: rpcResp.Status, MenuIds: rpcResp.MenuIds, CreatedAt: rpcResp.CreatedAt, UpdatedAt: rpcResp.UpdatedAt, }, nil }