yml2213 and Cursor
768902f2f7
feat(distribution): 补齐退款加价回退、本站自卖与开通默认规则
...
退款时压缩卖方加价,人工/自动批次仅完结单可入账,号主收入进主站钱包;仲裁后重算释放并支持作废未入账 DS。开通时四种模式按默认生效,对外口径合并为 35/40/25,不再单独展示通道费。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:13:46 +08:00
yml2213 and Cursor
647fdc0b4a
feat(distribution): 通道费改主站承担,并按冷却期自动释放结算
...
利润不再扣支付通道费;站点可配置结算冷却期,到期自动入账,已释放后退款从收款站钱包回冲。同时修复当日自动批次无法追加、三方回冲打错钱包,以及测试库自增重置被 MySQL 统计缓存跳过的问题。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 17:11:58 +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
7ffc3822f5
Merge branch 'main' into feature/distribution-system
...
合入 main 的推广追踪(adtracking)模块,并解决与分销业务的 8 处冲突。
冲突解决原则:两边的字段、菜单与路由全部保留,不删任何一方。
后端:
- model/order.go:保留分销字段注释块,追加 SourceTrackCode
- model/user.go:追加 RegisterTrackCode;TokenVersion 默认值保持 1
(与本库 users.token_version 列默认值一致)
- auth/repository.go:两处建号结构体同时写入 RegisterTrackCode 与 TokenVersion
- order/dto.go:OrderDTO 同时暴露 distribution_site_id 与 source_track_code;
CreateRequest 同时接受 distribution_site_code 与 track_code
- order/presenter.go:同时映射 DistributionSiteID 与 SourceTrackCode
前端:
- orders/api/orders.ts:createOrder 同时携带 distribution_site_code 与 track_code
- layouts/AdminLayout.vue:分销管理菜单组与推广追踪菜单组并列保留
- router/adminRoutes.ts:分销 4 条路由与 tracking-links 路由并列保留
迁移:feature 侧 000064-000067 已在前一提交顺延为 000065-000068,
为 main 的 000064_ad_tracking 让号,合并后编号 000063→000068 连续无重复。
2026-09-10 13:06:18 +08:00
yml2213
6a3611c1a8
fix(adtracking): 修复生产网关反代路由、成交态统计口径与安全加固
2026-09-10 11:17:40 +08:00
yml2213
2b11d70ebe
feat(adtracking): 新增推广链接追踪与数据大盘,支持自定义短码、注册与下单归因及二维码物料生成
...
1. 数据库新增 000064_ad_tracking.sql 迁移,创建 ad_tracking_links 和 ad_tracking_clicks 表,并在 users、rental_orders 增加归因字段
2. 后端新增 adtracking 模块,挂载 GET /r/:code 302 智能重定向、点击流水异步记录、转化率/GMV聚合统计及管理接口
3. 用户认证 (auth) 与订单创建 (order) 链路贯通,实现注册用户与订单成交推广短码全链路归因
4. 前端管理后台左侧新增【推广追踪】目录,支持大盘指标总览、推广链接 CRUD、状态启停、一键复制短链及二维码下载 (PNG)
2026-09-10 11:05:47 +08:00
yml2213
b16c45ce6f
fix(distribution): 修复分销结账退款分成计算逻辑与利润统计,优化分销订单表格列宽与展示体验
2026-09-09 19:34:04 +08:00
yml2213
dd38227b95
fix(order): 确保分站发布的商品被租用后号主在主站可见并能正常交接
2026-09-09 16:26:21 +08:00
yml2213
8b7a0c8059
fix(order): 修复超时与异常过渡态下的状态机流转及权限断层
2026-09-09 16:15:21 +08:00
yml2213
17d4f7be9e
fix(order): 支持待号主交接及异常状态下客服重置交接倒计时
2026-09-09 16:05:48 +08:00
yml2213
02d091434e
fix(order): 修复分销收号商品在主站租用后报订单不存在的问题
2026-09-09 15:24:56 +08:00
yml2213
4aab9e7e33
fix(distribution): 分成改为分主站提价利润,分站自主提价溢价全额归卖方
...
- 文档:升级至 v0.7,固化号主保底、主站提价利润分账(35/40/25)与分站加价溢价独享逻辑
- 定价:修正货架兑换比例调价方向为调减比例提价(site_ratio = base_ratio - delta)
- 分账:分成基数剔除号主成本与分站加价,提价利润按规则切分,分站自主加价溢价 100% 归卖出方
- 前端:更新分销后台提价说明文案,提示调减比例提高售价且溢价归本站
2026-09-08 19:45:05 +08:00
yml2213
d762b33f54
refactor(distribution): 重写分销迁移并落地利润百分比分成与货架比例
...
将 000064-000078 合并为 064/065/066,默认规则改为收号 35%、卖出 40%、服务费 25%。
货架调价改为增加分站 1 元兑换哈夫币比例。sql-guard 仅保护 main 已发布迁移。
2026-09-08 19:02:58 +08:00
yml2213
96bc6a4db6
fix(distribution): 货架加价打通前台、下单与卖方分成
...
分站公开列表和详情展示当前货架加价;下单写入 base_price / shelf_markup / markup_site_id 快照并计入实付。
支付分账改用快照加价,不再误用 PlatformFeeCent;结账不退加价,事后改价不影响历史订单。
2026-09-08 17:07:17 +08:00
yml2213
fd4e490ed3
feat(distribution): 完善分销站与主站业务数据及权益风控隔离,修复历史商品归属
2026-09-08 15:25:46 +08:00
yml2213
0fcb6a513f
feat(distribution): 支持分销上传来源追踪、主站审核展示与收售结算模式自动判定
2026-09-08 15:00:35 +08:00
yml2213
e024319860
feat(distribution): 分销站点消息中心与钱包提现多租户独立分支隔离
...
- 新增 000070 数据库迁移:支持 chat_conversations、wallet_accounts、wallet_ledger、withdrawal_requests 按 distribution_site_id 隔离
- 消息中心:会话列表、未读数统计、站点专属客服及订单群聊与主站实现双向完全隔离
- 资金账户与提现:独立按 (user_id, distribution_site_id) 建账,分销订单自动结算至对应分站钱包,提现与流水相互独立
- 前台界面:Axios 自动透传 X-Distribution-Site-Code,钱包、提现与消息页面呈现分站专属标牌与独立说明
2026-09-07 18:11:27 +08:00
yml2213
ecaf15417b
feat(distribution): 独立分销前台商城多租户体系、货源与订单数据严格隔离
2026-09-07 17:18:14 +08:00
yml2213
369b0647bb
合并 main 分支并融合订单列表最小化与 SQL 治理
...
- Auth/权限中间件取 main 演进版(错误细分、token 来源),保留 dev 的用户 cookie 与登出撤销语义
- 后台订单列表:融合 main 的首页免 COUNT 优化与关键词索引路由,保留 dev 的最小化 AdminOrderListItemDTO(结账明细仍由详情接口返回,同步调整对应集成测试)
- 保留 dev 的 token_version 冻结/解冻递增与 main 的状态变化判断及通知
- 前端:保留 dev 登出接口与 main 的 fetchMe silent 参数、SSE 登录跳转;后台订单表按 dev 最小化 DTO 移除号主到手列
2026-09-05 11:43:13 +08:00
yml2213
cd719fc355
fix(query): 支持12位纯数字时间编号(如202609040184)商品编号的精准索引路由
2026-09-05 11:25:14 +08:00
yml2213
ac67a91438
接入分销订单支付退款与站点隔离
2026-09-05 10:52:36 +08:00
yml2213
a9125b1939
perf(query): 全面治理后台跨表模糊查询慢SQL并升级SQL门禁守护
...
- 解决 MySQL 8.4 无法跨表 Index Merge 导致的索引失效与全表扫描问题
- 订单/提号/纠纷/用户/商品/会话列表实现智能意图路由分流直达单表唯一索引
- 剥离 COUNT(*) 阶段无关多表关联及标量子查询,实现首页条数快速短路
- check-sql-guard.sh 增加 forbid_pattern 拦截器与核心路由强校验防线
2026-09-05 10:37:04 +08:00
yml2213
2337395d8f
修复代管订单押金赔付待打款金额
2026-08-30 20:37:41 +08:00
yml2213
0aef80fd11
修正后台订单号主实际收入
2026-08-30 19:27:11 +08:00
yml2213
2487a2d83f
增加零号主收入结算确认
2026-08-29 01:31:08 +08:00
yml2213
c156c478d8
优化后台高频查询性能
2026-08-29 00:16:16 +08:00
yml2213
c87883cc65
完善订单交接结账流程留痕
2026-08-28 23:48:32 +08:00
yml2213
a9a9127076
新增退款待审核角标提醒
2026-08-28 23:10:07 +08:00
yml2213
8660d5d4d1
修复仲裁订单线下结算
2026-08-20 17:44:52 +08:00
yml2213
266abb4aaa
修复退款审核前账号提前释放
2026-08-20 16:50:32 +08:00
yml2213
cc974f954f
支持平台代管客服一键交接
2026-08-20 16:43:45 +08:00
yml2213
85332df2bd
订单接口最小化与私有文件访问加固
...
- 订单列表使用独立最小 DTO 并分页,号主待办提供独立接口与统计
- 用户 token 增加版本控制,冻结/改密/退出即时撤销会话
- 移除 URL token 传参,SSE 与接口统一使用 HttpOnly Cookie
- 私有文件按上传归属与业务关联授权,收款凭证转私有访问并校验归属
- 公开商品接口返回最小字段,隐藏号主身份与内部状态
- 每日清理超过 30 天未关联业务的上传归属,上传归属失败时补偿删除对象
2026-08-16 21:47:46 +08:00
yml2213
58f11b2043
优化线下结算筛选
2026-08-16 20:00:09 +08:00
yml2213
c06e5aaafd
补充代管订单结算回归测试
2026-08-16 19:53:08 +08:00
yml2213
4c1fe7439d
新增客服一键交接功能
2026-08-15 17:27:35 +08:00
yml2213
0256bfd276
修复取消订单误释放商品
2026-08-02 16:38:02 +08:00
yml2213
8c2431c4f2
优化仲裁
2026-07-29 18:59:07 +08:00
yml2213
88d74aca7d
重构日志与可观测性体系
...
新增单行文本编码器与结构化 GORM 日志,统一错误记录与请求日志策略,收紧日志文件权限并修复按天切分与压缩,支付回调参数脱敏,生产强制阿里云短信,RequestID 校验防注入,日志文案中文化。
2026-07-29 16:19:35 +08:00
yml2213
8af7333969
按实际纯币金额计算租客优惠与积分
2026-07-27 10:45:41 +08:00
yml2213
c594b543d1
完善租客等级免押与积分管理
2026-07-26 18:07:10 +08:00
yml2213
321f0781cf
实现租客成长等级并优化展示
2026-07-26 11:25:25 +08:00
yml2213
756fa342cb
优化订单管理代管展示
2026-07-26 10:15:49 +08:00
yml2213
9ccc16e068
支持客服主动发起申诉
2026-07-26 09:54:27 +08:00
yml2213
4bc25b87d8
修复平台代管订单流程
2026-07-25 19:17:19 +08:00
yml2213
0ef6a481f5
租期天数改为向上取整到整天
...
不足一天按一天计(如 1.3/1.7 均计 2 天),前后端展示与预计时长计算保持一致。
2026-07-20 22:14:03 +08:00
yml2213
1a4776bba0
支持结账多轮协商与按实际消耗双比例结算
...
允许双方最多 6 轮修改结账方案;哈夫币按实际消耗与 buyer/seller 比例计价,打超从押金扣,押金不足禁止自动完结并引导人工争议。同步收紧结账明细展示密度。
2026-07-18 20:35:16 +08:00
yml2213
98772867a7
统一结账押金字段为押金赔付扣除
...
号主修正去掉无效的其他押金扣款,仅保留押金赔付扣除;
前后端与账单文案统一,修正时 other 与 deduct 对齐。
2026-07-17 17:17:29 +08:00
yml2213
e241607535
支持号主与租客查看自己的发布/订单详情
...
新增卖家商品详情页;订单详情底部增加可折叠账号快照,已完成订单展示结账明细。
2026-07-16 20:47:33 +08:00
yml2213
2ca6fd9306
完善测试建表并统一前端格式
2026-07-14 01:32:14 +08:00
yml2213
42b250cd2c
账号上下架增加统计
2026-07-11 23:37:24 +08:00