feat: 实现平台抽成、提现审批、异步任务集成及安全审计功能

This commit is contained in:
2025-12-30 14:54:19 +08:00
parent 5e8dbec806
commit ee1acae3ed
25 changed files with 985 additions and 60 deletions

View File

@@ -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)