2024-12-30 03:58:14 +00:00
|
|
|
package accountlogic
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
2025-02-08 01:59:21 +00:00
|
|
|
pb "code.30cm.net/digimon/app-cloudep-member-server/gen_result/pb/member"
|
2025-02-04 08:58:01 +00:00
|
|
|
"code.30cm.net/digimon/app-cloudep-member-server/internal/svc"
|
2025-02-08 01:59:21 +00:00
|
|
|
"code.30cm.net/digimon/app-cloudep-member-server/pkg/domain/member"
|
|
|
|
"code.30cm.net/digimon/app-cloudep-member-server/pkg/domain/usecase"
|
|
|
|
"google.golang.org/protobuf/proto"
|
2024-12-30 03:58:14 +00:00
|
|
|
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
|
|
)
|
|
|
|
|
|
|
|
type ListMemberLogic struct {
|
|
|
|
ctx context.Context
|
|
|
|
svcCtx *svc.ServiceContext
|
|
|
|
logx.Logger
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewListMemberLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListMemberLogic {
|
|
|
|
return &ListMemberLogic{
|
|
|
|
ctx: ctx,
|
|
|
|
svcCtx: svcCtx,
|
|
|
|
Logger: logx.WithContext(ctx),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ListMember 取得會員列表
|
2025-02-08 01:59:21 +00:00
|
|
|
func (l *ListMemberLogic) ListMember(in *pb.ListUserInfoReq) (*pb.ListUserInfoResp, error) {
|
|
|
|
q := usecase.ListUserInfoRequest{
|
|
|
|
PageSize: in.GetPageSize(),
|
|
|
|
PageIndex: in.GetPageIndex(),
|
|
|
|
}
|
|
|
|
if in.CreateStartTime != nil {
|
|
|
|
q.CreateStartTime = proto.Int64(in.GetCreateStartTime())
|
|
|
|
}
|
|
|
|
|
|
|
|
if in.CreateEndTime != nil {
|
|
|
|
q.CreateEndTime = proto.Int64(in.GetCreateEndTime())
|
|
|
|
}
|
|
|
|
if in.AlarmType != nil {
|
|
|
|
a := member.AlarmType(in.GetAlarmType().Number())
|
|
|
|
q.AlarmCategory = &a
|
|
|
|
}
|
|
|
|
|
|
|
|
if in.Status != nil {
|
|
|
|
s := member.Status(in.GetStatus().Number())
|
|
|
|
q.UserStatus = &s
|
|
|
|
}
|
|
|
|
|
|
|
|
members, err := l.svcCtx.AccountUseCase.ListMember(l.ctx, q)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
res := make([]*pb.UserInfo, 0, members.Page.Size)
|
|
|
|
if len(members.Data) == 0 {
|
|
|
|
return &pb.ListUserInfoResp{
|
|
|
|
Data: res,
|
|
|
|
Page: &pb.Pager{
|
|
|
|
Total: 0,
|
|
|
|
Size: members.Page.Size,
|
|
|
|
Index: members.Page.Index,
|
|
|
|
},
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
at := pb.AlarmType(members.Data[0].AlarmCategory)
|
|
|
|
status := pb.MemberStatus(members.Data[0].UserStatus)
|
|
|
|
|
|
|
|
for _, m := range members.Data {
|
|
|
|
res = append(res, &pb.UserInfo{
|
|
|
|
Uid: m.UID,
|
|
|
|
AvatarUrl: m.AvatarURL,
|
|
|
|
FullName: m.FullName,
|
|
|
|
NickName: m.Nickname,
|
|
|
|
GenderCode: m.GenderCode,
|
|
|
|
Birthday: m.Birthdate,
|
|
|
|
Address: m.Address,
|
|
|
|
Email: m.Email,
|
|
|
|
Phone: m.PhoneNumber,
|
|
|
|
Language: m.PreferredLanguage,
|
|
|
|
Currency: m.Currency,
|
|
|
|
AlarmType: at,
|
|
|
|
Status: status,
|
|
|
|
CreateTime: m.CreateTime,
|
|
|
|
UpdateTime: m.UpdateTime,
|
|
|
|
})
|
|
|
|
}
|
2024-12-30 03:58:14 +00:00
|
|
|
|
2025-02-08 01:59:21 +00:00
|
|
|
return &pb.ListUserInfoResp{
|
|
|
|
Data: res,
|
|
|
|
Page: &pb.Pager{
|
|
|
|
Total: members.Page.Total,
|
|
|
|
Size: members.Page.Size,
|
|
|
|
Index: members.Page.Index,
|
|
|
|
},
|
|
|
|
}, nil
|
2024-12-30 03:58:14 +00:00
|
|
|
}
|