This commit is contained in:
2026-01-27 03:13:15 -08:00
parent 5def1cf6d8
commit 48c92ea374
36 changed files with 1189 additions and 123 deletions
@@ -52,6 +52,10 @@ func (l *DeleteUserDeviceLogic) DeleteUserDevice(req *types.DeleteUserDeivceRequ
_ = l.svcCtx.Redis.Del(ctx, sessionIdCacheKey).Err()
sessionsKey := fmt.Sprintf("%s%v", config.UserSessionsKeyPrefix, device.UserId)
_ = l.svcCtx.Redis.ZRem(ctx, sessionsKey, sessionId).Err()
l.Infow("[SessionMonitor] 管理员删除设备触发 Session 清理",
logger.Field("user_id", device.UserId),
logger.Field("session_id", sessionId),
logger.Field("device_id", device.Id))
}
// 使用事务同时删除设备记录和关联的认证方式
@@ -2,6 +2,9 @@ package user
import (
"context"
"fmt"
"math"
"time"
"github.com/perfect-panel/server/internal/model/user"
"github.com/perfect-panel/server/internal/svc"
@@ -63,8 +66,9 @@ func (l *GetUserListLogic) GetUserList(req *types.GetUserListRequest) (*types.Ge
// Set MemberStatus and update LastLoginTime from traffic
if info, ok := activeSubs[item.Id]; ok {
u.MemberStatus = info.MemberStatus
days := math.Ceil(info.ExpireTime.Sub(time.Now()).Hours() / 24)
u.MemberStatus = fmt.Sprintf("%s*%d", info.MemberStatus, int(days))
if info.LastTrafficAt != nil {
trafficTime := info.LastTrafficAt.Unix()
if trafficTime > u.LastLoginTime {