海外版外卖系统多城扩张时,若 merchant 与 pricing 规则混在同一行无 site_id,改 A 城起送价会误伤 B 城。宜 site 维度配置,merchant 主体可跨 site 挂多个 delivery_profile。
结论
tenant → site → merchant_site_profile;订单带 site_id 与 snapshot 规则。
CREATETABLEmerchant_site_profile(merchant_idBIGINT,site_idBIGINT,min_orderDECIMAL(10,2),delivery_radius_kmINT,PRIMARYKEY(merchant_id,site_id));订单 snapshot 含 site 级 min_order 与 radius,改配置不影响历史单。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
一、用户定位与 site 解析
用户坐标 resolve 到 site_id,菜单与运费模板按 site 加载。未开通 site 返回友好提示,不 500。
geo resolve site_id;未开通返回 404 业务码而非 500。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
二、导出按 site 过滤
export API 必填 site_id 或 region 列表,防止运营误拉全集团数据。列含 site_code 便于财务分账(商务规则客户定)。
export 必填 site 过滤;列含 site_code。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
三、语言与 site
site 绑定 default_locale,merchant 可 override 展示名。i18n fallback chain: merchant → site → tenant。
i18n fallback merchant→site→tenant。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
四、支付 profile 按国
site.country_code 决定 payment adapter,不可跨 country 复用 merchant 密钥。
payment profile 绑定 site.country。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
五、后台统一登录
账号数据范围按 site_ids 列表配置,总部账号可查看全部站点。
运营账号 scope site_ids 列表。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
六、光合同城边界
海外版成品含多 site 扩展;特殊合规字段单列。各国支付按需定制;不写全球统一自动分账。
合规字段按国定制。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。
七、多 site 迁移与缓存
历史订单缺 site_id 时 batch 迁移脚本应可重入,迁移前后 export count 对账。menu 缓存 key 必须含 site_id 与 locale,发布 menu 变更 bump menu_version,客户端 stale 时强制拉新。运营误改 B 城运费时,audit 记录 old/new JSON,便于回滚。
第二国上线前复制 profile 模板但更换 merchant 密钥,禁止共用 sandbox key。总部 export 角色可 all_sites,分站角色仅本 site,防止误拉全集团数据。deeplink 带 site 参数,防用户跨城点错菜单。
八、小结
资料「分开放」指规则按 site、主体可复用 merchant_id。试跑两 site 各一单,改 A 城运费不影响 B 城导出。
迁移旧数据时 batch 打 site_id,避免历史单无法筛选。缓存 key 含 site_id,防串菜单。
缓存 key 含 site_id 防串菜单。
实施时建议固定 golden 样本单号,在预发与生产各留用户端、后台、导出三处截图;列名或状态枚举变更走书面版本号,避免财务周结时才发现对不上历史单。