提供根据ID获取管理员信息
CI / changes (push) Successful in 13s
CI / docker-bff (push) Successful in 2s
CI / docker-product (push) Has been skipped
CI / docker-admin (push) Successful in 31s
CI / docker-user (push) Has been skipped
CI / docker-ad (push) Has been skipped
CI / docker-chore (push) Has been skipped
CI / docker-express (push) Has been skipped
CI / docker-sale (push) Has been skipped

This commit is contained in:
2026-08-28 18:10:34 +08:00
parent 23ea6659c2
commit 2a6cd21ec4
8 changed files with 438 additions and 127 deletions
+34 -23
View File
@@ -14,29 +14,32 @@ import (
)
type (
AdminEditRequest = admin.AdminEditRequest
AdminEmptyRequest = admin.AdminEmptyRequest
AdminInfoRequest = admin.AdminInfoRequest
AdminItemsRequest = admin.AdminItemsRequest
AuthorityEditRequest = admin.AuthorityEditRequest
AuthorityItemsRequest = admin.AuthorityItemsRequest
AuthorityNameRequest = admin.AuthorityNameRequest
AuthoritySortRequest = admin.AuthoritySortRequest
InfoRequest = admin.InfoRequest
LoginKickedOutRequest = admin.LoginKickedOutRequest
LoginRequest = admin.LoginRequest
OwnPasswordRequest = admin.OwnPasswordRequest
PasswordRequest = admin.PasswordRequest
Response = admin.Response
RoleEditRequest = admin.RoleEditRequest
RoleItemsRequest = admin.RoleItemsRequest
RoleNameRequest = admin.RoleNameRequest
RoleRuleRequest = admin.RoleRuleRequest
RoutesRequest = admin.RoutesRequest
ServiceEditRequest = admin.ServiceEditRequest
ServiceItemsRequest = admin.ServiceItemsRequest
ServiceNameRequest = admin.ServiceNameRequest
StatusRequest = admin.StatusRequest
AdminEditRequest = admin.AdminEditRequest
AdminEmptyRequest = admin.AdminEmptyRequest
AdminInfoRequest = admin.AdminInfoRequest
AdminItemsRequest = admin.AdminItemsRequest
AdminNamesByIdsRequest = admin.AdminNamesByIdsRequest
AdminNamesByIdsResponse = admin.AdminNamesByIdsResponse
AuthorityEditRequest = admin.AuthorityEditRequest
AuthorityItemsRequest = admin.AuthorityItemsRequest
AuthorityNameRequest = admin.AuthorityNameRequest
AuthoritySortRequest = admin.AuthoritySortRequest
InfoRequest = admin.InfoRequest
LoginKickedOutRequest = admin.LoginKickedOutRequest
LoginRequest = admin.LoginRequest
NamesItem = admin.NamesItem
OwnPasswordRequest = admin.OwnPasswordRequest
PasswordRequest = admin.PasswordRequest
Response = admin.Response
RoleEditRequest = admin.RoleEditRequest
RoleItemsRequest = admin.RoleItemsRequest
RoleNameRequest = admin.RoleNameRequest
RoleRuleRequest = admin.RoleRuleRequest
RoutesRequest = admin.RoutesRequest
ServiceEditRequest = admin.ServiceEditRequest
ServiceItemsRequest = admin.ServiceItemsRequest
ServiceNameRequest = admin.ServiceNameRequest
StatusRequest = admin.StatusRequest
Admin interface {
AdminEdit(ctx context.Context, in *AdminEditRequest, opts ...grpc.CallOption) (*Response, error)
@@ -70,6 +73,8 @@ type (
RoleItems(ctx context.Context, in *RoleItemsRequest, opts ...grpc.CallOption) (*Response, error)
RoleStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error)
RoleRule(ctx context.Context, in *RoleRuleRequest, opts ...grpc.CallOption) (*Response, error)
// 传入IDS []int64,返回[]NamesItem{id int64,name string}
AdminNamesByIds(ctx context.Context, in *AdminNamesByIdsRequest, opts ...grpc.CallOption) (*AdminNamesByIdsResponse, error)
}
defaultAdmin struct {
@@ -237,3 +242,9 @@ func (m *defaultAdmin) RoleRule(ctx context.Context, in *RoleRuleRequest, opts .
client := admin.NewAdminClient(m.cli.Conn())
return client.RoleRule(ctx, in, opts...)
}
// 传入IDS []int64,返回[]NamesItem{id int64,name string}
func (m *defaultAdmin) AdminNamesByIds(ctx context.Context, in *AdminNamesByIdsRequest, opts ...grpc.CallOption) (*AdminNamesByIdsResponse, error) {
client := admin.NewAdminClient(m.cli.Conn())
return client.AdminNamesByIds(ctx, in, opts...)
}
@@ -0,0 +1,73 @@
package logic
import (
"context"
"lone-services/pkg/modelbase"
"lone-services/pkg/utils"
"lone-services/pkg/validate"
"lone-services/services/admin/internal/dao"
"lone-services/services/admin/internal/model"
"lone-services/services/admin/validator"
"strconv"
"lone-services/rpc/admin/pb"
"lone-services/services/admin/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type AdminNamesByIdsLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewAdminNamesByIdsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AdminNamesByIdsLogic {
return &AdminNamesByIdsLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// 传入IDS []int64,返回[]NamesItem{id int64,name string}
func (l *AdminNamesByIdsLogic) AdminNamesByIds(in *admin.AdminNamesByIdsRequest) (*admin.AdminNamesByIdsResponse, error) {
var req validator.AdminNamesByIdsValidator
if msg := validate.ValidateFromProto(in, &req); msg != utils.StringEmpty {
return nil, status.Error(codes.InvalidArgument, msg)
}
ids := make([]string, utils.NumberZero, len(in.Ids))
for _, id := range in.Ids {
ids = append(ids, strconv.FormatInt(id, utils.NumberTen))
}
w := modelbase.Params{
In: map[string][]string{"id in ?": ids},
Eq: map[string]string{"status": utils.StringStatusOk},
}
var items []dao.AdminNames
err := model.AdminModel{}.Init().Items(w, &items)
if err != nil {
l.Logger.Error(err)
return nil, status.Error(codes.Code(utils.Fail.Code), utils.Fail.Msg)
}
if len(items) < utils.NumberOne {
return nil, status.Error(codes.Code(utils.ErrorNotFund.Code), utils.ErrorNotFund.Msg)
}
var result []*admin.NamesItem
for item := range items {
mobile, dErr := utils.DecryptPhone(items[item].Phone)
if dErr == nil {
items[item].Phone = mobile
}
result = append(result, &admin.NamesItem{
Id: int64(items[item].Id),
Name: items[item].Name,
})
}
return &admin.AdminNamesByIdsResponse{Items: result}, nil
}
@@ -177,3 +177,9 @@ func (s *AdminServer) RoleRule(ctx context.Context, in *admin.RoleRuleRequest) (
l := logic.NewRoleRuleLogic(ctx, s.svcCtx)
return l.RoleRule(in)
}
// 传入IDS []int64,返回[]NamesItem{id int64,name string}
func (s *AdminServer) AdminNamesByIds(ctx context.Context, in *admin.AdminNamesByIdsRequest) (*admin.AdminNamesByIdsResponse, error) {
l := logic.NewAdminNamesByIdsLogic(ctx, s.svcCtx)
return l.AdminNamesByIds(in)
}
+11
View File
@@ -135,3 +135,14 @@ func (p LoginKickedOutValidator) GetMessage() validate.ValidatorMessages {
"Id.required": "ID不能为空",
}
}
type AdminNamesByIdsValidator struct {
Ids []int64 `validate:"required"`
}
// GetMessage 提示消息
func (p AdminNamesByIdsValidator) GetMessage() validate.ValidatorMessages {
return validate.ValidatorMessages{
"Ids.required": "ID不能为空",
}
}