Commit Graph
169 Commits
Author SHA1 Message Date
martin 75bc4038db fix:修复文件管理可能导致的越权操作 2026-07-25 20:10:35 +08:00
martin 48c72f1eb4 chore:抽取公共方法降低重复代码 2026-07-25 19:59:28 +08:00
martin e9b5592666 fix:修复租户数据导出功能 2026-07-25 19:57:50 +08:00
qian 9374c64bad feat:用户多次输错密码被锁后可以由管理员解锁 2026-07-24 00:18:29 +08:00
qian ed0e6b5bbe improve:全面使用decimal进行计算 2026-07-23 23:19:16 +08:00
qian 44424dfb67 feat:统一汇率转换方向 2026-07-23 23:06:40 +08:00
chengqian c0a0d9b7ac Merge remote-tracking branch 'origin/fix/ai_check' into fix/ai_check 2026-07-23 22:10:02 +08:00
chengqian 108078614d fix: 金额 float64 → decimal 全链路迁移,消除浮点累积漂移
将全库资金金额从 float64 迁移到 shopspring/decimal,落定边界架构:
入口 NewFromFloat → 内部多步运算全程 decimal → 出口 InexactFloat64;
DB NUMERIC(20,10) 走 driver.Valuer 精确直传,Redis 钱包用整数 micro-USD,
CNY→USD 换汇仅在 payment.FulfillOrder recharge 分支。

- money.go 重写为 decimal 原生(运算/收敛/比较/边界/micro 工具)
- billing/tenant/admin/payment/open/task 各层金额运算 decimal 化
- entity/do 资金列重生成为 decimal.Decimal(可空列 *decimal.Decimal)
- 000013 迁移:非金额 NUMERIC 列 → double precision(5 表 13 列)
- Res 出口 .InexactFloat64() 收敛,JSONB 快照缝隙显式转 float64
- CLAUDE.md 新增 decimal 强约束;补充迁移基线/完成总结文档
2026-07-23 22:08:54 +08:00
chengqian 95e5283e28 fix:修复float金额带来的误差 2026-07-23 17:36:38 +08:00
qian 52ef686202 feat:模型列表显示模型可用渠道 2026-07-23 00:32:44 +08:00
chengqian 4b13477a83 fix: 修复代码分析报告中安全章节的高危问题
- 错误日志脱敏: response 包新增 sanitizeRequestBody, 对写入
  sys_error_logs 的 JSON 请求体递归脱敏 password/secret/token/code
  等敏感字段, 非 JSON 体不落原文, 防止明文密码入库
- 验证码防暴力破解: VerifyCode 验证侧增加 Redis 失败计数,
  10 分钟内失败 5 次锁定, 成功后清零
- TOTP 防重放: security.go 新增 validateTOTPOnce 守卫
  (SET NX EX 90), 4 处调用方统一接入, Redis 故障 fail-open
- 管理员 Role 补字段级白名单 v:"in:super_admin,admin" (纵深防御)
- 同步更新 docs/claude代码分析.md 安全章节处置状态
2026-07-22 18:57:11 +08:00
chengqian 8a68f6a501 fix: 修复代码分析报告中的中等优先级问题
修复 docs/claude代码分析.md 中等优先级的 8 项确认问题:

- tenant/project.go:ProjectUpdate/Archive/Unarchive 的 UPDATE 补上
  tenant_id 过滤,恢复写操作租户隔离约定
- taskchannel(ali/sora/suno/volcengine/midjourney):裸 http.Client 改为
  common.NewPooledClient(走连接池 + 尊重渠道 UseProxy),不再丢弃
  BuildRequestHeader 的错误
- handler/public/payment.go:支付回调失败补日志,伪造/篡改尝试可追溯
- billing/wallet.go + payment/fulfill.go:新增导出 InvalidateWallet
  同时清进程内 walletCache 与 Redis,消除充值后读到旧余额
- logic/task/task.go:ExecuteTask 领取任务改为原子 CAS,多副本不再重复执行
- middleware/rbac.go:matchPermission 后缀匹配改为按路径分段边界,
  修复 /test 规则误命中 .../latest
- admin/channel.go + channel_oauth.go:渠道→密钥跨表写入包进事务,
  杜绝孤儿渠道
- admin/promo_code.go:CreatePromoCode 增加字段白名单,对齐 UpdatePromoCode

另有 6 项经评估暂不修改(配额非原子/补扣负数/无 jti token/setup 竞态/
crypto AAD/turnstile 校验),原因见分析报告说明。
2026-07-22 18:43:38 +08:00
chengqian 527a59d557 fix: 修复代码分析报告中的低优先级问题
- notification.go: containsAny 改用 strings.Contains 简化
- docs/openapi.go: buildOpenAPISpec 透传 ctx,消除 nil context
- batch_writer.go: 缓冲区溢出丢弃记录时增加计数与告警日志
- billing/wallet.go: 删除无调用方的死代码 CheckBalance
- tenant/open_platform.go: WebhookConfigUpdate 校验受影响行数
- tenant/member_import.go: 后台导入改用 WithoutCancel 保留 request_id
- session.go: GetSessionByID/RevokeSession 增加 user_type 隔离,
  防止 admin/tenant 跨控制台按 ID 吊销他人会话
2026-07-22 18:11:02 +08:00
Qianandchengqian be9e707bfd 修复异步图片导致的多个问题 (#12)
* fix:修复响应污染问题

* fix:修改存储相关文件为中文注释

* fix:修复二次退款问题

* fix:修复多个考虑不全面问题
1.误删用户数据
2.R2存储默认区域
3.删除失败导致孤儿记录
4.网络抖动事变时重试
5.前端无限次请求获取图片
6.文件管理权限

* fix:修复字符串截断异常问题和文件下载超时问题

* fix:修复多图问题

* fix:异步生成图片时未配置oss提示错误信息

* fix:修复关闭异步后同步生成出错问题

* feat:新增文件存储测试功能,防止设置后不生效

* fix:修复同步图片转异步后计费错误

* fix:修复无下限扣款问题

* fix:修复结算重复扣款问题

* fix:修复计费出错导致的0费用结算

* fix:修复回调双重履约

* fix:修复预扣事务

* fix:修复费用字段类型问题

* fix:修复缓存问题

* fix:修复安全问题

* fix:修复数据库操作事务问题

* refactor:重构事务使用方式,改为官方推荐的dao形式

* fix:修复余额更新隐患

* fix:修复N+1查询问题

* fix:修复密钥安全问题

* fix:结算失败时打印错误日志

* improve:优化扣款

* fix:修复用户接口越权

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
2026-07-22 17:53:18 +08:00
qian c237fb6c3f fix:修复模型列表过滤参数无法筛选定价 2026-07-18 22:57:04 +08:00
qian 5c19806752 fix:修复任务日志中平台信息错误 2026-07-18 01:31:44 +08:00
fa053529af 图片请求统一异步处理 (#11)
* fix:未导入unicode包

* feat:图片异步转换

* feat:添加R2支持

* feat:新增文件管理

* fix:修复错误信息双写导致响应异常

* chore:渠道列表中添加快捷启用停止按钮

* fix:修复模型异常终端导致报错的问题

* improve:优化无可用渠道的日志打印,减少日志污染

* fix:在线体验出错缺少提示信息

* fix:修复日志库问题,只有请求日志保存到独立的库中

* feat:新增阿里图片模型说明文档

* fix:阿里千问图片生成

* fix:修复图片异步控制无效问题

* improve:优化文件展示,支持缩略图查看

* feat:实时监控中添加图片异步转换池状态信息

* improve:优化在线体验页面布局

* fix:修复异步任务状态显示异常问题

* feat:图片异步任务停止时等待任务完成后再退出程序

* chore:调整存储路径

---------

Co-authored-by: qian <wuchengqian5@163.com>
Co-authored-by: chengqian <wuchengqian@kkidc.com>
2026-07-18 00:26:13 +08:00
qian 88447ac558 fix:未导入unicode包 2026-06-24 00:03:16 +08:00
79b9224968 注册功能优化 (#10)
* fix:修复权限问题

* fix:修复项目key类型错误问题

* fix:修复rbac权限问题

* fix:修复api密钥未及时失效的问题

* improve:优化渠道调度稳定性

* improve:优化路由

* fix:修复项目预算控制缺陷

* fix:加强限流等安全措施

* feat:添加限流相关字段的前端展示及接口字段

* improve:优化注册时密码要求,只需要字母和数字即可

* feat(setting):添加注册限流设置

* improve:优化前端数字类型转换

* chore:rbac权限放行

* feat:团队功能作为可选项,允许不设置团队的情况下进行注册

* feat:团队code只能设置一次

* improve:优化组织名称限制

* chore:合并数据库版本文件

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
Co-authored-by: qian <wuchengqian5@163.com>
2026-06-23 23:07:36 +08:00
22ee0aa112 修复安全问题 (#9)
* fix:修复权限问题

* fix:修复项目key类型错误问题

* fix:修复rbac权限问题

* fix:修复api密钥未及时失效的问题

* improve:优化渠道调度稳定性

* improve:优化路由

* fix:修复项目预算控制缺陷

* fix:加强限流等安全措施

* feat:添加限流相关字段的前端展示及接口字段

* improve:优化注册时密码要求,只需要字母和数字即可

* feat(setting):添加注册限流设置

* improve:优化前端数字类型转换

* chore:rbac权限放行

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
Co-authored-by: qian <wuchengqian5@163.com>
2026-06-23 22:47:54 +08:00
Qianandqian 501726b831 优化用户相关功能 (#8)
* improve(user):优化注册功能提示

* improve(user):优化邮箱大小写重复问题

* improve(user):添加密码强度指示器

* fix(setting):修复系统设置功能里面的数字转换问题

* feat(email):优化邮件发送功能

* chore(email):移除无用配置和日志

* fix(user):修复重置密码功能

* chore(ui):调整轮询间隔

* chore(ui):添加充值提示

* chore(ui):优化用户注册功能

* chore(sql):补充数据库变更文件

* fix(email):优化邮箱校验

---------

Co-authored-by: qian <wuchengqian5@163.com>
2026-06-17 22:47:26 +08:00
qian f5af9fbf07 fix(setting):修复公开配置项未准确设置 2026-06-13 21:09:24 +08:00
qian 6712ec88df fix(pay):修复订单回调和超时未关闭问题 2026-06-13 20:15:48 +08:00
qian 2797760844 fix(pay):易支付功能改为post请求 2026-06-13 20:06:42 +08:00
qian a34a28a60f fix:使用禁止词汇时提示信息不准确的问题 2026-06-13 14:55:01 +08:00
qian cea265a1dd fix:修复Turnstile真人验证功能 2026-06-13 14:36:58 +08:00
qian 6809081f37 feat(model):veo视频模型适配 2026-06-13 09:26:37 +08:00
qian f897bf209e fix:修复SQL查询语法错误问题 2026-06-13 00:21:33 +08:00
qian acd2e01ae5 feat:添加账号禁用词功能 2026-06-12 01:23:40 +08:00
qian 73ab89d551 feat:完善租户端注册时的用户协议功能 2026-06-12 00:43:55 +08:00
chengqian a1f637fb2a feat:添加用户协议文档管理功能 2026-06-11 17:49:55 +08:00
chengqian 6dc69944d1 feat:模型分组添加默认字段 2026-06-11 16:10:54 +08:00
chengqian 5f72629835 feat:添加模型数据来源 2026-06-11 15:11:00 +08:00
chengqian 1d4d9836da fix:修复钱包功能相关问题 2026-06-11 12:28:44 +08:00
qian c55e2d0164 fix(model):修复模型缓存问题导致租户分配了模型却不能用 2026-06-11 00:17:45 +08:00
martin 2425cbad23 improve:优化租户端任务日志 2026-06-10 22:08:36 +08:00
qian 1bede7b0ea Merge remote-tracking branch 'origin/dev' into dev 2026-06-10 20:52:34 +08:00
chengqian a389ff5fe5 fix:模型标签显示异常 2026-06-10 15:11:54 +08:00
qian cd47f55ded improve:优化超时时间,最多10分钟超时 2026-06-10 01:10:12 +08:00
martin 9fff10bf51 Merge remote-tracking branch 'origin/dev' into dev 2026-06-10 00:20:53 +08:00
martin 16e8ee4346 feat:计费管理改交易流水 2026-06-10 00:16:25 +08:00
martin b2137d4969 chore:移除系统更新设置项,此项无用 2026-06-09 23:44:30 +08:00
qian 0b3f728570 fix:修复oauth授权失败问题 2026-06-09 23:38:47 +08:00
qian 974efb6685 fix:修复设置功能页面布尔值转为字符串的错误处理方式 2026-06-09 22:53:20 +08:00
qian 3e06f6b2f4 Merge branch 'main' into dev 2026-06-09 22:26:38 +08:00
qian 455dbe48f5 fix:修复程序退出时卡住的问题 2026-06-09 22:20:37 +08:00
qian 5af43ff313 fix:修复webhook定时任务删除sql语法错误 2026-06-09 22:13:23 +08:00
chengqian e5e7080ddf feat:添加Turnstile验证 2026-06-09 18:51:45 +08:00
chengqian 13073babc0 feat:添加注册频率限制 2026-06-09 13:45:23 +08:00
chengqian 91e1ed456a Merge branch 'main' into dev 2026-06-09 11:47:10 +08:00