feat: add short IM user numbers

This commit is contained in:
richjohnrambo
2026-09-10 21:51:23 +08:00
parent 047df08f84
commit 26e511113b
9 changed files with 126 additions and 53 deletions
+8 -17
View File
@@ -69,16 +69,17 @@ func (s *sSysImUser) Create(ctx context.Context, in *sysin.ImUserCreateInp) (res
"password": in.Password,
}
var wire struct {
UserId int64 `json:"user_id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
Phone string `json:"phone"`
DisplayNo int `json:"display_no"`
UserId int64 `json:"user_id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
Phone string `json:"phone"`
}
path := "/internal/admin-query/tenants/" + url.PathEscape(tenant.Code) + "/users"
if err = imadmin.DefaultClient(ctx).InternalPost(ctx, path, payload, &wire); err != nil {
return nil, err
}
res = &sysin.ImUserCreateModel{UserId: wire.UserId, Username: wire.Username, Nickname: wire.Nickname, Phone: wire.Phone}
res = &sysin.ImUserCreateModel{DisplayNo: wire.DisplayNo, UserId: wire.UserId, Username: wire.Username, Nickname: wire.Nickname, Phone: wire.Phone}
if in.GroupId > 0 {
if err = service.SysImUserPolicyGroup().MemberAdd(ctx, &sysin.ImUserPolicyGroupMemberAddInp{GroupId: in.GroupId, UserId: res.UserId}); err != nil {
return nil, gerror.Wrap(err, "用户已创建,但加入用户分组失败")
@@ -123,6 +124,7 @@ func (s *sSysImUser) Import(ctx context.Context, in *sysin.ImUserImportInp) (res
res.FailedCount++
} else {
item.Success = true
item.DisplayNo = created.DisplayNo
item.UserId = created.UserId
item.Username = created.Username
res.SuccessCount++
@@ -205,7 +207,7 @@ func (s *sSysImUser) List(ctx context.Context, in *sysin.ImUserListInp) (list []
values.Set("user_ids", strings.Join(userIds, ","))
}
if in.UserId != "" {
values.Set("user_id", in.UserId)
values.Set("account_no", in.UserId)
}
if in.Nickname != "" {
values.Set("nickname", in.Nickname)
@@ -239,17 +241,6 @@ func (s *sSysImUser) List(ctx context.Context, in *sysin.ImUserListInp) (list []
if err = fillImUserRegisterTypes(ctx, tenant.Id, list); err != nil {
return nil, 0, err
}
page := in.Page
if page < 1 {
page = 1
}
perPage := in.PerPage
if perPage < 1 {
perPage = 10
}
for index, item := range list {
item.DisplayNo = 1000 + (page-1)*perPage + index
}
return list, totalCount, nil
}
+13 -11
View File
@@ -18,9 +18,9 @@ import (
type ImUserListInp struct {
form.PageReq
TenantId int64 `json:"tenantId" dc:"租户ID"`
UserId string `json:"userId" dc:"用户ID"`
UserId string `json:"userId" dc:"后台展示编号"`
GroupId int64 `json:"groupId" dc:"用户策略分组ID"`
Keyword string `json:"keyword" dc:"用户名、昵称或手机号"`
Keyword string `json:"keyword" dc:"用户名、昵称、手机号或编号"`
Nickname string `json:"nickname" dc:"昵称"`
AuthName string `json:"authName" dc:"登录标识"`
State *int `json:"state" dc:"账号状态"`
@@ -88,10 +88,11 @@ func (in *ImUserCreateInp) Filter(ctx context.Context) error {
}
type ImUserCreateModel struct {
UserId int64 `json:"userId" dc:"用户ID"`
Username string `json:"username" dc:"用户名"`
Nickname string `json:"nickname" dc:"昵称"`
Phone string `json:"phone" dc:"手机号"`
DisplayNo int `json:"displayNo" dc:"后台展示编号"`
UserId int64 `json:"userId" dc:"用户ID"`
Username string `json:"username" dc:"用户名"`
Nickname string `json:"nickname" dc:"昵称"`
Phone string `json:"phone" dc:"手机号"`
}
type ImUserBatchCreateInp struct {
@@ -114,11 +115,12 @@ func (in *ImUserBatchCreateInp) Filter(ctx context.Context) error {
}
type ImUserBatchItemModel struct {
Row int `json:"row" dc:"行号"`
Username string `json:"username" dc:"用户名"`
UserId int64 `json:"userId" dc:"用户ID"`
Success bool `json:"success" dc:"是否成功"`
Reason string `json:"reason" dc:"失败原因"`
Row int `json:"row" dc:"行号"`
DisplayNo int `json:"displayNo" dc:"后台展示编号"`
Username string `json:"username" dc:"用户名"`
UserId int64 `json:"userId" dc:"用户ID"`
Success bool `json:"success" dc:"是否成功"`
Reason string `json:"reason" dc:"失败原因"`
}
type ImUserBatchCreateModel struct {