mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	用户列表中显示实名审核状态
This commit is contained in:
		@@ -226,7 +226,8 @@ func (this *UserDAO) CountAllEnabledUsers(tx *dbs.Tx, clusterId int64, keyword s
 | 
			
		||||
			Param("keyword", dbutils.QuoteLike(keyword))
 | 
			
		||||
	}
 | 
			
		||||
	if isVerifying {
 | 
			
		||||
		query.Attr("isVerified", 0)
 | 
			
		||||
		query.Where("(isVerified=0 OR (id IN (SELECT userId FROM " + SharedUserIdentityDAO.Table + " WHERE status=:identityStatus AND state=1)))")
 | 
			
		||||
		query.Param("identityStatus", userconfigs.UserIdentityStatusSubmitted)
 | 
			
		||||
	}
 | 
			
		||||
	return query.Count()
 | 
			
		||||
}
 | 
			
		||||
@@ -235,7 +236,8 @@ func (this *UserDAO) CountAllEnabledUsers(tx *dbs.Tx, clusterId int64, keyword s
 | 
			
		||||
func (this *UserDAO) CountAllVerifyingUsers(tx *dbs.Tx) (int64, error) {
 | 
			
		||||
	query := this.Query(tx)
 | 
			
		||||
	query.State(UserStateEnabled)
 | 
			
		||||
	query.Attr("isVerified", 0)
 | 
			
		||||
	query.Where("(isVerified=0 OR (id IN (SELECT userId FROM " + SharedUserIdentityDAO.Table + " WHERE status=:identityStatus AND state=1)))")
 | 
			
		||||
	query.Param("identityStatus", userconfigs.UserIdentityStatusSubmitted)
 | 
			
		||||
	return query.Count()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -251,7 +253,8 @@ func (this *UserDAO) ListEnabledUsers(tx *dbs.Tx, clusterId int64, keyword strin
 | 
			
		||||
			Param("keyword", dbutils.QuoteLike(keyword))
 | 
			
		||||
	}
 | 
			
		||||
	if isVerifying {
 | 
			
		||||
		query.Attr("isVerified", 0)
 | 
			
		||||
		query.Where("(isVerified=0 OR (id IN (SELECT userId FROM " + SharedUserIdentityDAO.Table + " WHERE status=:identityStatus AND state=1)))")
 | 
			
		||||
		query.Param("identityStatus", userconfigs.UserIdentityStatusSubmitted)
 | 
			
		||||
	}
 | 
			
		||||
	_, err = query.
 | 
			
		||||
		DescPk().
 | 
			
		||||
 
 | 
			
		||||
@@ -146,7 +146,7 @@ func (this *UserIdentityDAO) RejectUserIdentity(tx *dbs.Tx, identityId int64, re
 | 
			
		||||
	return this.Query(tx).
 | 
			
		||||
		Pk(identityId).
 | 
			
		||||
		Set("status", userconfigs.UserIdentityStatusRejected).
 | 
			
		||||
		Set("rejectedReason", reason).
 | 
			
		||||
		Set("rejectReason", reason).
 | 
			
		||||
		Set("rejectedAt", time.Now().Unix()).
 | 
			
		||||
		UpdateQuickly()
 | 
			
		||||
}
 | 
			
		||||
@@ -207,3 +207,12 @@ func (this *UserIdentityDAO) CheckUserIdentityIsVerified(tx *dbs.Tx, userId int6
 | 
			
		||||
		State(UserIdentityStateEnabled).
 | 
			
		||||
		Exist()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CheckUserIdentityStatus 检查状态
 | 
			
		||||
func (this *UserIdentityDAO) CheckUserIdentityStatus(tx *dbs.Tx, userId int64, status userconfigs.UserIdentityStatus) (bool, error) {
 | 
			
		||||
	return this.Query(tx).
 | 
			
		||||
		Attr("userId", userId).
 | 
			
		||||
		Attr("status", status).
 | 
			
		||||
		State(UserIdentityStateEnabled).
 | 
			
		||||
		Exist()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,39 +4,39 @@ import "github.com/iwind/TeaGo/dbs"
 | 
			
		||||
 | 
			
		||||
// UserIdentity 用户实名认证信息
 | 
			
		||||
type UserIdentity struct {
 | 
			
		||||
	Id             uint64   `field:"id"`             // ID
 | 
			
		||||
	UserId         uint64   `field:"userId"`         // 用户ID
 | 
			
		||||
	OrgType        string   `field:"orgType"`        // 组织类型
 | 
			
		||||
	Type           string   `field:"type"`           // 证件类型
 | 
			
		||||
	RealName       string   `field:"realName"`       // 真实姓名
 | 
			
		||||
	Number         string   `field:"number"`         // 编号
 | 
			
		||||
	FileIds        dbs.JSON `field:"fileIds"`        // 文件ID
 | 
			
		||||
	Status         string   `field:"status"`         // 状态:none,submitted,verified,rejected
 | 
			
		||||
	State          uint8    `field:"state"`          // 状态
 | 
			
		||||
	CreatedAt      uint64   `field:"createdAt"`      // 创建时间
 | 
			
		||||
	UpdatedAt      uint64   `field:"updatedAt"`      // 修改时间
 | 
			
		||||
	SubmittedAt    uint64   `field:"submittedAt"`    // 提交时间
 | 
			
		||||
	RejectedAt     uint64   `field:"rejectedAt"`     // 拒绝时间
 | 
			
		||||
	VerifiedAt     uint64   `field:"verifiedAt"`     // 认证时间
 | 
			
		||||
	RejectedReason string   `field:"rejectedReason"` // 拒绝原因
 | 
			
		||||
	Id           uint64   `field:"id"`           // ID
 | 
			
		||||
	UserId       uint64   `field:"userId"`       // 用户ID
 | 
			
		||||
	OrgType      string   `field:"orgType"`      // 组织类型
 | 
			
		||||
	Type         string   `field:"type"`         // 证件类型
 | 
			
		||||
	RealName     string   `field:"realName"`     // 真实姓名
 | 
			
		||||
	Number       string   `field:"number"`       // 编号
 | 
			
		||||
	FileIds      dbs.JSON `field:"fileIds"`      // 文件ID
 | 
			
		||||
	Status       string   `field:"status"`       // 状态:none,submitted,verified,rejected
 | 
			
		||||
	State        uint8    `field:"state"`        // 状态
 | 
			
		||||
	CreatedAt    uint64   `field:"createdAt"`    // 创建时间
 | 
			
		||||
	UpdatedAt    uint64   `field:"updatedAt"`    // 修改时间
 | 
			
		||||
	SubmittedAt  uint64   `field:"submittedAt"`  // 提交时间
 | 
			
		||||
	RejectedAt   uint64   `field:"rejectedAt"`   // 拒绝时间
 | 
			
		||||
	VerifiedAt   uint64   `field:"verifiedAt"`   // 认证时间
 | 
			
		||||
	RejectReason string   `field:"rejectReason"` // 拒绝原因
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type UserIdentityOperator struct {
 | 
			
		||||
	Id             interface{} // ID
 | 
			
		||||
	UserId         interface{} // 用户ID
 | 
			
		||||
	OrgType        interface{} // 组织类型
 | 
			
		||||
	Type           interface{} // 证件类型
 | 
			
		||||
	RealName       interface{} // 真实姓名
 | 
			
		||||
	Number         interface{} // 编号
 | 
			
		||||
	FileIds        interface{} // 文件ID
 | 
			
		||||
	Status         interface{} // 状态:none,submitted,verified,rejected
 | 
			
		||||
	State          interface{} // 状态
 | 
			
		||||
	CreatedAt      interface{} // 创建时间
 | 
			
		||||
	UpdatedAt      interface{} // 修改时间
 | 
			
		||||
	SubmittedAt    interface{} // 提交时间
 | 
			
		||||
	RejectedAt     interface{} // 拒绝时间
 | 
			
		||||
	VerifiedAt     interface{} // 认证时间
 | 
			
		||||
	RejectedReason interface{} // 拒绝原因
 | 
			
		||||
	Id           interface{} // ID
 | 
			
		||||
	UserId       interface{} // 用户ID
 | 
			
		||||
	OrgType      interface{} // 组织类型
 | 
			
		||||
	Type         interface{} // 证件类型
 | 
			
		||||
	RealName     interface{} // 真实姓名
 | 
			
		||||
	Number       interface{} // 编号
 | 
			
		||||
	FileIds      interface{} // 文件ID
 | 
			
		||||
	Status       interface{} // 状态:none,submitted,verified,rejected
 | 
			
		||||
	State        interface{} // 状态
 | 
			
		||||
	CreatedAt    interface{} // 创建时间
 | 
			
		||||
	UpdatedAt    interface{} // 修改时间
 | 
			
		||||
	SubmittedAt  interface{} // 提交时间
 | 
			
		||||
	RejectedAt   interface{} // 拒绝时间
 | 
			
		||||
	VerifiedAt   interface{} // 认证时间
 | 
			
		||||
	RejectReason interface{} // 拒绝原因
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewUserIdentityOperator() *UserIdentityOperator {
 | 
			
		||||
 
 | 
			
		||||
@@ -71,18 +71,18 @@ func (this *UserIdentityService) FindEnabledUserIdentity(ctx context.Context, re
 | 
			
		||||
 | 
			
		||||
	return &pb.FindEnabledUserIdentityResponse{
 | 
			
		||||
		UserIdentity: &pb.UserIdentity{
 | 
			
		||||
			Id:             int64(identity.Id),
 | 
			
		||||
			Type:           identity.Type,
 | 
			
		||||
			RealName:       identity.RealName,
 | 
			
		||||
			Number:         identity.Number,
 | 
			
		||||
			FileIds:        identity.DecodeFileIds(),
 | 
			
		||||
			Status:         identity.Status,
 | 
			
		||||
			CreatedAt:      int64(identity.CreatedAt),
 | 
			
		||||
			UpdatedAt:      int64(identity.UpdatedAt),
 | 
			
		||||
			SubmittedAt:    int64(identity.SubmittedAt),
 | 
			
		||||
			RejectedAt:     int64(identity.RejectedAt),
 | 
			
		||||
			VerifiedAt:     int64(identity.VerifiedAt),
 | 
			
		||||
			RejectedReason: identity.RejectedReason,
 | 
			
		||||
			Id:           int64(identity.Id),
 | 
			
		||||
			Type:         identity.Type,
 | 
			
		||||
			RealName:     identity.RealName,
 | 
			
		||||
			Number:       identity.Number,
 | 
			
		||||
			FileIds:      identity.DecodeFileIds(),
 | 
			
		||||
			Status:       identity.Status,
 | 
			
		||||
			CreatedAt:    int64(identity.CreatedAt),
 | 
			
		||||
			UpdatedAt:    int64(identity.UpdatedAt),
 | 
			
		||||
			SubmittedAt:  int64(identity.SubmittedAt),
 | 
			
		||||
			RejectedAt:   int64(identity.RejectedAt),
 | 
			
		||||
			VerifiedAt:   int64(identity.VerifiedAt),
 | 
			
		||||
			RejectReason: identity.RejectReason,
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
@@ -111,22 +111,38 @@ func (this *UserIdentityService) FindEnabledUserIdentityWithOrgType(ctx context.
 | 
			
		||||
 | 
			
		||||
	return &pb.FindEnabledUserIdentityWithOrgTypeResponse{
 | 
			
		||||
		UserIdentity: &pb.UserIdentity{
 | 
			
		||||
			Id:             int64(identity.Id),
 | 
			
		||||
			Type:           identity.Type,
 | 
			
		||||
			RealName:       identity.RealName,
 | 
			
		||||
			Number:         identity.Number,
 | 
			
		||||
			FileIds:        identity.DecodeFileIds(),
 | 
			
		||||
			Status:         identity.Status,
 | 
			
		||||
			CreatedAt:      int64(identity.CreatedAt),
 | 
			
		||||
			UpdatedAt:      int64(identity.UpdatedAt),
 | 
			
		||||
			SubmittedAt:    int64(identity.SubmittedAt),
 | 
			
		||||
			RejectedAt:     int64(identity.RejectedAt),
 | 
			
		||||
			VerifiedAt:     int64(identity.VerifiedAt),
 | 
			
		||||
			RejectedReason: identity.RejectedReason,
 | 
			
		||||
			Id:           int64(identity.Id),
 | 
			
		||||
			Type:         identity.Type,
 | 
			
		||||
			RealName:     identity.RealName,
 | 
			
		||||
			Number:       identity.Number,
 | 
			
		||||
			FileIds:      identity.DecodeFileIds(),
 | 
			
		||||
			Status:       identity.Status,
 | 
			
		||||
			CreatedAt:    int64(identity.CreatedAt),
 | 
			
		||||
			UpdatedAt:    int64(identity.UpdatedAt),
 | 
			
		||||
			SubmittedAt:  int64(identity.SubmittedAt),
 | 
			
		||||
			RejectedAt:   int64(identity.RejectedAt),
 | 
			
		||||
			VerifiedAt:   int64(identity.VerifiedAt),
 | 
			
		||||
			RejectReason: identity.RejectReason,
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CheckUserIdentityIsSubmitted 检查是否正在审核中
 | 
			
		||||
func (this *UserIdentityService) CheckUserIdentityIsSubmitted(ctx context.Context, req *pb.CheckUserIdentityIsSubmittedRequest) (*pb.CheckUserIdentityIsSubmittedResponse, error) {
 | 
			
		||||
	_, err := this.ValidateAdmin(ctx)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var tx = this.NullTx()
 | 
			
		||||
	isSubmitted, err := models.SharedUserIdentityDAO.CheckUserIdentityStatus(tx, req.UserId, userconfigs.UserIdentityStatusSubmitted)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &pb.CheckUserIdentityIsSubmittedResponse{IsSubmitted: isSubmitted}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateUserIdentity 修改身份认证信息
 | 
			
		||||
func (this *UserIdentityService) UpdateUserIdentity(ctx context.Context, req *pb.UpdateUserIdentityRequest) (*pb.RPCSuccess, error) {
 | 
			
		||||
	userId, err := this.ValidateUserNode(ctx)
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user