提供根据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
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:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user