// Package sys // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2026 HotGo // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package sys import ( "context" "hotgo/api/admin/imuser" "hotgo/internal/model/input/sysin" "hotgo/internal/service" ) var ( ImUser = cImUser{} ) type cImUser struct{} // List 查看IM用户列表 func (c *cImUser) List(ctx context.Context, req *imuser.ListReq) (res *imuser.ListRes, err error) { list, totalCount, err := service.SysImUser().List(ctx, &req.ImUserListInp) if err != nil { return } if list == nil { list = []*sysin.ImUserListModel{} } res = new(imuser.ListRes) res.List = list res.PageRes.Pack(req, totalCount) return } // View 获取指定IM用户信息 func (c *cImUser) View(ctx context.Context, req *imuser.ViewReq) (res *imuser.ViewRes, err error) { data, err := service.SysImUser().View(ctx, &req.ImUserViewInp) if err != nil { return } res = new(imuser.ViewRes) res.ImUserViewModel = data return } func (c *cImUser) ResetPassword(ctx context.Context, req *imuser.ResetPasswordReq) (res *imuser.ResetPasswordRes, err error) { err = service.SysImUser().ResetPassword(ctx, &req.ImUserPasswordResetInp) return } func (c *cImUser) RevokeSessions(ctx context.Context, req *imuser.RevokeSessionsReq) (res *imuser.RevokeSessionsRes, err error) { err = service.SysImUser().RevokeSessions(ctx, &req.ImUserRevokeSessionsInp) return } func (c *cImUser) Status(ctx context.Context, req *imuser.StatusReq) (res *imuser.StatusRes, err error) { err = service.SysImUser().Status(ctx, &req.ImUserStatusInp) return } func (c *cImUser) Devices(ctx context.Context, req *imuser.DevicesReq) (res *imuser.DevicesRes, err error) { list, totalCount, err := service.SysImUser().Devices(ctx, &req.ImUserDeviceListInp) if err != nil { return } if list == nil { list = []*sysin.ImUserDeviceListModel{} } res = new(imuser.DevicesRes) res.List = list res.PageRes.Pack(req, totalCount) return }