实名认证对接--ok
This commit is contained in:
@@ -7,22 +7,28 @@ import (
|
||||
"strings"
|
||||
|
||||
"hfb_sys/backend/internal/model"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
const (
|
||||
StatusPending = "pending"
|
||||
StatusVerified = "verified"
|
||||
StatusFailed = "failed"
|
||||
StatusRejected = "rejected"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrDependencyUnavailable = errors.New("dependency unavailable")
|
||||
ErrInvalidRealnameInput = errors.New("invalid realname input")
|
||||
ErrProviderConfigInvalid = errors.New("realname provider config invalid")
|
||||
ErrProviderRateLimited = errors.New("realname provider rate limited")
|
||||
ErrProviderUnavailable = errors.New("realname provider unavailable")
|
||||
)
|
||||
|
||||
type Service struct {
|
||||
repo *Repository
|
||||
provider Provider
|
||||
log *zap.Logger
|
||||
}
|
||||
|
||||
type PublicStatus struct {
|
||||
@@ -35,8 +41,8 @@ type PublicStatus struct {
|
||||
FailReason string `json:"fail_reason,omitempty"`
|
||||
}
|
||||
|
||||
func NewService(repo *Repository, provider Provider) *Service {
|
||||
return &Service{repo: repo, provider: provider}
|
||||
func NewService(repo *Repository, provider Provider, log *zap.Logger) *Service {
|
||||
return &Service{repo: repo, provider: provider, log: log}
|
||||
}
|
||||
|
||||
func (s *Service) Start(ctx context.Context, userID uint64, name string, idNo string) (*model.UserRealname, error) {
|
||||
@@ -54,9 +60,18 @@ func (s *Service) Start(ctx context.Context, userID uint64, name string, idNo st
|
||||
IDNo: idNo,
|
||||
})
|
||||
if err != nil {
|
||||
if s.log != nil {
|
||||
s.log.Warn(
|
||||
"realname provider verify failed",
|
||||
zap.String("provider", s.provider.Name()),
|
||||
zap.Uint64("user_id", userID),
|
||||
zap.String("masked_id_no", maskIDNo(idNo)),
|
||||
zap.Error(err),
|
||||
)
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
return s.repo.SaveResult(userID, "mock", result)
|
||||
return s.repo.SaveResult(userID, s.provider.Name(), result)
|
||||
}
|
||||
|
||||
func (s *Service) Status(userID uint64) (PublicStatus, error) {
|
||||
|
||||
Reference in New Issue
Block a user