2a6cd21ec4
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
74 lines
2.0 KiB
Go
74 lines
2.0 KiB
Go
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
|
|
}
|