From 4f971c07e633488c0b145ea56c38b8a39b96dceb Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 14 May 2024 15:06:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/user_dao.go | 24 +++++++++++--- internal/rpc/services/service_admin.go | 2 +- .../rpc/services/service_server_stat_board.go | 2 +- internal/rpc/services/users/service_user.go | 33 ++++++++++--------- 4 files changed, 39 insertions(+), 22 deletions(-) diff --git a/internal/db/models/user_dao.go b/internal/db/models/user_dao.go index 3114a83e..f4a4a66c 100644 --- a/internal/db/models/user_dao.go +++ b/internal/db/models/user_dao.go @@ -322,8 +322,8 @@ func (this *UserDAO) UpdateUserPassword(tx *dbs.Tx, userId int64, password strin } // CountAllEnabledUsers 计算用户数量 -func (this *UserDAO) CountAllEnabledUsers(tx *dbs.Tx, clusterId int64, keyword string, isVerifying bool) (int64, error) { - query := this.Query(tx) +func (this *UserDAO) CountAllEnabledUsers(tx *dbs.Tx, clusterId int64, keyword string, isVerifying bool, mobileIsVerifiedFlag int32) (int64, error) { + var query = this.Query(tx) query.State(UserStateEnabled) if clusterId > 0 { query.Attr("clusterId", clusterId) @@ -336,6 +336,14 @@ func (this *UserDAO) CountAllEnabledUsers(tx *dbs.Tx, clusterId int64, keyword s query.Where("(isVerified=0 OR (id IN (SELECT userId FROM " + SharedUserIdentityDAO.Table + " WHERE status=:identityStatus AND state=1)))") query.Param("identityStatus", userconfigs.UserIdentityStatusSubmitted) } + + // 手机号是否已验证 + if mobileIsVerifiedFlag == 1 { + query.Where("LENGTH(verifiedMobile)>0") + } else if mobileIsVerifiedFlag == 0 { + query.Where("(verifiedMobile IS NULL OR LENGTH(verifiedMobile)=0)") + } + return query.Count() } @@ -349,8 +357,8 @@ func (this *UserDAO) CountAllVerifyingUsers(tx *dbs.Tx) (int64, error) { } // ListEnabledUsers 列出单页用户 -func (this *UserDAO) ListEnabledUsers(tx *dbs.Tx, clusterId int64, keyword string, isVerifying bool, offset int64, size int64) (result []*User, err error) { - query := this.Query(tx) +func (this *UserDAO) ListEnabledUsers(tx *dbs.Tx, clusterId int64, keyword string, isVerifying bool, mobileIsVerifiedFlag int32, offset int64, size int64) (result []*User, err error) { + var query = this.Query(tx) query.State(UserStateEnabled) if clusterId > 0 { query.Attr("clusterId", clusterId) @@ -363,6 +371,14 @@ func (this *UserDAO) ListEnabledUsers(tx *dbs.Tx, clusterId int64, keyword strin query.Where("(isVerified=0 OR (id IN (SELECT userId FROM " + SharedUserIdentityDAO.Table + " WHERE status=:identityStatus AND state=1)))") query.Param("identityStatus", userconfigs.UserIdentityStatusSubmitted) } + + // 手机号是否已验证 + if mobileIsVerifiedFlag == 1 { + query.Where("LENGTH(verifiedMobile)>0") + } else if mobileIsVerifiedFlag == 0 { + query.Where("(verifiedMobile IS NULL OR LENGTH(verifiedMobile)=0)") + } + _, err = query. DescPk(). Offset(offset). diff --git a/internal/rpc/services/service_admin.go b/internal/rpc/services/service_admin.go index f93bc852..77306c1b 100644 --- a/internal/rpc/services/service_admin.go +++ b/internal/rpc/services/service_admin.go @@ -593,7 +593,7 @@ func (this *AdminService) ComposeAdminDashboard(ctx context.Context, req *pb.Com // 用户数 this.BeginTag(ctx, "SharedUserDAO.CountAllEnabledUsers") - countUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, "", false) + countUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, "", false, -1) this.EndTag(ctx, "SharedUserDAO.CountAllEnabledUsers") if err != nil { return nil, err diff --git a/internal/rpc/services/service_server_stat_board.go b/internal/rpc/services/service_server_stat_board.go index 6a554555..00146162 100644 --- a/internal/rpc/services/service_server_stat_board.go +++ b/internal/rpc/services/service_server_stat_board.go @@ -73,7 +73,7 @@ func (this *ServerStatBoardService) ComposeServerStatNodeClusterBoard(ctx contex } result.CountInactiveNodes = countInactiveNodes - countUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, req.NodeClusterId, "", false) + countUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, req.NodeClusterId, "", false, -1) if err != nil { return nil, err } diff --git a/internal/rpc/services/users/service_user.go b/internal/rpc/services/users/service_user.go index 202512c9..afe7ee35 100644 --- a/internal/rpc/services/users/service_user.go +++ b/internal/rpc/services/users/service_user.go @@ -123,7 +123,7 @@ func (this *UserService) CountAllEnabledUsers(ctx context.Context, req *pb.Count var tx = this.NullTx() - count, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, req.Keyword, req.IsVerifying) + count, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, req.Keyword, req.IsVerifying, req.MobileIsVerified) if err != nil { return nil, err } @@ -139,7 +139,7 @@ func (this *UserService) ListEnabledUsers(ctx context.Context, req *pb.ListEnabl var tx = this.NullTx() - users, err := models.SharedUserDAO.ListEnabledUsers(tx, 0, req.Keyword, req.IsVerifying, req.Offset, req.Size) + users, err := models.SharedUserDAO.ListEnabledUsers(tx, 0, req.Keyword, req.IsVerifying, req.MobileIsVerified, req.Offset, req.Size) if err != nil { return nil, err } @@ -160,19 +160,20 @@ func (this *UserService) ListEnabledUsers(ctx context.Context, req *pb.ListEnabl } result = append(result, &pb.User{ - Id: int64(user.Id), - Username: user.Username, - Fullname: user.Fullname, - Mobile: user.Mobile, - Tel: user.Tel, - Email: user.Email, - Remark: user.Remark, - IsOn: user.IsOn, - RegisteredIP: user.RegisteredIP, - IsVerified: user.IsVerified, - IsRejected: user.IsRejected, - CreatedAt: int64(user.CreatedAt), - NodeCluster: pbCluster, + Id: int64(user.Id), + Username: user.Username, + Fullname: user.Fullname, + Mobile: user.Mobile, + VerifiedMobile: user.VerifiedMobile, + Tel: user.Tel, + Email: user.Email, + Remark: user.Remark, + IsOn: user.IsOn, + RegisteredIP: user.RegisteredIP, + IsVerified: user.IsVerified, + IsRejected: user.IsRejected, + CreatedAt: int64(user.CreatedAt), + NodeCluster: pbCluster, }) } @@ -646,7 +647,7 @@ func (this *UserService) ComposeUserGlobalBoard(ctx context.Context, req *pb.Com var result = &pb.ComposeUserGlobalBoardResponse{} var tx = this.NullTx() - totalUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, "", false) + totalUsers, err := models.SharedUserDAO.CountAllEnabledUsers(tx, 0, "", false, -1) if err != nil { return nil, err }