fix(realname): 增加身份证唯一性校验,防止同一证件重复实名
This commit is contained in:
@@ -3,19 +3,21 @@ package model
|
||||
import "time"
|
||||
|
||||
type UserRealname struct {
|
||||
ID uint64 `gorm:"primaryKey" json:"id"`
|
||||
UserID uint64 `gorm:"not null;uniqueIndex" json:"user_id"`
|
||||
Provider string `gorm:"size:32;not null" json:"provider"`
|
||||
ProviderOrderNo string `gorm:"size:128;not null;default:''" json:"provider_order_no"`
|
||||
Status string `gorm:"size:32;not null;default:'pending'" json:"status"`
|
||||
MaskedName string `gorm:"size:64;not null;default:''" json:"masked_name"`
|
||||
EncryptedName string `gorm:"size:255;not null;default:''" json:"encrypted_name"`
|
||||
MaskedIDNo string `gorm:"size:64;not null;default:''" json:"masked_id_no"`
|
||||
EncryptedIDNo string `gorm:"size:255;not null;default:''" json:"encrypted_id_no"`
|
||||
VerifiedAt *time.Time `json:"verified_at"`
|
||||
FailReason string `gorm:"size:255;not null;default:''" json:"fail_reason"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
ID uint64 `gorm:"primaryKey" json:"id"`
|
||||
UserID uint64 `gorm:"not null;uniqueIndex" json:"user_id"`
|
||||
Provider string `gorm:"size:32;not null" json:"provider"`
|
||||
ProviderOrderNo string `gorm:"size:128;not null;default:''" json:"provider_order_no"`
|
||||
Status string `gorm:"size:32;not null;default:'pending'" json:"status"`
|
||||
MaskedName string `gorm:"size:64;not null;default:''" json:"masked_name"`
|
||||
EncryptedName string `gorm:"size:255;not null;default:''" json:"encrypted_name"`
|
||||
MaskedIDNo string `gorm:"size:64;not null;default:'';index:idx_user_realname_masked_id_no" json:"masked_id_no"`
|
||||
EncryptedIDNo string `gorm:"size:255;not null;default:''" json:"encrypted_id_no"`
|
||||
// IDNoHash 是身份证号的不可逆指纹,仅认证通过时写入;唯一索引保证同一身份证只能绑定一个账号。
|
||||
IDNoHash *string `gorm:"size:64;uniqueIndex:uk_user_realname_id_no_hash" json:"-"`
|
||||
VerifiedAt *time.Time `json:"verified_at"`
|
||||
FailReason string `gorm:"size:255;not null;default:''" json:"fail_reason"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (UserRealname) TableName() string {
|
||||
|
||||
Reference in New Issue
Block a user