feat: 实现平台抽成、提现审批、异步任务集成及安全审计功能
This commit is contained in:
@@ -2,6 +2,7 @@ package services
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
@@ -131,12 +132,37 @@ func (s *user) RealName(ctx context.Context, form *user_dto.RealNameForm) error
|
||||
}
|
||||
uid := cast.ToInt64(userID)
|
||||
|
||||
// TODO: 调用实名认证接口校验
|
||||
// Mock Verification
|
||||
if len(form.IDCard) != 18 {
|
||||
return errorx.ErrBadRequest.WithMsg("身份证号格式错误")
|
||||
}
|
||||
if form.Realname == "" {
|
||||
return errorx.ErrBadRequest.WithMsg("真实姓名不能为空")
|
||||
}
|
||||
|
||||
tbl, query := models.UserQuery.QueryContext(ctx)
|
||||
_, err := query.Where(tbl.ID.Eq(uid)).Updates(&models.User{
|
||||
u, err := query.Where(tbl.ID.Eq(uid)).First()
|
||||
if err != nil {
|
||||
return errorx.ErrRecordNotFound
|
||||
}
|
||||
|
||||
var metaMap map[string]interface{}
|
||||
if len(u.Metas) > 0 {
|
||||
_ = json.Unmarshal(u.Metas, &metaMap)
|
||||
}
|
||||
if metaMap == nil {
|
||||
metaMap = make(map[string]interface{})
|
||||
}
|
||||
// Mock encryption
|
||||
metaMap["real_name"] = form.Realname
|
||||
metaMap["id_card"] = "ENC:" + form.IDCard
|
||||
|
||||
b, _ := json.Marshal(metaMap)
|
||||
|
||||
_, err = query.Where(tbl.ID.Eq(uid)).Updates(&models.User{
|
||||
IsRealNameVerified: true,
|
||||
// RealName: form.Realname, // 需在 user 表添加字段? payout_accounts 有 realname
|
||||
VerifiedAt: time.Now(),
|
||||
Metas: types.JSON(b),
|
||||
})
|
||||
if err != nil {
|
||||
return errorx.ErrDatabaseError.WithCause(err)
|
||||
|
||||
Reference in New Issue
Block a user