This commit is contained in:
@@ -2,7 +2,9 @@ package user
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
|
||||
logicCommon "github.com/perfect-panel/server/internal/logic/common"
|
||||
"github.com/perfect-panel/server/internal/model/user"
|
||||
"github.com/perfect-panel/server/internal/svc"
|
||||
"github.com/perfect-panel/server/internal/types"
|
||||
@@ -33,6 +35,9 @@ func (l *GetUserDetailLogic) GetUserDetail(req *types.GetDetailRequest) (*types.
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "get user detail error: %v", err.Error())
|
||||
}
|
||||
tool.DeepCopy(&resp, userInfo)
|
||||
if referCode := strings.TrimSpace(resp.ReferCode); referCode != "" {
|
||||
resp.ShareLink = logicCommon.NewInviteLinkResolver(l.ctx, l.svcCtx).ResolveInviteLink(referCode)
|
||||
}
|
||||
|
||||
type familyRelation struct {
|
||||
FamilyId int64
|
||||
|
||||
@@ -3,7 +3,10 @@ package user
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
logicCommon "github.com/perfect-panel/server/internal/logic/common"
|
||||
"github.com/perfect-panel/server/internal/model/user"
|
||||
"github.com/perfect-panel/server/internal/svc"
|
||||
"github.com/perfect-panel/server/internal/types"
|
||||
@@ -45,6 +48,16 @@ func (l *GetUserListLogic) GetUserList(req *types.GetUserListRequest) (*types.Ge
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "GetUserListLogic failed: %v", err.Error())
|
||||
}
|
||||
|
||||
referCodes := make([]string, 0, len(list))
|
||||
for _, item := range list {
|
||||
referCode := strings.TrimSpace(item.ReferCode)
|
||||
if referCode == "" {
|
||||
continue
|
||||
}
|
||||
referCodes = append(referCodes, referCode)
|
||||
}
|
||||
inviteLinkMap := logicCommon.NewInviteLinkResolver(l.ctx, l.svcCtx).ResolveInviteLinksBatch(referCodes, 8, 3, 1500*time.Millisecond)
|
||||
|
||||
// Batch fetch active subscriptions
|
||||
userIds := make([]int64, 0, len(list))
|
||||
for _, u := range list {
|
||||
@@ -171,6 +184,9 @@ func (l *GetUserListLogic) GetUserList(req *types.GetUserListRequest) (*types.Ge
|
||||
u.FamilyRoleName = fmt.Sprintf("role_%d", relation.Role)
|
||||
}
|
||||
}
|
||||
if referCode := strings.TrimSpace(item.ReferCode); referCode != "" {
|
||||
u.ShareLink = inviteLinkMap[referCode]
|
||||
}
|
||||
|
||||
userRespList = append(userRespList, u)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user