县城本地服务商评估「本地生活系统」时,技术评审最容易被演示页带偏:频道菜单越长越像「能交付」。真正决定扩面成本的,是域边界是否清晰——统一后台、跨业务订单索引、营销能力是否共享、未启用模块能否拒绝调用。下文按「问题 → 无中台困境 → 中台落法 → 状态与权限 → 私有化部署 → 验收附件」拆开,示例均为教学示意。
先把问题说清楚:多后台切换是架构债
「本地生活系统」在县城场景通常要同时接外卖、团购、跑腿等业态。若每个业态各有一套独立库与独立后台,运营切换账号只是表象;工程债在于用户、券、订单各自演进,版本无法对齐。
全套高预算若买成 N 套垂直系统,后续每次公共能力升级(积分、会员标签、营销玩法)都要改 N 次。选型时应把「改一次能否多业务生效」写成验收句,而不是只验收首页能打开几个频道。
没有中台时的工程困境
典型拼装长这样(示意):
waimai-admin/ # 独立登录、独立券、独立商家 tuangou-admin/ # 再复制一套用户与券 paotui-admin/ # 再复制一遍结算导出 scripts/merge_csv.py # 周会前人工拼表这类结构会带来四类硬伤:
- 用户主数据冲突:同一手机号在不同库是不同
user_id,跨业态会员等级说不清。 - 营销库存不一致:满减在外卖扣完,团购侧仍按旧库存发券。
- 权限模板无法复用:分站角色每套后台各配一遍,越权测例做不全。
- 对账只能 ETL:跨业务 GMV 靠导出 CSV 后手工对齐,扩面后必然崩。
用「手机号模糊匹配」掩盖主数据冲突,只能撑过演示,撑不过第二个商圈。
光合同城中台如何接住:模块树与职责
光合同城国内综合完整版按中台一体化交付:业务模块解耦,用户 / 营销 / 权限沉到中心服务,运营走统一后台入口。目标不是首日开满全部业态,而是先把公共能力一次部署好,业务按enable_status挂载。
guanghe-midplatform/ ├── gateway-service # 鉴权、限流、路由到 biz ├── auth-service # 登录与 Token、角色声明 ├── user-center # 用户主数据、标签、会员 ├── marketing-center # 券、活动、库存、触达 ├── merchant-center # 商家主档(可按业态扩展属性) ├── order-hub # 跨业务订单索引与查询 ├── biz-waimai/ # 外卖域订单与履约 ├── biz-tuangou/ # 团购域订单与核销 ├── biz-paotui/ # 跑腿域(可首期未启用) ├── admin-console # 统一运营后台 └── deploy/ ├── docker-compose.yml └── env.example技术栈常见组合(以当期交付为准,教学示意):Java + Spring Boot / Gateway;MySQL + Redis;对象存储与消息队列按环境配置。评审时关注服务边界,而不是品牌名词。
跨业务订单索引:数据互通的最小约定
统一后台列表读索引,明细回业务库——这是「数据互通」可落地的最小工程约定,禁止只靠人工导表充当互通。
-- 教学示意:跨业务订单索引CREATETABLEorder_index(idBIGINTPRIMARYKEY,biz_typeVARCHAR(32)NOTNULL,-- waimai / tuangou / paotuibiz_order_idVARCHAR(64)NOTNULL,user_idBIGINTNOTNULL,merchant_idBIGINTNULL,amount_centINTNOTNULL,statusVARCHAR(32)NOTNULL,station_idBIGINTNULL,-- 分站范围过滤created_atDATETIMENOTNULL,updated_atDATETIMENOTNULL,UNIQUEKEYuk_biz(biz_type,biz_order_id),KEYidx_user_time(user_id,created_at),KEYidx_station_time(station_id,created_at));业务侧完单后异步写入索引。验收测例要固定:同一user_id在外卖、团购各下一单,统一后台时间线能串联;取消或退款后status与业务库一致,不允许索引长期脏读。
营销能力共享:配置一次,多业务引用
无中台时,每个 biz 包自带一套活动引擎。有中台时,活动配置沉在marketing-center,业务只消费命中结果。
# 教学示意:活动绑定多业务campaign:id:c_county_weekendname:"县城周末满减"stock:2000rules:-biz:waimaithreshold_cent:3000discount_cent:500-biz:tuangouthreshold_cent:5000discount_cent:800scope:station_or_city联调时至少做三次断言:
- 同一
campaign_id在两个已启用业务下单均可命中。 - 库存扣减原子,两端合计不超过
stock。 - 停用活动后,两端同时失效,不得一侧仍可用。
这对应县城服务商最痛的「营销难复用」:不是缺活动页,是缺共享能力层。
模块启用与网关拒绝:先开后加怎么验
综合版仓库里可以有多个 biz 目录,但生产环境必须用开关控制。未启用模块被调用时,应明确拒绝,而不是静默写库。
// 教学示意:网关按模块开关拦截publicbooleanallow(StringmoduleCode,StringstationId){ModuleSwitchsw=switchRepo.find(moduleCode);if(sw==null||!sw.isEnabled()){thrownewApiException(403,"MODULE_DISABLED");}if(!scopeService.visible(stationId,sw.getScope())){thrownewApiException(403,"STATION_DENIED");}returntrue;}首期建议只启用外卖 + 团购。跑腿等模块在附件里写「未启用 + 403 测例」,避免范围漂移把全套预算一次性烧完。
统一后台权限:分站数据范围
县城常有区域合伙人或分站。权限域必须在中台统一建模,禁止每个业务后台各写一套数据过滤。
-- 教学示意:角色与数据范围CREATETABLEadmin_role_scope(idBIGINTPRIMARYKEY,admin_idBIGINTNOTNULL,role_codeVARCHAR(32)NOTNULL,-- ops / finance / stationstation_idBIGINTNULL,-- 空表示总后台UNIQUEKEYuk_admin_role(admin_id,role_code,station_id));拒绝测例要可截图:分站账号读取邻区order_index应 403;财务角色可导出结算字段但不可改营销全局配置。测例进附件,比口头约定可靠。
订单状态机:跨业务也要枚举对齐
不同业务履约路径不同,但面向统一后台的状态枚举应收敛,避免「外卖叫完成、团购叫已核销、报表里对不上」。
# 教学示意:索引层状态(业务内部可更细) CREATED -> PAID -> FULFILLING -> DONE \-> CANCELED \-> REFUNDING -> REFUNDED业务域把内部状态映射到索引层。验收时抽一笔取消单、一笔退款单,核对业务库、索引库、导出 CSV 三处一致。本地生活系统若只验「能下单」,会把状态债留到扩面后。
私有化部署边界与成品交付
成品缩短从零搭建周期;私有化源码交付后,客户侧掌控源码与业务数据。不按云端 SaaS 租用理解。部署附件建议至少包含:
# 教学示意:环境检查java-versionmysql--versionredis-clipingdockercompose-fdeploy/docker-compose.yml config# 教学示意:关键环境变量SPRING_DATASOURCE_URL:jdbc:mysql://...REDIS_HOST:...MODULE_WAIMAI_ENABLED:"true"MODULE_TUANGOU_ENABLED:"true"MODULE_PAOTUI_ENABLED:"false"上线前还要有:备份策略、回滚步骤、管理员种子账号与初始密码交接记录。定制(界面、字段、对接)按书面范围,未写入首期的单独约定。
为什么选光合同城(技术侧)
对技术负责人,差异点应能落到仓库与测例,而不是口号:
- 中台一体化:统一后台 + 订单索引 + 营销中心,减少 N 套垂直库。
- 模块可先开后加:
enable_status+ 网关 403,控制县城试点范围。 - 成品可部署 + 私有化源码:缩短搭建周期,同时保留源码与数据掌控。
- 能力共享:中台营销等能力升级,已启用业务可按方案同步,不必每个 biz 重做。
业务规则、招商与合规结论仍由客户自行确定;系统提供字段、导出与权限组织。
适合谁,模块怎么用(技术附件清单)
适合县城本地服务商的技术负责人:要做综合本地生活平台,首期 2 模块试水,需要可导出、可拒绝测例的团队。
附件建议写死四份:
- 首期
module_code清单 + 未启用模块 403 测例说明 - 同一
user_id跨业务订单导出样例(含优惠字段,若启用) - 营销配置变更前后对比(证明公共能力维护一处)
- 分站数据范围拒绝截图与角色表
两周节奏建议:第一周拉起环境、启用两模块、跑通索引与一笔跨业务用户路径;第二周做营销共享、分站越权、取消/退款三处一致性。材料不齐,不签「扩第三模块」。
纯技术小结
本地生活系统的评审清单,应落在统一后台、跨业务订单索引、营销库存原子性、模块开关与分站权限,而不是演示页频道数量。光合同城综合完整版按中台一体化成品交付,可用模块树、索引表与 403 测例把「数据互通 / 能力共享」变成可勾选项;示例配置仅供对照,以当期交付为准。