feat: 完善IM用户管理与治理操作

This commit is contained in:
richjohnrambo
2026-09-08 10:54:01 +08:00
parent 5f3f6913b8
commit 7d54bf785a
13 changed files with 1319 additions and 131 deletions
@@ -10,6 +10,8 @@ import (
"hotgo/api/admin/imuser"
"hotgo/internal/model/input/sysin"
"hotgo/internal/service"
"github.com/gogf/gf/v2/errors/gerror"
)
var (
@@ -18,6 +20,40 @@ var (
type cImUser struct{}
func (c *cImUser) Create(ctx context.Context, req *imuser.CreateReq) (res *imuser.CreateRes, err error) {
data, err := service.SysImUser().Create(ctx, &req.ImUserCreateInp)
if err != nil {
return nil, err
}
return &imuser.CreateRes{ImUserCreateModel: data}, nil
}
func (c *cImUser) BatchCreate(ctx context.Context, req *imuser.BatchCreateReq) (res *imuser.BatchCreateRes, err error) {
data, err := service.SysImUser().BatchCreate(ctx, &req.ImUserBatchCreateInp)
if err != nil {
return nil, err
}
return &imuser.BatchCreateRes{ImUserBatchCreateModel: data}, nil
}
func (c *cImUser) Import(ctx context.Context, req *imuser.ImportReq) (res *imuser.ImportRes, err error) {
file, err := req.File.Open()
if err != nil {
return nil, gerror.Wrap(err, "打开Excel文件失败")
}
defer file.Close()
data, err := service.SysImUser().ImportExcel(ctx, req.TenantId, req.GroupId, file)
if err != nil {
return nil, err
}
return &imuser.ImportRes{ImUserBatchCreateModel: data}, nil
}
func (c *cImUser) DownloadTemplate(ctx context.Context, req *imuser.DownloadTemplateReq) (res *imuser.DownloadTemplateRes, err error) {
err = service.SysImUser().DownloadTemplate(ctx)
return
}
// 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)
@@ -67,6 +103,24 @@ func (c *cImUser) Status(ctx context.Context, req *imuser.StatusReq) (res *imuse
return
}
func (c *cImUser) AdjustGroup(ctx context.Context, req *imuser.AdjustGroupReq) (res *imuser.AdjustGroupRes, err error) {
err = service.SysImUser().AdjustGroup(ctx, &req.ImUserAdjustGroupInp)
return
}
func (c *cImUser) IPWhitelist(ctx context.Context, req *imuser.IPWhitelistReq) (res *imuser.IPWhitelistRes, err error) {
data, err := service.SysImUser().IPWhitelist(ctx, &req.ImUserIPWhitelistInp)
if err != nil {
return nil, err
}
return &imuser.IPWhitelistRes{ImUserIPWhitelistModel: data}, nil
}
func (c *cImUser) IPWhitelistSave(ctx context.Context, req *imuser.IPWhitelistSaveReq) (res *imuser.IPWhitelistSaveRes, err error) {
err = service.SysImUser().IPWhitelistSave(ctx, &req.ImUserIPWhitelistInp)
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 {