 yml2213andCursor
|
f2060c19cf
|
feat(listings): 订单和账号详情展示可租时长与每日消耗
租客在订单列表和详情标题能看到每个号的租期、消耗。账号详情把这两项拆成独立格子。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-05 16:32:08 +08:00 |
|
 yml2213andCursor
|
c559287ee4
|
fix(listings): 手机轮播改为居中裁切,左右滑只切换图片
超宽海报在图内横滑不好看。轮播和预览都只保留中间一段,左右滑动回到切换下一张。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-05 15:38:06 +08:00 |
|
 yml2213andCursor
|
bd502bfa63
|
fix(listings): 手机超宽轮播改为可横滑展示和大图预览
分站海报比例很宽,整图塞进轮播会缩成一条,点开预览也看不清。首页按固定高度横滑查看,预览用大图灯箱代替默认图片预览。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-05 15:02:37 +08:00 |
|
 yml2213andCursor
|
4f69657017
|
feat(distribution): 分站首页改为联名标题并同步手机轮播
首页主标题显示为站名×大锤商行,手机端使用与电脑端相同的分站自定义海报。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-05 14:46:28 +08:00 |
|
 yml2213andCursor
|
1d21b3f548
|
feat(distribution): 分站发布群只使用自己的二维码池
主站单独维护分站码池,池空时不再借用主站或其他分站,并去掉已停用的固定二维码入口。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-04 18:35:34 +08:00 |
|
 yml2213andCursor
|
951d428364
|
fix(distribution): 分站首页轮播不再叠压暗遮罩
海报已含文案,再叠标题会触发整幅渐变遮罩,把左右两侧颜色压暗。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-04 16:01:01 +08:00 |
|
 yml2213andCursor
|
6d55ee12c2
|
fix(listings): 详情页号主留言移到精选皮肤上方
买家先看到交接说明,再看皮肤和仓库物资。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-03 16:03:37 +08:00 |
|
 yml2213andCursor
|
281bb4be59
|
fix(realname): 业务 code 优先于 HTTP 状态码,并区分额度耗尽
实测服务商业务失败时 HTTP 状态码会跟着变(身份证号错误返回 400
且 result 为 null),按状态码判断会把第三方异常误判成入参错误。
改为以业务 code 为准,仅在拿不到 code 时退回状态码与网关错误头。
额度耗尽(x-ca-error-code=B403MQ)此前与限流同样提示「请求过于频繁,
请稍后再试」,但重试不会恢复,新增 ErrProviderQuotaExhausted 并提示
联系客服。网关错误原因只在响应头,一并带进错误信息便于排查。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-02 12:03:52 +08:00 |
|
 yml2213andCursor
|
0b220829bb
|
feat(realname): 实名核验切换到数脉二要素新接口
服务商旧接口 sinocheck2 已下线,改走 eid.shumaidata.com/eid/check:
- 身份证入参 id_number 改为 idcard
- 响应改为先判业务 code、再读 result.res 的两级结构,
code/res 兼容字符串与数字两种返回形式
- 按服务商错误码表分流:400/20010/20310 归入参错误,
404/604 归服务未配置,其余归服务不可用
- 驳回原因优先取服务商 description
- 新接口不返回流水号,provider_order_no 对该渠道留空
- 同步更新默认 URL 与 docs/实名认证.md
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-02 11:53:20 +08:00 |
|
 yml2213andCursor
|
590bf1cae3
|
fix(payment): 渠道已收款时不再把支付单回滚成支付中
租客在待支付超时或取消的最后几十秒完成付款时,订单先被取消,乐刷的支付
结果几秒后才到,入账被判定订单不可支付而拒收。原先订单推进和支付单更新
在同一个事务里,订单一报错整笔回滚,支付单停在支付中且 paid_at 为空:
钱已在渠道,系统却毫不知情。乐刷重试十次后放弃,之后既补不回入账(订单
不再是待支付),后台人工退款也发不出去(退款要求原支付单是已支付)。
日志保留期内 13 天出了 5 笔,合计 4085.60 元。
- 取消前核对渠道:超时取消、租客取消、客服关单都先查一次渠道,已收款并
已推进订单就放弃取消,让支付正常入账而不是走退款。渠道异常时按未收款
继续,避免渠道一抖订单全卡住
- 回调兜底记账:订单确实已结束时不再回滚,把支付单如实记成已支付并写入
paid_at 与渠道单号,后台人工退款从此可用。退款仍由客服人工发起
- 客服关单:待支付订单按实际已收款减已退款的差额退,补上本次事故中关单
不生成退款的直接原因
- 补齐日志上下文:回调入账失败原先只有 error="order cannot pay",现在带
支付单号、订单号、订单状态和金额;新增 ERROR「渠道已收款但订单无法入账,
需人工退款」作为唯一需人工介入的告警
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-02 09:23:25 +08:00 |
|
 yml2213andCursor
|
e5cd7b5c34
|
feat(orders): 号主可从自己的列表隐藏已结束订单
只写入隐藏时间,订单和款项仍保留给租客与后台。详情按钮固定对齐,删除跟在后面。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-01 16:22:55 +08:00 |
|
 yml2213andCursor
|
a1008f7e6a
|
fix(listings): 首页无论是否可修改游戏名都展示该字段
号主选择「否」时买家也能在商品卡片上看到,避免只展示「是」造成信息缺失。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-01 16:06:15 +08:00 |
|
yml2213
|
2a76d59a30
|
feat(distribution): 公告中心支持分站自定义
公告中心(前台公告列表/详情)此前完全没有站点概念,分站访客只能看到主站公告。
本次按「默认继承主站、站长可切仅本站」的口径支持分站自定义。
数据与口径:
- 新增 announcements.distribution_site_id(0=主站),前台按站点隔离
- 新增 distribution_sites.announcement_mode:inherit(默认,主站+本站)/ own_only(仅本站)
后端:
- 公告模块新增 ResolvePublicSiteScope:主站 [0]、inherit [0, siteID]、own_only [siteID],
站点编码无效/已停用回落主站;列表与详情都按该范围过滤,详情不再允许跨站按 ID 读取
- 管理端公告列表支持按站点筛选(site_id:不传=全部,0=主站,>0=分站)并带出站点名
- 分销模块新增本站公告 CRUD(distribution/announcement.go):强制 distribution_site_id=本站,
先过 ensureSiteAccess,跨站更新/删除/上下架一律 ErrAnnouncementNotFound
- UpdateSiteBranding 支持 announcement_mode 切换(非法值报错,读侧非法历史值回落 inherit)
- 新增权限 distribution:announcement_view|manage 并授予 super_admin/ops/finance,
站长开通时继承 ops 角色即自动获得
- 路由:站长侧 /api/distribution/announcements*,平台侧 /api/admin/distribution/announcements*
前端:
- 分销后台新增「公告中心」页:来源开关(继承主站+本站 / 仅本站)、本站公告列表与
新建/编辑/发布/下架/归档/恢复/删除,空态按来源模式给出引导
- 平台后台公告页新增「站点」列与筛选,新建公告可选择归属站点(主站或指定分站代发)
- 前台 PC/移动无需改动:请求已带 X-Distribution-Site-Code,后端按站点隔离,页面已有空态
测试:
- 公告模块:主站/继承/仅本站三种可见范围、跨站详情拦截、无效站点回落、管理端站点筛选
- 分销模块:本站公告 CRUD 与跨站防护、公告来源开关校验与非法值容错
|
2026-10-01 10:02:31 +08:00 |
|
yml2213
|
329d0f75bb
|
feat(distribution): 分站前台按独立商城呈现并支持首页文案自定义
分站前台原本对顾客暴露分销身份,且登录等页面写死了主站品牌,
与「一手独立商城」的定位不符;同时首页文案全部硬编码,站长无法按自己口径调整。
去分销身份(顾客可见处):
- 头部品牌区、首页主视觉、移动端认证卡去掉「官方分销/官方分销认证/官方分销站」标识
- 会员徽标「分销专享」→「会员专享」,「所属商城」兜底「专属分销站/商城」→「官方商城」
- 订单页说明改为「当前为【X】商城,仅展示在本站产生的订单记录」,保留订单按站隔离的必要说明
- 无公告时的兜底跑马灯、轮播角标去掉分销措辞
- 清理随之失效的 pc-brand-badge / mobile-brand-badge 样式
品牌跟随站点配置(即可自定义):
- PC/移动登录页、移动注册页、加桌面引导页的品牌改为 站点名称 + Logo(无 Logo 取站名首字),
不再写死主站「大锤商行」;主站行为不变(新增 store getter brandMark:分站取站名首字,主站仍为「锤」)
首页文案可配置:
- 新增迁移 000076 与 distribution_sites.storefront_text_json
(tagline 头部副标题 / hero_badge 主视觉徽标 / hero_desc 主视觉描述 / card_sub 移动端卡片副标题)
- 分销后台「品牌装修 → 首页文案」可编辑,占位提示即默认值,留空或整段清空回落内置默认
- 贯通 UpdateSiteBranding → 公开站点信息接口(含 Redis 缓存失效)→ 前台 store 逐字段合并默认值
- 装修预览同步展示站长填写的副标题与徽标
测试:
- 后端补装修字段写入/公开接口透出/清空回落断言
- 前端新增 storefrontText 单测(默认合并、覆盖、空白与非法类型回落)
|
2026-10-01 09:24:56 +08:00 |
|
yml2213
|
53b40f8fad
|
fix(distribution): 修复分站跑马灯公告把配置 JSON 原文展示出来
分销站公告存在 distribution_sites.announcements_json 的是 { title, content } 对象数组
(分销后台品牌装修写入),而前台跑马灯组件按字符串数组渲染。Vue 对对象会做
JSON.stringify,配合 no-wrap 样式,前台就显示成
{"title":"天域商行专注AWM子弹回收、高比例!不排队!秒结算!","content":""}。
- 新增 shared/utils/announcements.ts:把公告条目归一化为展示文本,兼容纯文本、
{ title, content } 对象,以及被字符串化的对象(历史脏数据)与标题为空回退内容
- distributionSite store 解析 announcements_json 时归一化,跑马灯组件内部再兜底一次
- 首页配置 mergeHomeConfig 同样接受对象形态,主站/移动端公告入口口径统一
- 分销后台装修预览的跑马灯示例按同一口径取值(只有内容时不再空白)
- 补 9 条单测覆盖对象、字符串化对象、普通花括号文案、混排去重与空输入
|
2026-10-01 09:04:28 +08:00 |
|
yml2213
|
766c923a6a
|
fix(distribution): 修复分站搜不到已审核商品并实现审核通过自动铺货
问题:分站上架商品审核通过后主站能搜到、分站看不到,且没有自动同步。
根因:分站前台/搜索只认 distribution_site_accounts 中 display_status='enabled'
的货架行,而主站前台不按站点过滤。货架行此前只由「号主在该站上架」或站长手动
「一键同步主站商品」写入,审核通过不回写;同时一键同步的失效清理把「非
published+approved」的货架行一律置为 disabled,商品重新在售后也不会恢复。
- 新增 EnsureListingShelvedTx:商品变为 published+approved 时自动铺到所有
display_account_enabled=true 的站点货架(缺行新增、系统下架恢复、人工下架不动),
经 ListingShelfSyncer 接口注入,避免 listing 反向依赖 distribution
- 新增 distribution_site_accounts.display_disabled_by(operator/system/空)区分下架
来源;人工上下架各入口写入来源标记
- 一键同步的失效清理收紧为只清理「货源记录已删除」的孤儿行,并支持恢复系统下架行,
结果新增 reenabled_count
- 新增迁移 000074 回填存量缺失货架行,部署后无需逐站手动同步
- 修复 CreateSite 显式传 false/0 的配置(不允许自动展示、结算冷却 0 天)被 GORM
default 标签忽略而静默回落默认值
- 前端:去掉会跨站串扰的 localStorage 站点码回退,站点探测完成后再挂载应用,
避免分站发布因缺少站点码被记成主站商品;同步弹窗文案与统计项同步更新
- 补充分销货架自动铺货、清理口径、建站零值落库与审核铺货回归测试
|
2026-09-30 21:11:09 +08:00 |
|
 yml2213andCursor
|
7833e90eee
|
feat(distribution): 分站品牌装修可配置首页入口并上传图片
分站可单独配置回收、合作反馈和客服二维码,未配置时继承主站;Logo、图标和轮播支持直接上传。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-25 17:44:56 +08:00 |
|
 yml2213andCursor
|
170e279e71
|
fix(distribution): 分站挂牌的号主收入记入对应分站钱包
结账和仲裁不再把分销站号主收入写入主站钱包,用户列表也只展示主站余额。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-25 17:25:33 +08:00 |
|
yml2213
|
940510a826
|
feat(admin-listings): 优化商品管理表格纯币价格展示与租期列位置
1. 将原“纯币价格(号主)”调整为“租客纯币价格”,底层取值切换为租客纯币计算(getListingRentPrice),适配列宽与悬浮提示;
2. 调整表格列顺序,将“租期”列移动至“租客纯币价格”与“租金/押金”中间;
3. 同步调整表格图片导出/截图配置(screenshotColumns)的列名与排序,保持视图与导出一致。
|
2026-09-21 15:29:12 +08:00 |
|
yml2213
|
1c3a75eef0
|
feat(distribution): 分销站点管理支持完整 CRUD、安全删除保护与管理员密码重置
- 后端支持分销站点编辑(域名唯一性校验、收号压价点位及税率更新)
- 后端支持分销站点安全删除校验(阻断存在业务订单、财务流水、结算批次或钱包余额的站点删除;对干净站点连带清理分成规则、展示账号绑定、支付通道配置及专有站长账号)
- 后端支持站长账号展示与超级管理员重置站长密码
- 主管理后台与分销后台前端全面支持筛选搜索、编辑模态窗、状态快捷切换、站长密码重置与安全删除确认
- 补充后端 CRUD、删除保护与密码重置覆盖率测试用例
|
2026-09-17 19:35:52 +08:00 |
|
 yml2213andCursor
|
079e18bd3a
|
style(frontend): 格式化 listingDisplay 单测以通过 pre-push Prettier 检查
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-17 18:16:29 +08:00 |
|
 yml2213andCursor
|
ff8c35ebad
|
feat(admin-order): 订单管理列表恢复号主实际收入列
在金额左侧展示已结账/已仲裁订单的到手金额;整页一条批量 SQL 取最新结账行,避免 N+1。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-17 18:13:36 +08:00 |
|
yml2213
|
54985b7c36
|
docs(distribution): 收录分站收号定价分析与改造方案并标注方案 B 实施情况
- 新增第 0 节「实施情况」:已落地口径、关键决策(压价上限 20 点、
新字段 receive_cost_delta、压价差进 35/40/25 分成池)、代码落点与回归锚点
- 状态行由「分析稿(未实施)」更新为「方案 B 已实施」,5.2 节与第 6、8 节同步标注
- 记录连带修正 a36332d:解耦仅作用于分站收号侧,主站加速出售买家价仍跟随卖家比例
- 第 2–4 节的改造前现状与问题定位原样保留,作为决策依据
|
2026-09-17 17:34:23 +08:00 |
|
yml2213
|
4d05fa2c4c
|
feat(admin-listing): 商品管理列表在租金/押金左侧展示号主纯币价格
- listingDisplay 新增 getListingSellerCoinPrice,读取价格快照 seller_coin_base_price
(号主收号价中的纯币部分,不含额外消耗品)
- 商品管理表格新增「纯币价格」列并置于「租金/押金」左侧,悬停显示完整说明
- 快照缺失(旧数据/无定价快照)时展示 -,与相邻列风格一致
- PNG 导出列定义同步新增该列,保持导出与页面一致
- 补 listingDisplay 单测:纯币价读取、消耗品单独计价时与号主总价区分、缺快照兜底
|
2026-09-17 17:32:00 +08:00 |
|
 yml2213andCursor
|
8e167bc12b
|
style(frontend): 格式化 usePricingCalculator 以通过 pre-push Prettier 检查
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-17 16:11:18 +08:00 |
|
 yml2213andCursor
|
a36332de1d
|
fix(listing): 主站加速出售买家价不再误锚到参考比例
分站解耦只应改分站收号侧;主站加速出售仍跟卖家比例联动买家价,并同步分销后台列表与发布页文案。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-17 16:09:41 +08:00 |
|
yml2213
|
22fcaa5945
|
feat(distribution): 分站收号压价解耦买家价(方案 B 新口径)
核心语义反转:receive_cost_delta 为压价点数,收号比例 = 主站参考比例 R + 点数,
点数越大号主收号价越低;买家售价锚定主站参考比例推导,不再随收号价联动。
- 迁移 000072:distribution_sites 新增 receive_cost_delta(旧 receive_ratio_delta 保留只读)
- receive_pricing:新增 Normalize/ApplySiteReceiveCostDelta;分站定价买家侧改用
R 锚点(referenceSellerCoinBasePrice),快照写入 site_receive_cost_delta 与 pricing_model 标记
- site_receive:新增 resolveSiteReceiveCostDelta 读取链路,旧 ResolveReceiveRatioDelta 保留
- 分成不变:压价差经结算层 profit 自动进入 35/40/25 三方分成池;
货架自主加价仍 100% 归分站,两条边界均以主站为锚
- 权限对齐旧字段:主站全局管理员与分站操作员均可设置
- 前端三端同步:主站 pricing.ts/usePricingCalculator 买卖解耦试算、
主站后台弹窗改「收号压价」价格语义文案、分销后台 SiteSettings 同步
- 测试:单测锚定 R=43 时 cost_delta=3 → 收号 217.4 / 卖价 263.2 不变 / markup 池 30.6→54.9
|
2026-09-17 15:54:56 +08:00 |
|
yml2213
|
8dc21d2757
|
refactor(sitecode): 统一各模块分销站点编码解析为公共包
- 新增 internal/sitecode 包:FromRequest 头优先解析、FromQueryThenHeader
探测接口专用、ExtractHost/IsLocalHost 提取 Host 域名
- 替换 auth/order/listing/chat/notification/withdrawal/wallet/distribution
八模块 17 处各自内联的解析逻辑,统一优先级与 TrimSpace 行为
- 修复 notification 漏 TrimSpace、探测接口会话头压过显式 query、
GetPublicSiteInfo 把 localhost Host 当站点域名查库等不一致
- 顺手清理 auth 中无引用的 extractHost 死代码
- gofmt 修复 withdrawal/presenter、chat/file/payment 测试四个历史遗留格式问题
|
2026-09-17 14:54:38 +08:00 |
|
yml2213
|
69774458b0
|
fix(file): 修复商品详情截图与提现打款凭证等私有图片 403 权限问题
- 放宽公开商品截图 key 提取规则,支持任意合规 object key 转换为免鉴权公开端点
- 补充后台截图上传 listing_screenshot 与 operating-expense 场景识别
- dependencies 授权器支持已审核上架商品截图兜底放行、提现人打款凭证鉴权及变体后缀匹配
- /api/files 路由组支持用户与管理员双重鉴权 (AuthUserOrAdmin)
- 前端收款账号凭证与提现详情凭证统一升级为 AuthImage 组件并支持大图预览
|
2026-09-16 20:33:09 +08:00 |
|
yml2213
|
64a4e5bb16
|
fix(distribution): 修正分销后台入口地址并收口主站后台隐藏路径
- 新增前端 distributionAdmin 工具:优先 VITE_DISTRIBUTION_ADMIN_URL,
本地开发回退 5190,生产按 distribution.<主站域名> 推导
- 替换主站后台「打开独立分销后台」按钮与开通凭证中硬编码的 :5190
- 分销后台复制凭证改用 window.location.origin,去掉硬编码 http
- Caddyfile 中 /manage-7x9k2p 仅主站域名放行,分站域名统一 404
- 构建/部署链路透传 VITE_DISTRIBUTION_ADMIN_URL 与 ADMIN_BASE_PATH
|
2026-09-16 15:09:38 +08:00 |
|
yml2213
|
6d31da1874
|
feat(admin-order): 订单列表展示完整用户手机号便于客服定位
- backend: AdminOrderListItemDTO 不再脱敏 owner_phone/renter_phone,移除 order 包内已无用的 maskPhone
- frontend: 同步 AdminOrderListItem 类型注释
- tests: 更新后台列表用例为断言完整手机号,并继续校验不泄露账号快照
|
2026-09-16 14:46:12 +08:00 |
|
yml2213
|
5f5a57b81f
|
fix(withdrawal): 修复提现详情收款二维码使用公网URL导致鉴权失败加载错误
- backend: withdrawal presenter 增加 privateCertificateURLs 兼容转换历史公网 payment-cert 路径
- frontend: AuthImage 与 fetchFileBlobByURL 兼容私有凭证 key,后台上下文通过管理员私有对象接口安全加载
- frontend: 按对象接口路径与 key 前缀精确判定,避免外链带 ?key= 被误代理到后台私有对象接口
- tests: 补充 TestPrivateCertificateURLs 单元测试
|
2026-09-16 14:39:32 +08:00 |
|
yml2213
|
3465475756
|
feat(caddy): 支持分销站点独立域名 On-Demand TLS 自动签发 SSL 证书
- 后端新增 GET /api/distribution/check-domain 作为 Caddy on_demand_tls ask 白名单端点
- 补充 CheckDomain 相关场景自动化测试
- Caddyfile 启用 on_demand_tls 并配置动态分销前台入口
|
2026-09-16 14:20:44 +08:00 |
|
yml2213
|
dc13b5dc82
|
feat(distribution): 支持分站独立短信验证码通道
- 新增分销站点独立短信服务商配置(阿里云),登录验证码按 site_code/domain
解析专属通道,未启用或解析失败时回退主站默认通道
- 密钥经 crypto.Encryptor 加密落库,模型字段 json 序列化隔离,DTO 仅回传掩码
- provider 白名单校验,mock 仅在非生产环境放行;启用时强制校验必填凭据
- 配置读写/测试接口限管理员权限,测试发送增加 60s 频控(Redis,缺省进程内)
- 解密失败记告警并优雅回退主站,避免把密文当明文密钥使用
- 两套前端新增短信配置入口、必填与手机号校验、发送冷却
- 新增迁移 000071 及加解密、白名单、频控、解析回退等单测
|
2026-09-16 14:06:01 +08:00 |
|
yml2213
|
aef858f399
|
Merge branch 'feature/distribution-system' into main
|
2026-09-16 12:50:52 +08:00 |
|
yml2213
|
d3d571357a
|
refactor(order): 结账单状态常量化并锁定仲裁结单统计口径
仲裁结案会把结账单置为终态 settled,但该状态一直是裸字符串;同时 adminfinance 按日结算聚合只按
accepted 过滤,容易被误读成"仲裁单掉出统计"。本次只做卫生与口径固化,不改任何行为:
- order 新增 CheckoutStatus{Submitted,Countered,Accepted,Disputed,Settled},包内沿用非导出别名
- dispute 的仲裁结案与争议取消分支改用常量;distribution 不能反向依赖 order,本地声明同名常量
- adminfinance 聚合里的 oc.status = 'accepted' 改为常量绑定,并注释说明仲裁单不计入是有意口径
- 新增 distribution 结账单退款重算用例(该分支原先无覆盖):accepted/settled 按结账单实际租金,
submitted 不被采用;dashboard 用例补一张 settled 结账单,钉住"不计入已结算订单数"
|
2026-09-16 12:49:21 +08:00 |
|
yml2213
|
0eff43ad52
|
docs(distribution): 统一通道手续费口径至 v0.8
代码侧 647fdc0 已把通道手续费改为主站承担、不再从分成基数中扣除,但设计文档多处仍写"扣除通道手续费",
7.8 的结算恒等式还把通道手续费列为实付的一项,与实现互不兼容。按代码口径统一文档:
- 7.1 / 7.5 公式改为 有效加价 = min(shelf_markup_cent, max(净支付额 - 号主底价, 0)),
提价利润基数 = max(净支付额 - 号主底价 - 有效加价, 0)
- 7.8 恒等式左端改为净支付租金,通道手续费移出等式单独说明,平台收益行去掉" + 通道手续费"
- 14 验收标准、16 实现基线同步,文档头升级 v0.8 并记录变更点
|
2026-09-16 12:49:21 +08:00 |
|
yml2213
|
8ec53f9d3d
|
style(frontend): 修复 prettier 格式门禁
三个本分支改动的文件未过 prettier --check,导致 npm run check 与部署门禁红灯。
按项目风格重新排版后台分销站点页、移动端发布页与定价计算 composable,不改动任何逻辑。
验证:npx prettier --check . 通过;npm run check(format + eslint --max-warnings=0 + vue-tsc)通过;vitest 7 文件 / 32 用例通过。
|
2026-09-16 12:49:21 +08:00 |
|
 yml2213andCursor
|
c9d9160ff4
|
feat(distribution): 分站可下调收号比例且不超过主站上限
让分销站能按自身能力下调收号比例扩大利润,同时把主站回收比例作为硬边界,避免分站把比例加得比主站更高。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-15 20:35:30 +08:00 |
|
 yml2213andCursor
|
1c86bef765
|
feat(distribution): 支持分站发布群固定二维码
主站分销配置可为每个站点绑定可复用企微码,号主在该站上传账号后发到对应发布群,不再消耗主站码池。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-15 19:02:10 +08:00 |
|
 yml2213andCursor
|
776c33f83c
|
Merge branch 'main' into feature/distribution-system
同步结账损耗全额归号主与后台时间线 AuthImage 修复。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-15 18:36:16 +08:00 |
|
yml2213
|
352eef9e12
|
fix(admin): 流程时间线附件图片改用 AuthImage 支持鉴权加载
|
2026-09-13 10:27:24 +08:00 |
|
yml2213
|
dff0577385
|
feat(checkout): 修复后置损耗结算全额归号主、支持角色隔离实时试算与全流程UI重构
- fix(pricing): 后置消耗/损耗金额 100% 划归号主收益,超出预收部分平台不抽成,避免被平台费吸收
- feat(checkout): 前端新增结账实时试算预览组件 (CheckoutTrialPreview + useCheckoutSimulator),角色隔离展示(仅见自身收入/退款,屏蔽平台服务费)
- refactor(admin): 重构交易全流程时间线 (ProcessTimeline.vue),将平铺挤压指标重构成4大分类仪表盘微型卡片矩阵,升级可视化业务状态流转徽章与阶段色彩主题
- style(admin): 优化支付与交接流水元信息网格布局,防止超宽屏下长单行拉伸
|
2026-09-13 10:19:33 +08:00 |
|
yml2213
|
3508608a8f
|
feat(distribution): 优化货架批量操作、结算大事务、大盘与前台多端解析缓存及货架分页
|
2026-09-11 12:59:33 +08:00 |
|
yml2213
|
9ae6d5eaea
|
feat(distribution): 优化一键同步主站商品功能(并发防重、分批入库、失效商品联动下架与初始加价)
- 后端优化:
- 引入 Redis + 内存 sync.Map 双重互斥锁,避免并发/连击导致唯一索引冲突 (ErrSyncInProgress)
- 使用 CreateInBatches(500) 进行大数据量批量插入,杜绝超长 SQL 与锁表超时
- 增加 CleanStaleListings 支持,自动排查并联动下架主站非在售的货架商品,清理历史幽灵数据
- 增加 DefaultShelfRatioDelta 支持,新同步商品直接继承初始加价比例,免除二次手动改价
- 前端优化:
- distribution-admin 货架管理新增一键同步配置弹窗(可勾选自动下架失效商品、配置初始加价)
- 同步完成后展示结构化统计弹窗(新增、保持、联动下架、主站在售总量)
- 前后端类型定义与 API 客户端对齐升级
- 测试覆盖:
- 补充 TestSyncSiteAccountsOptimizations 单元测试与 handler 集成测试
- 全工程测试与门禁 check.sh 100% 通过
|
2026-09-11 12:47:59 +08:00 |
|
yml2213
|
ef91b24bf2
|
test(distribution): 补齐分销全场景E2E与HTTP接口全链路集成测试
- 新增端到端测试场景:
- 场景 1: 主站收号分站加价售卖与批次结算全链路
- 场景 2: 分站收号主站售卖、独立鉴权、大盘统计与提现全流程
- 场景 3: 三方模式跨站流转、专属支付通道自动路由与双站批次独立结算
- 场景 4: 分站自收自售、3天冷却期自动释放及幂等防护
- 场景 5: 结算后退款回冲金库钱包、掏空后透支扣减与仲裁风险隔离
- 场景 6: 一键开站、成员JWT鉴权、品牌个性化、三模解析与货架同步加价
- 新增 distribution/handler_integration_test.go:覆盖 30+ 分销 HTTP 接口(前台公开端点、分站管理员登录/信息端点、站长运营端点及总台管理端点)
- 修复并对齐底层逻辑:
- FindOrder & ListOrders:多参与方按 PartyID 准确隔离各站收益与提价统计
- SnapshotPaidOrderTx:规范多方模式下 PartyTypeSite 的 SiteID/PartyID
- 增加 ErrInsufficientBalance 哨兵错误并在 handler 映射为 400
|
2026-09-11 11:20:07 +08:00 |
|
yml2213
|
9ae763dee6
|
fix(distribution): 修复收号站订单详情权限、专属支付通道路由、大盘统计与仲裁积分隔离
- 修复 FindOrder 在收号站模式(two_party_distributor_receive / three_party)下的 403 权限判定,放行参与方站点成员并精准计算收益
- 串联 distribution_site_payment_channels 至 payment.Start 核心支付发起流程,分销订单优先使用绑定的专属商户通道
- 修复数据大盘 GetDashboardAnalytics 趋势中 ReceivedCount 恒为 0 的问题,并对齐今日订单与 GMV 统计
- 修复 dispute/arbitration.go 仲裁完成时向分销租客发放成长积分的泄漏风险
- 提现管理新增 distribution_site_name/distribution_site_code 字段并在后台列表与详情弹窗中区分展示分销站
- GetPublicSiteInfo 增加 X-Distribution-Site-Code 请求头兜底支持
|
2026-09-11 10:31:14 +08:00 |
|
yml2213
|
6acdead0f0
|
Merge branch 'main' into feature/distribution-system
|
2026-09-11 09:35:53 +08:00 |
|
yml2213
|
fa49505239
|
chore(migration): 顺延分销迁移序号至 000066-000068,为 main 分支 000065 让路
|
2026-09-11 09:35:51 +08:00 |
|
yml2213
|
7734f315ce
|
feat(ocr): 支持 PP-OCRv6 异步识别模型并设为默认,解决排队与高延迟问题
|
2026-09-10 20:12:05 +08:00 |
|
yml2213
|
784ffb5f72
|
fix(observability): 治理SSE慢请求虚报、客户端取消日志污染、退款重试刷屏与会话计数慢查询
|
2026-09-10 20:02:54 +08:00 |
|
yml2213
|
403d20cabd
|
refactor(migration): 整合分销迁移至终态定义并清理零散改表与测试种子数据
|
2026-09-10 19:45:00 +08:00 |
|
yml2213
|
140c538d4f
|
fix(distribution): 人工批次窗口期防退款穿透与退款中途金额单调性加固
|
2026-09-10 19:39:27 +08:00 |
|
yml2213
|
36ebe7a5f1
|
fix(distribution): 结算幂等与退款口径加固,补关单释放与回归测试
- 结算明细加唯一键 (order_id, party_id):自动释放与手工批次并发时以唯一键冲突为准跳过该参与方,不再重复入账
- 自动释放先无锁筛出本站未入账参与方,收敛加锁范围;手工批次建批次后先锁周期内财务快照,与自动释放串行化
- 累计退款额改为「本次回调金额与已退款成功流水合计取较大值」,多笔退款与退款结果重复回调不再把口径写小
- 关单三路径(AdminClose / AdminRejectRefund 的 close 分支 / AdminSeal)补写 release_at,接线原死代码 EnsureCompletedReleaseAtTx
- 仲裁分销重算改用实际退款额(扣除押金暂扣),避免站点被多扣
- 订单列表与详情的提价分成取 min(收入, 货架加价),退款压缩加价后不再显示负数
- 新增迁移 000070(结算明细唯一键)、000071(补回填 closed 订单释放时间)
- 新增 5 个测试文件:结算幂等与展示钳制、结算 job 幂等、累计退款、关单补写释放时间、仲裁押金暂扣口径
|
2026-09-10 19:13:39 +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
|
dbe9aaabfe
|
feat(distribution): 移除生产环境资金冻结,测试与生产口径统一
liveMoneyMovementEnabled 按 APP_ENV 在生产冻结结算入账、站点提现与自动释放,
与测试环境行为不一致,且该开关在 APP_ENV 缺失时为 fail-open。本次整体移除:
- 删除 liveMoneyMovementEnabled 与 ErrLiveMoneyMovementFrozen
- MarkSettlementBatch / ApplySiteWithdrawal / AutoReleaseDueSettlements 去掉守卫
- handler 去掉 403 settlement_frozen 映射
- 测试改为断言生产环境结算入账与提现正常执行
|
2026-09-10 18:44:52 +08:00 |
|
 yml2213andCursor
|
768902f2f7
|
feat(distribution): 补齐退款加价回退、本站自卖与开通默认规则
退款时压缩卖方加价,人工/自动批次仅完结单可入账,号主收入进主站钱包;仲裁后重算释放并支持作废未入账 DS。开通时四种模式按默认生效,对外口径合并为 35/40/25,不再单独展示通道费。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-10 18:13:46 +08:00 |
|
 yml2213andCursor
|
e621722218
|
fix(admin): 主站分销管理按最新分成与释放口径改展示
规则页按模式展示收号/卖出/服务费,通道费标明主站承担;订单改为释放状态筛选;结算区分自动与人工批次。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-10 17:36:49 +08:00 |
|
 yml2213andCursor
|
647fdc0b4a
|
feat(distribution): 通道费改主站承担,并按冷却期自动释放结算
利润不再扣支付通道费;站点可配置结算冷却期,到期自动入账,已释放后退款从收款站钱包回冲。同时修复当日自动批次无法追加、三方回冲打错钱包,以及测试库自增重置被 MySQL 统计缓存跳过的问题。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-10 17:11:58 +08:00 |
|
 yml2213andCursor
|
47ceb53c09
|
test: 测试库改为模板克隆并纳入完整租号 e2e
每个包不再重复 DROP+迁移,清空改用 DELETE 并重置自增,go test ./... 从约 6 分钟降到十几秒。租号全链路改走 NewTestDB,去掉依赖额外 DSN 才会跑的过渡测试。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-10 15:46:18 +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
|
2b8c74a0f1
|
fix(auth): 用户会话版本默认值对齐 main,收敛 dev 血脉的 1 偏差
token_version 由 c91423a 引入时,model tag 与迁移 000052 一致都是 0;
TokenVersion 的显式赋值 1 只存在于 dev 分支的 85332df,main 上从未有过。
本次把用户侧(users 表)统一收敛到 0,管理员侧(admin_users)保持不动。
- model/user.go:TokenVersion 的 gorm tag 由 default:1 改为 default:0
- auth/repository.go:FindOrCreateByPhone / RegisterWithPassword 移除
显式 TokenVersion: 1,改由列默认值决定
行为收敛:此前 listing/mutation.go 的建号路径完全不显式赋值,
落库值取决于 DB 列默认值(本机 1 / 迁移定义 0),是真实的行为漂移来源;
现在三条建号路径结果一致,均为 0。
判定依据:引入该字段的提交是否自洽 + 该值是否在 main 上,
不以本机库的实际列定义为准(本地曾被手工改成 1)。
|
2026-09-10 13:26:16 +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
|
f5b4f27dee
|
迁移改号:000064-000067 顺延为 000065-000068,为 main 的 000064_ad_tracking 让号
- 000064_distribution_init -> 000065
- 000065_order_list_least_privilege -> 000066
- 000066_file_upload_owners -> 000067
- 000067_seed_test_distribution_site -> 000068
- 不改 SQL 内容,仅让 goose 版本号与 main 的迁移序列不重叠
|
2026-09-10 13:02:22 +08:00 |
|
 yml2213andCursor
|
ee0e70ccad
|
fix(adtracking): 收紧成交口径、点击去重与生产落地页白名单
成交 GMV 排除已关闭订单,避免未支付关单被计入;点击按访客 5 秒、IP 1 秒双重去重;生产禁止 localhost 落地页,失效短码改用 QueryEscape。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-10 11:27:43 +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
|
438267f611
|
fix(frontend): 修复distributionSite中ESLint无用赋值警告
|
2026-09-09 20:03:20 +08:00 |
|
yml2213
|
556e76942e
|
style(frontend): 自动格式化代码符合Prettier门禁规范
|
2026-09-09 20:01:23 +08:00 |
|
yml2213
|
423672e47b
|
fix(distribution-admin): 全面优化全站表格列宽、单号防折行、平台与状态中文化体验
|
2026-09-09 19:57:06 +08:00 |
|
yml2213
|
1c16f26ae0
|
fix(distribution-admin): 全面优化大盘、对账单、钱包与前台商城的列宽排版、中文化与防换行体验
|
2026-09-09 19:47:11 +08:00 |
|
yml2213
|
4098f8f50f
|
fix(distribution-admin): 优化商品与账号展示页面表格列宽、中文化及防换行体验
|
2026-09-09 19:40:31 +08:00 |
|
yml2213
|
dd709fc12c
|
fix(distribution-admin): 优化分销收号管理表格列宽与中文化,补全已结单货架状态
|
2026-09-09 19:38:07 +08:00 |
|
yml2213
|
b16c45ce6f
|
fix(distribution): 修复分销结账退款分成计算逻辑与利润统计,优化分销订单表格列宽与展示体验
|
2026-09-09 19:34:04 +08:00 |
|
yml2213
|
19b18324a2
|
fix(distribution-admin): 优化左侧导航栏为固定不随页面滚动,独立右侧主体滚动区
|
2026-09-09 16:32:56 +08:00 |
|
yml2213
|
dd38227b95
|
fix(order): 确保分站发布的商品被租用后号主在主站可见并能正常交接
|
2026-09-09 16:26:21 +08:00 |
|
yml2213
|
e9787e1c27
|
fix(frontend): 补充 OrderDetailView 缺失的 handoffFocused 响应式变量
|
2026-09-09 16:16:45 +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
|
f6ad7c34ee
|
feat(distribution): 重构分销后台为SaaS商户工作台并全面商业化优化
- 商品货架 (Accounts.tsx): 支持期望售价/固定金额/百分比多模式实时联动加价与批量调价,高亮100%独享溢价
- 订单中心 (Orders.tsx): 透传账号游戏租客信息,新增收益对账抽屉透明拆解底价、手续费、分成与自主溢价
- 结算与规则 (Settlements.tsx & Rules.tsx): 纠正角色倒错,商户视角展现周期对账单与分成合作政策
- 店铺装修 (SiteSettings.tsx): 废除手写JSON,提供横幅/公告/页脚可视化列表编辑器与前台实时模拟器
- 数据大盘 (Dashboard.tsx): 对齐最新订单字段,大字展示分销商净收益
- 后端数据层 (dto.go, repository.go, handler.go): 聚合计算分销商订单收益,支持商品与租客搜索
|
2026-09-09 14:44:02 +08:00 |
|
yml2213
|
aa466051ac
|
fix(distribution-admin): add missing useMember and getMe imports in Orders.tsx and clean remaining site selectors
|
2026-09-09 14:12:19 +08:00 |
|
yml2213
|
2384bb3820
|
fix(distribution-admin): bind site context to member and enhance shelf product filters
|
2026-09-09 14:06:29 +08:00 |
|
yml2213
|
80ed9e7897
|
fix(migration): 修正 wallet_accounts 插入字段,移除不存在的 total 统计列
|
2026-09-09 13:52:46 +08:00 |
|
yml2213
|
3b31b7f650
|
feat(distribution): 补齐默认测试分销站test_1与test_fx1数据,菜单名称对齐为分销站点管理
|
2026-09-09 13:51:26 +08:00 |
|
yml2213
|
9452cf608e
|
feat(distribution): 支持一键同步主站商品池并在货架区分货源归属
|
2026-09-09 13:44:50 +08:00 |
|
yml2213
|
cf4bea9b6d
|
test(distribution): add e2e scenario 1 test and fix tx deadlock in MarkSettlementBatch
|
2026-09-09 13:34:35 +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
|
48a2961245
|
fix(distribution): 收紧分销权限与货架状态,开通时创建站点金库
无站点成员不再视为超管;分站下架只改展示状态;装修、批量加价与提现参数对齐。
|
2026-09-08 17:45:05 +08:00 |
|
yml2213
|
31bf6dd3b6
|
fix(distribution): 修正商品归属回填、禁止全站灌货并拒绝无效站点头
用货架写入时间与上传来源回滚误标产地,不再依赖绝对时间戳;同步仅收本站上传与显式勾选。
|
2026-09-08 17:30:12 +08:00 |
|
yml2213
|
96bc6a4db6
|
fix(distribution): 货架加价打通前台、下单与卖方分成
分站公开列表和详情展示当前货架加价;下单写入 base_price / shelf_markup / markup_site_id 快照并计入实付。
支付分账改用快照加价,不再误用 PlatformFeeCent;结账不退加价,事后改价不影响历史订单。
|
2026-09-08 17:07:17 +08:00 |
|
yml2213
|
8521bf4753
|
fix(distribution): 修正分销模式判定与结算入账,冻结未确认分成
按买卖站点纯函数判定五种模式,分站卖主站货命中 two_party_platform_receive。
结算批次只收本站 site party,平台分成不再进入分销钱包;生产环境冻结结算入账与站点提现。
|
2026-09-08 16:52:09 +08:00 |
|
yml2213
|
2c4e87475a
|
feat(distribution): 完善分销收号资产双视图、商户提现、自主加价、品牌装修与数据大盘
|
2026-09-08 16:05:30 +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
|
a61828c6ca
|
feat(dev): 增加独立分销前台端口5191、标签页会话隔离与免hosts二级域名支持
|
2026-09-08 13:39:12 +08:00 |
|
yml2213
|
74ef817c41
|
fix(migration): 修复 000070 中 wallet_accounts 唯一索引单列残存导致的复合索引缺失问题
|
2026-09-08 13:30:52 +08:00 |
|
yml2213
|
d178619fc7
|
fix(migration): 提升 000070 与 000071 迁移幂等性,兼容已存在的索引与字段
|
2026-09-08 13:20:50 +08:00 |
|
yml2213
|
044b141e95
|
merge(main): 同步主站稳定性修复与优化
|
2026-09-08 13:16:40 +08:00 |
|