retusn del nil
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"admin/internal/dao"
|
||||
"context"
|
||||
|
||||
"admin/admin"
|
||||
"admin/internal/svc"
|
||||
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"pkg.local/redis"
|
||||
"pkg.local/utils"
|
||||
)
|
||||
|
||||
type LoginItemsLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
BaseLogic
|
||||
}
|
||||
|
||||
func NewLoginItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoginItemsLogic {
|
||||
return &LoginItemsLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LoginItemsLogic) LoginItems(in *admin.AdminEmptyRequest) (*admin.Response, error) {
|
||||
var items utils.LoginRedis
|
||||
var info dao.JwtInfo
|
||||
var infos []dao.JwtInfo
|
||||
cursor := uint64(0)
|
||||
match := utils.GetLoginKeysKey(utils.LoginTypeAdmin, "*")
|
||||
count := int64(100000)
|
||||
scanKeys, _, err := redis.Client.Scan(l.ctx, cursor, match, count).Result()
|
||||
if err != nil {
|
||||
l.Logger.Error(err)
|
||||
return l.out(utils.Fail, "获取登录信息失败")
|
||||
}
|
||||
for _, scanKey := range scanKeys {
|
||||
json, err := redis.Client.Get(l.ctx, scanKey).Result()
|
||||
if err != nil {
|
||||
l.Logger.Error(err)
|
||||
return l.out(utils.Fail, "获取登录信息失败")
|
||||
}
|
||||
err = jsoniter.Unmarshal([]byte(json), &items)
|
||||
if err != nil {
|
||||
l.Logger.Error(err)
|
||||
return l.out(utils.Fail, "解析登录信息失败")
|
||||
}
|
||||
err = jsoniter.Unmarshal(items.Info, &info)
|
||||
if err != nil {
|
||||
l.Logger.Error(err)
|
||||
return l.out(utils.Fail, "解析登录信息失败")
|
||||
}
|
||||
infos = append(infos, dao.JwtInfo{
|
||||
Id: info.Id,
|
||||
Phone: info.Phone,
|
||||
Name: info.Name,
|
||||
Avatar: info.Avatar,
|
||||
Email: info.Email,
|
||||
LastTime: info.LastTime,
|
||||
})
|
||||
}
|
||||
|
||||
return l.ok(infos)
|
||||
}
|
||||
Reference in New Issue
Block a user