mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package users
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
						|
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
						|
	"github.com/iwind/TeaGo/maps"
 | 
						|
	timeutil "github.com/iwind/TeaGo/utils/time"
 | 
						|
)
 | 
						|
 | 
						|
type IndexAction struct {
 | 
						|
	actionutils.ParentAction
 | 
						|
}
 | 
						|
 | 
						|
func (this *IndexAction) Init() {
 | 
						|
	this.Nav("", "", "")
 | 
						|
}
 | 
						|
 | 
						|
func (this *IndexAction) RunGet(params struct {
 | 
						|
	Keyword   string
 | 
						|
	Verifying bool
 | 
						|
}) {
 | 
						|
	this.Data["keyword"] = params.Keyword
 | 
						|
	this.Data["isVerifying"] = params.Verifying
 | 
						|
 | 
						|
	// 未审核的总数量
 | 
						|
	countVerifyingUsersResp, err := this.RPC().UserRPC().CountAllEnabledUsers(this.AdminContext(), &pb.CountAllEnabledUsersRequest{
 | 
						|
		IsVerifying: true,
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		this.ErrorPage(err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
	this.Data["countVerifyingUsers"] = countVerifyingUsersResp.Count
 | 
						|
 | 
						|
	// 当前匹配的数量
 | 
						|
	countResp, err := this.RPC().UserRPC().CountAllEnabledUsers(this.AdminContext(), &pb.CountAllEnabledUsersRequest{
 | 
						|
		Keyword:     params.Keyword,
 | 
						|
		IsVerifying: params.Verifying,
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		this.ErrorPage(err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
	count := countResp.Count
 | 
						|
	page := this.NewPage(count)
 | 
						|
	this.Data["page"] = page.AsHTML()
 | 
						|
 | 
						|
	usersResp, err := this.RPC().UserRPC().ListEnabledUsers(this.AdminContext(), &pb.ListEnabledUsersRequest{
 | 
						|
		Keyword:     params.Keyword,
 | 
						|
		IsVerifying: params.Verifying,
 | 
						|
		Offset:      page.Offset,
 | 
						|
		Size:        page.Size,
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		this.ErrorPage(err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
	var userMaps = []maps.Map{}
 | 
						|
	for _, user := range usersResp.Users {
 | 
						|
		var clusterMap maps.Map = nil
 | 
						|
		if user.NodeCluster != nil {
 | 
						|
			clusterMap = maps.Map{
 | 
						|
				"id":   user.NodeCluster.Id,
 | 
						|
				"name": user.NodeCluster.Name,
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		isSubmittedResp, err := this.RPC().UserIdentityRPC().CheckUserIdentityIsSubmitted(this.AdminContext(), &pb.CheckUserIdentityIsSubmittedRequest{UserId: user.Id})
 | 
						|
		if err != nil {
 | 
						|
			this.ErrorPage(err)
 | 
						|
			return
 | 
						|
		}
 | 
						|
		var identityIsSubmitted = isSubmittedResp.IsSubmitted
 | 
						|
 | 
						|
		userMaps = append(userMaps, maps.Map{
 | 
						|
			"id":                  user.Id,
 | 
						|
			"username":            user.Username,
 | 
						|
			"isOn":                user.IsOn,
 | 
						|
			"fullname":            user.Fullname,
 | 
						|
			"email":               user.Email,
 | 
						|
			"mobile":              user.Mobile,
 | 
						|
			"tel":                 user.Tel,
 | 
						|
			"createdTime":         timeutil.FormatTime("Y-m-d H:i:s", user.CreatedAt),
 | 
						|
			"cluster":             clusterMap,
 | 
						|
			"registeredIP":        user.RegisteredIP,
 | 
						|
			"isVerified":          user.IsVerified,
 | 
						|
			"isRejected":          user.IsRejected,
 | 
						|
			"identityIsSubmitted": identityIsSubmitted,
 | 
						|
		})
 | 
						|
	}
 | 
						|
	this.Data["users"] = userMaps
 | 
						|
 | 
						|
	this.Show()
 | 
						|
}
 |