package role import ( "context" "muyu-apiserver/gateway/internal/svc" "muyu-apiserver/gateway/internal/types" "muyu-apiserver/rpc/system/pb" "github.com/zeromicro/go-zero/core/logx" ) type ListRoleLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewListRoleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListRoleLogic { return &ListRoleLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *ListRoleLogic) ListRole(req *types.ListRoleReq) (resp *types.ListRoleResp, err error) { rpcResp, err := l.svcCtx.SystemRpc.ListRole(l.ctx, &pb.ListRoleReq{ Page: req.Page, PageSize: req.PageSize, RoleName: req.RoleName, Status: req.Status, }) if err != nil { return nil, err } list := make([]types.RoleInfo, 0, len(rpcResp.List)) for _, r := range rpcResp.List { list = append(list, types.RoleInfo{ RoleId: r.RoleId, RoleName: r.RoleName, RoleKey: r.RoleKey, RoleDesc: r.RoleDesc, SortOrder: r.SortOrder, Status: r.Status, MenuIds: r.MenuIds, CreatedAt: r.CreatedAt, UpdatedAt: r.UpdatedAt, }) } return &types.ListRoleResp{ Total: rpcResp.Total, List: list, }, nil }