50 Commits
Author SHA1 Message Date
yml2213 e57c9df6f4 fix(home): 首页业务入口默认展示,避免回收与反馈按钮被总开关隐藏 2026-10-29 11:34:39 +08:00
yml2213 2ce3320d5f fix(systemconfig): 首页入口展示开关与发布选项编码修复 2026-10-22 20:25:57 +08:00
yml2213 9f8c0f9cb2 feat(home-banner): 轮播支持 PC/移动两端分图与热区跳转,热区图悬浮放大;修复上传压缩压白透明 PNG 2026-10-16 16:02:29 +08:00
yml2213 93e102b7c0 feat(sms): 新增节点短信提醒(审核未通过/被租用需辅助/上架未成交) 2026-10-14 14:57:52 +08:00
yml2213andCursor 7833e90eee feat(distribution): 分站品牌装修可配置首页入口并上传图片
分站可单独配置回收、合作反馈和客服二维码,未配置时继承主站;Logo、图标和轮播支持直接上传。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-25 17:44:56 +08:00
yml2213 6acdead0f0 Merge branch 'main' into feature/distribution-system 2026-09-11 09:35:53 +08:00
yml2213 7734f315ce feat(ocr): 支持 PP-OCRv6 异步识别模型并设为默认,解决排队与高延迟问题 2026-09-10 20:12:05 +08:00
yml2213 e3a75fb2d7 feat(distribution): 默认结算冷却天数改为系统配置驱动
新建站点的默认冷却期原先硬编码 7 天(OnboardSite 字面量、DB 列默认、两套前端表单),
改一处要同时动三处。现统一到系统配置键 distribution.default_settlement_hold_days:

- systemconfig 注册该键(默认 7,0=立即释放,0-365 校验),纳入 admin 可见配置
- distribution 建站两条路径(CreateSite 未传值、OnboardSite 缺省)读取该配置,缺失或非法回落 7
- 新增 GET /admin/distribution/site-defaults 暴露当前有效默认值
- Vue / React 站点表单改为运行时拉取,拉取失败保持 7
- DB 列默认值保留作为兜底,站点级 settlement_hold_days 仍可单独覆盖
2026-09-10 18:54:23 +08:00
yml2213 cbd5412315 test: 后端测试从 SQLite 全面切换到 MySQL,与生产环境对齐
测试库不再使用 SQLite 内存库,改为每个测试包独立的 MySQL 库,
表结构由 backend/migrations 的真实迁移建立。

基础设施
- 新增 internal/database/testdb.go:NewTestDB() 保持原签名(28 处调用零改动),
  内部连接 MySQL 测试库,首次调用重建库并执行全部真实迁移,之后每次调用清空全表
- 库名 = 测试库基础名 + 包目录名,同包共享、跨包隔离,使 go test ./... 可并发执行
  (共用一库时各包会互相 DROP/CREATE 导致 database exists)
- 新增 NewDryRunDB():MySQL 方言 + DryRun,供断言 SQL 形态的 5 处测试使用
- 新增 AutoMigrateIfMissing():只对不存在的表 AutoMigrate,
  避免改动迁移定义的索引与约束
- 新增 scripts/prepare-test-db.sh:建库与通配授权,可重复执行
- 33 处 sqlite.Open 全部替换,26 个测试文件改用 MySQL
- 删除 46 处手写 SQLite 方言 DDL(AUTOINCREMENT / INTEGER PRIMARY KEY / TEXT),
  表统一由真实迁移建立
- go.mod 移除 gorm.io/driver/sqlite 与 mattn/go-sqlite3
- 删除生产代码里 distribution/repository.go 的 sqlite 方言分支(strftime)

对齐环境后暴露并修复的真实问题
- DATE(col) 在 MySQL 返回 DATE 类型,使 Date string 字段变成 RFC3339 时间串,
  大盘日期会带出时间部分;28 处改为 DATE_FORMAT(col, '%Y-%m-%d')
- 系统自动创建分销结算批次时 created_by 写入 0,违反指向 admin_users 的外键,
  生产会直接插入失败;改为写 NULL(新增 adminRef helper)
- MySQL DATETIME 仅到秒,静默截断 Go 侧写入的时间,
  导致租用时长计算与结算时点回读比对偏差;
  rental_orders 的 9 个业务时间列提到 DATETIME(6)
- 测试数据补齐严格模式要求的 NOT NULL 列、修正超出列长的取值、补齐外键父记录

迁移
- 000065 的 ALTER TABLE rental_orders 一并完成业务时间列精度调整,
  feature 侧不再单开迁移文件

脚本与文档
- check.sh / check-backend-coverage.sh 去掉 -p 1 串行与 SQLite 相关注释
- 更新 docs/Repository层测试补充总结.md 的测试运行说明
2026-09-10 14:34:01 +08:00
yml2213 33ee8408e9 fix(stability): 修复慢查询雪崩隐患、系统配置死锁与提号翻页错误
- 消除 system_configs 写锁争抢:使用读写锁与启动预热将默认配置初始化收敛为单例,杜绝读请求开事务导致的 Lock wait timeout exceeded
- 强化财务看板缓存:将 Redis 缓存有效期由 1 分钟延长为 5 分钟,接入 singleflight.Group 防并发击穿
- 修复提号列表 GORM 翻页 Bug:分离 Count 查询与列表查询构建,避免重复 Join 导致的 Error 1066
- 生产环境资源加固:docker-compose.prod.yml 中 MySQL 资源限制提升至 2.0 核 CPU、2G 内存
- 补充 systemconfig 并发测试与 pickup 分页 Count 回归测试
2026-09-07 19:45:11 +08:00
yml2213 e418a4dfb1 下赛季通行证选项 增加开关 2026-09-03 20:06:28 +08:00
yml2213 f67ee12d72 新增备份监控与定时配置 2026-08-16 23:53:50 +08:00
yml2213 d9f552577a 新增合作与反馈入口配置 2026-08-15 16:37:30 +08:00
yml2213 88d74aca7d 重构日志与可观测性体系
新增单行文本编码器与结构化 GORM 日志,统一错误记录与请求日志策略,收紧日志文件权限并修复按天切分与压缩,支付回调参数脱敏,生产强制阿里云短信,RequestID 校验防注入,日志文案中文化。
2026-07-29 16:19:35 +08:00
yml2213 c594b543d1 完善租客等级免押与积分管理 2026-07-26 18:07:10 +08:00
yml2213 321f0781cf 实现租客成长等级并优化展示 2026-07-26 11:25:25 +08:00
yml2213 9b1ee445b7 新增首页 AW炫彩回收入口,支持后台配置展示图
首页第三入口点击查看回收说明图;配置项 mobile.aw_recycle 可配标题/图片;aw-recycle 走公开文件链路,首页鉴权预览兼容旧私有地址。
2026-07-19 22:50:16 +08:00
yml2213 fed7d6af71 5 分钟发布一次 2026-06-27 22:26:37 +08:00
yml 35f2d93fdf 完善二维码池 OCR 配置与识别 2026-06-18 15:22:46 +08:00
yml f4361c9804 优化发布群租客清退与历史消息 2026-06-18 09:39:23 +08:00
yml 0a42392d5e 优化发布群配置与二维码池界面 2026-06-17 20:59:24 +08:00
yml2213 ca50b103ec 拆分系统配置 Service 文件职责 2026-06-10 15:10:13 +08:00
yml2213 334436f381 修复 Context 改造后的编译问题 2026-06-10 09:43:49 +08:00
yml2213 b377f8350b 为 9 个模块添加 Context 超时控制
完成模块:
- auth: 3 个 Repository 方法 + Service + Handler + Middleware
- wallet: 已有 context 支持,修复依赖调用
- payment: 已有 context 支持,修复 wallet 调用
- adminaudit: 1 个方法
- notification: 2 个方法
- realname: 2 个方法
- systemconfig: 4 个方法
- adminauth: 7 个方法
- adminuser: 6 个方法

所有数据库调用已改为 r.db.WithContext(ctx),完整传递 context 链路。

待完成模块: order, listing, chat 等 12 个模块(约 157 个方法)
2026-06-10 09:12:27 +08:00
yml2213 9d6b1d945c 修正默认客服分配逻辑 2026-06-08 06:35:56 +08:00
yml2213 a8b3d3813b 优化发布截图上传与押金提示 2026-06-07 21:40:36 +08:00
yml2213 eebd2d3b04 增加发布协议确认配置 2026-06-07 21:14:49 +08:00
ymlandClaude Opus 4.7 5d5bd5af77 feat: 添加租后须知功能并优化发布默认设置
新增功能:
- 添加租后须知查看功能(PC端+移动端)
- 管理后台支持配置租后须知内容
- 默认提供完整的租后须知模板

功能实现:
- 后端:新增 PostRentalNotice API 接口和配置管理
- PC端:在用户下拉菜单添加租后须知入口,独立页面展示
- 移动端:在个人中心实名认证下方添加入口,弹窗展示
- 管理端:新增租后须知配置弹窗,支持编辑和恢复默认

优化改进:
- 修复发布页面默认选中"参考比例"而非"自定比例"
- 移除错误的迁移测试脚本(与 MySQL 8.0 不兼容)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 09:55:11 +08:00
yml2213 3c28297dee 优化弹窗和后台设置字体 2026-06-05 03:06:09 +08:00
yml 6dcea2d56c 完善日志和审计链路 2026-06-02 21:40:23 +08:00
yml2213 8cbd06dca4 后台系统配置列表现在只返回当前真实使用的配置项 2026-05-27 08:40:03 +08:00
yml2213 80c7bb18bb 客户转接系统 2026-05-27 07:58:21 +08:00
yml2213 6fe3c75674 优化admin-gui 2026-05-27 01:14:03 +08:00
yml 95ded72b66 智能押金与33优化 2026-05-24 23:19:37 +08:00
yml 14aafcf728 同步后台结账待办文案 2026-05-24 17:58:11 +08:00
yml c4cfe6dd79 新增订单待支付与支付确认后端流程 2026-05-24 16:29:47 +08:00
yml2213 78257097f1 内部加价分离, 不展示 2026-05-23 21:07:40 +08:00
yml2213 9f15609afd 增加出售设置 2026-05-23 20:43:01 +08:00
yml2213 9cec71ab1a 总价分开展示,展示纯币价格+额外消耗价格 2026-05-23 18:59:07 +08:00
yml2213 80ae8af375 优化烽火地带最小等级 2026-05-23 16:00:16 +08:00
yml2213 b101415e9d 优化发布等各种状态 2026-05-23 15:52:44 +08:00
yml2213 a6a1afb879 删掉租期相关错误东西 2026-05-23 14:44:32 +08:00
yml2213 e6cc9f1255 发布界面优化 2026-05-23 13:47:26 +08:00
yml2213 d90f31360f 优化发布图片问题 2026-05-23 12:19:24 +08:00
yml2213 367f26ffd1 优化发布界面 2026-05-23 11:31:28 +08:00
yml c9db34ddda 优化首页公告与轮播图 2026-05-23 01:50:45 +08:00
yml 96d87483b0 优化首页展示列表 2026-05-23 01:24:05 +08:00
yml b68411166d 优化后端可以编辑皮肤等等 2026-05-22 23:34:18 +08:00
yml aee3455e9a 第 5 阶段:纠纷、通知与后台-2 2026-05-22 16:50:33 +08:00
yml 99f9df7bcd 第 5 阶段:纠纷、通知与后台-1 2026-05-22 16:34:32 +08:00