内容由微三云营销总监胡佳东编辑整理
系统概述
项目背景
消费抵扣物业费系统是一款连接业主、商家、物业三方的创新型社区商业服务平台。业主在平台合作商家消费可获得积分奖励,积分可直接用于抵扣物业费,形成"消费→积分→抵物业费"的商业闭环。该模式既帮助商家锁定社区精准客流,又降低业主物业费支出,同时提升物业公司收缴率,实现三方共赢。



核心目标
- 提升物业费收缴率,降低物业催收成本
- 为社区周边商家引流,提升商户营业额
- 增强业主粘性,构建社区生态闭环
- 实现消费数据透明化、分账自动化

适用场景
- 住宅小区物业费收缴与社区商业联动
- 商业综合体租户消费抵扣物业管理费
- 产业园区企业消费抵扣园区服务费
- 公寓/长租社区消费抵扣租金或服务费
系统架构设计
整体架构图
暂时无法在飞书文档外展示此内容
架构分层说明
层级 | 核心组件 | 职责说明 |
|---|---|---|
客户端层 | 业主端、商家端、物业端、平台端 | 面向不同角色的前端应用,业主端以小程序为主,商家端支持小程序+APP,物业和平台使用Web管理后台 |
网关层 | API网关、负载均衡、鉴权认证 | 统一入口,负责路由转发、限流熔断、身份认证、日志记录,隔离内外网 |
业务服务层 | 8大核心微服务 | 按业务领域拆分的微服务集群,各自独立部署、独立扩缩容,通过RPC/HTTP内部通信 |
数据层 | MySQL、Redis、MQ、OSS、ELK | 关系型数据存储、热点缓存、异步消息解耦、文件存储、日志检索分析 |
第三方服务 | 支付、短信、地图等 | 对接外部成熟服务,避免重复造轮子,保障支付合规和消息触达 |
技术栈选型
分类 | 技术选型 | 选型理由 |
|---|---|---|
后端框架 | Spring Cloud / Go Micro | 成熟的微服务生态,支持服务发现、配置中心、链路追踪,团队上手快 |
前端框架 | Vue3 + UniApp / React Native | UniApp一套代码多端发布(微信小程序、支付宝小程序、H5、APP),降低开发成本 |
管理后台 | Vue3 + Element Plus / Ant Design | 组件丰富,适合快速搭建中后台管理系统 |
数据库 | MySQL 8.0 + 分库分表 | 事务支持完善,生态成熟,订单量增长后可平滑引入ShardingSphere分库分表 |
缓存 | Redis 6.x 集群 | 热点数据缓存、分布式锁、积分计数器、Session共享,性能优异 |
消息队列 | RocketMQ / Kafka | 异步解耦消费订单、积分发放、分账结算等流程,削峰填谷保障系统稳定性 |
搜索引擎 | Elasticsearch | 商家搜索、订单检索、日志分析,支持复杂条件查询和全文检索 |
部署运维 | Docker + Kubernetes + Jenkins | 容器化部署,弹性扩缩容,CI/CD自动化发布,降低运维成本 |
监控告警 | Prometheus + Grafana + SkyWalking | 全链路监控、指标可视化、分布式追踪,快速定位线上问题 |
核心业务流程
消费抵扣主流程
暂时无法在飞书文档外展示此内容
分账结算流程

业务规则说明
积分发放规则:业主消费后,按商家设置的返佣比例发放积分,1积分=0.01元(可配置)。积分发放设置7天冻结期,期间发生退款则扣回对应积分。
抵扣上限规则:单次物业费缴纳,积分抵扣比例不超过账单金额的50%(可按小区配置),防止积分超发导致物业收入受损。
分账规则:平台向商家收取交易佣金(通常3%-8%),其中按协议比例分给物业公司(通常30%-50%),作为社区引流和物业配合的回报。
功能模块详细设计
业主端功能
功能模块 | 子功能 | 说明 |
|---|---|---|
首页 | 附近商家、活动Banner、积分余额 | LBS定位展示周边合作商家,展示积分余额和快捷入口,运营位投放活动 |
商家列表 | 分类筛选、搜索、排序、距离 | 按品类、返积分比例、距离、评分筛选,支持关键词搜索 |
商家详情 | 店铺信息、商品/服务、评价、导航 | 展示商家介绍、返积分比例、营业时间、地址导航、用户评价 |
消费支付 | 扫码支付、订单确认、支付结果 | 业主扫商家收款码,输入金额,确认返积分比例,完成支付 |
积分中心 | 积分余额、积分明细、冻结积分 | 展示可用积分、冻结中积分、积分收支明细,支持按时间筛选 |
物业费 | 账单查询、积分抵扣、在线缴费 | 展示待缴物业费账单,选择积分抵扣金额,剩余金额在线支付 |
我的订单 | 消费订单、缴费订单、退款申请 | 全部订单列表,订单详情,支持消费订单退款申请 |
个人中心 | 房屋绑定、家庭成员、设置、客服 | 绑定房屋信息验证业主身份,添加家庭成员共享积分,联系在线客服 |
商家端功能
功能模块 | 子功能 | 说明 |
|---|---|---|
入驻申请 | 资质提交、门店信息、协议签署 | 商家提交营业执照、法人身份证、门店照片,设置返积分比例,签署合作协议 |
收款管理 | 收款码、收款记录、语音播报 | 生成专属收款码(支持打印),收款实时语音播报,收款记录查询 |
订单管理 | 订单列表、订单详情、退款处理 | 查看全部消费订单,处理业主退款申请,订单导出 |
结算中心 | 结算记录、待结算金额、提现 | 展示T+1待结算金额、历史结算记录、银行卡管理、提现申请 |
数据统计 | 营业额、订单量、客单价、趋势 | 按日/周/月展示经营数据,对比趋势,导出报表 |
营销工具 | 优惠券、满减活动、会员折扣 | 商家自主创建营销活动,设置优惠券、满减规则,提升复购率 |
店铺设置 | 门店信息、营业时间、品类、图片 | 维护店铺基本信息、营业状态、商品/服务列表、门店环境图 |
物业端功能
功能模块 | 子功能 | 说明 |
|---|---|---|
业主管理 | 业主信息、房屋绑定、审核 | 管理小区业主信息,审核房屋绑定申请,业主状态管理 |
账单管理 | 账单生成、账单推送、批量导入 | 按月/季度生成物业费账单,支持Excel批量导入,推送账单通知给业主 |
缴费管理 | 缴费记录、抵扣记录、对账 | 查看全部缴费记录,积分抵扣明细,与财务系统对账 |
商家管理 | 商家列表、商家审核、合作配置 | 审核本小区周边商家入驻申请,配置物业分成比例,商家黑名单 |
数据报表 | 收缴率、抵扣统计、收入分析 | 物业费收缴率趋势、积分抵扣金额统计、物业分成收入报表 |
通知公告 | 公告发布、消息推送、模板管理 | 发布小区通知公告,推送缴费提醒、活动通知,管理消息模板 |
平台运营端功能
功能模块 | 子功能 | 说明 |
|---|---|---|
小区管理 | 小区列表、物业配置、参数设置 | 管理全部合作小区,配置各小区抵扣上限、积分比例、分成规则 |
商家管理 | 商家审核、商家列表、等级管理 | 平台级商家审核,商家等级体系,违规处罚管理 |
订单管理 | 全部订单、异常订单、退款审核 | 查看平台全部消费订单,处理异常订单,大额退款审核 |
积分管理 | 积分规则、积分发放、积分调整 | 配置全局积分规则,手动调整业主积分,积分发放记录审计 |
财务管理 | 分账配置、结算管理、对账报表 | 配置平台/物业/商家分账比例,管理结算周期,财务对账报表 |
运营管理 | Banner管理、活动配置、内容管理 | 首页Banner投放,平台级活动配置,文章/公告内容管理 |
系统管理 | 角色权限、操作日志、系统配置 | RBAC角色权限管理,操作日志审计,系统参数配置 |
数据大屏 | 实时交易、用户增长、区域热力 | 平台运营数据可视化大屏,实时展示交易额、订单量、用户增长 |
数据模型设计
核心数据表
用户与房屋
字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
user_id | BIGINT | 是 | 用户唯一ID,主键 |
openid | VARCHAR(64) | 是 | 微信openid,唯一索引 |
phone | VARCHAR(20) | 否 | 手机号,加密存储 |
nickname | VARCHAR(50) | 否 | 用户昵称 |
avatar | VARCHAR(255) | 否 | 头像URL |
status | TINYINT | 是 | 状态:0-禁用 1-正常 |
create_time | DATETIME | 是 | 注册时间 |
房屋绑定表
字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | BIGINT | 是 | 主键 |
user_id | BIGINT | 是 | 用户ID |
community_id | BIGINT | 是 | 小区ID |
building | VARCHAR(20) | 是 | 楼栋号 |
unit | VARCHAR(20) | 是 | 单元号 |
room | VARCHAR(20) | 是 | 房间号 |
owner_type | TINYINT | 是 | 身份:1-业主 2-租户 3-家属 |
audit_status | TINYINT | 是 | 审核状态:0-待审核 1-通过 2-拒绝 |
is_default | TINYINT | 是 | 是否默认房屋 |
积分账户表
字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | BIGINT | 是 | 主键 |
user_id | BIGINT | 是 | 用户ID,唯一索引 |
available_points | INT | 是 | 可用积分余额 |
frozen_points | INT | 是 | 冻结中积分(待过冻结期) |
total_earned | INT | 是 | 累计获得积分 |
total_used | INT | 是 | 累计使用积分 |
version | INT | 是 | 乐观锁版本号 |
update_time | DATETIME | 是 | 最后更新时间 |
消费订单表
字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
order_no | VARCHAR(32) | 是 | 订单号,主键 |
user_id | BIGINT | 是 | 业主用户ID |
merchant_id | BIGINT | 是 | 商家ID |
community_id | BIGINT | 是 | 所属小区ID |
order_amount | DECIMAL(10,2) | 是 | 订单金额(元) |
pay_amount | DECIMAL(10,2) | 是 | 实付金额(元) |
points_rate | DECIMAL(5,2) | 是 | 返积分比例(%) |
points_amount | INT | 是 | 发放积分数量 |
commission_rate | DECIMAL(5,2) | 是 | 平台佣金比例(%) |
commission_amount | DECIMAL(10,2) | 是 | 平台佣金金额 |
pay_channel | TINYINT | 是 | 支付渠道:1-微信 2-支付宝 |
pay_status | TINYINT | 是 | 支付状态:0-待支付 1-已支付 2-已退款 3-部分退款 |
settle_status | TINYINT | 是 | 结算状态:0-未结算 1-结算中 2-已结算 |
pay_time | DATETIME | 否 | 支付时间 |
create_time | DATETIME | 是 | 订单创建时间 |
物业费账单表
字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
bill_no | VARCHAR(32) | 是 | 账单号,主键 |
community_id | BIGINT | 是 | 小区ID |
house_id | BIGINT | 是 | 房屋ID |
user_id | BIGINT | 是 | 业主用户ID |
bill_type | TINYINT | 是 | 账单类型:1-物业费 2-停车费 3-水电费 4-其他 |
bill_period | VARCHAR(20) | 是 | 账期,如2026-09 |
total_amount | DECIMAL(10,2) | 是 | 账单总金额 |
paid_amount | DECIMAL(10,2) | 是 | 已支付金额 |
points_deducted | INT | 是 | 积分抵扣数量 |
points_amount | DECIMAL(10,2) | 是 | 积分抵扣金额 |
bill_status | TINYINT | 是 | 账单状态:0-待缴费 1-部分缴费 2-已缴清 3-已逾期 |
due_date | DATE | 是 | 缴费截止日期 |
create_time | DATETIME | 是 | 账单生成时间 |
数据库设计原则
- 所有表均包含 create_time、update_time 字段,便于数据追踪
- 金额字段统一使用 DECIMAL(10,2),避免浮点精度问题
- 积分相关操作使用乐观锁(version字段),防止并发超发
- 订单号、账单号采用业务前缀+时间戳+序列号生成,保证全局唯一
- 敏感字段(手机号、身份证号)加密存储,查询时脱敏展示
- 按 community_id 进行分库分表路由,单小区数据量可控
核心接口设计
业主端接口
方法 | 接口路径 | 功能 | 说明 |
|---|---|---|---|
POST | /api/user/login | 微信登录 | code换取openid,自动注册/登录 |
POST | /api/house/bind | 绑定房屋 | 提交小区+楼栋+单元+房间,等待物业审核 |
GET | /api/merchant/list | 商家列表 | 支持分类、距离、返积分比例筛选 |
GET | /api/merchant/detail | 商家详情 | 商家信息、商品、评价、返积分规则 |
POST | /api/order/create | 创建消费订单 | 扫商家码,输入金额,创建待支付订单 |
POST | /api/order/pay | 订单支付 | 调用微信/支付宝支付,返回支付参数 |
GET | /api/points/account | 积分账户 | 可用积分、冻结积分、累计收支 |
GET | /api/points/log | 积分明细 | 积分收支记录,支持分页和筛选 |
GET | /api/property/bill/list | 物业费账单 | 待缴/已缴账单列表 |
POST | /api/property/bill/pay | 缴纳物业费 | 选择积分抵扣金额,剩余金额在线支付 |
GET | /api/order/my-list | 我的订单 | 消费订单和缴费订单列表 |
商家端接口
方法 | 接口路径 | 功能 | 说明 |
|---|---|---|---|
POST | /api/merchant/apply | 入驻申请 | 提交资质、门店信息、返积分比例 |
GET | /api/merchant/qrcode | 获取收款码 | 生成专属收款码图片URL |
GET | /api/merchant/order/list | 收款订单 | 本店消费订单列表 |
POST | /api/merchant/refund/handle | 处理退款 | 同意或拒绝业主退款申请 |
GET | /api/merchant/settle/list | 结算记录 | 历史结算记录和待结算金额 |
POST | /api/merchant/withdraw/apply | 提现申请 | 提交提现金额和银行卡 |
GET | /api/merchant/statistics | 经营数据 | 营业额、订单量、客单价统计 |
接口设计规范
- RESTful风格,URL使用名词复数,HTTP方法表达动作语义
- 统一返回格式:{ code, message, data, timestamp },code=0表示成功
- 分页接口统一使用 page(页码,从1开始)和 page_size(每页条数)参数
- 所有接口需携带 token(Header: Authorization: Bearer {token})进行身份验证
- 接口版本号通过URL路径传递,如 /api/v1/order/list
- 幂等性:支付、退款、抵扣等关键接口使用 request_id 做幂等控制
- 限流:按用户ID和IP双重限流,防止恶意刷接口
安全与合规设计
数据安全
- 传输加密:全站HTTPS,TLS 1.2+,API接口强制HTTPS
- 存储加密:手机号、身份证号、银行卡号等敏感字段AES-256加密存储
- 脱敏展示:前端展示敏感信息时脱敏,如手机号 138****8888
- 密码安全:用户密码使用 bcrypt 加盐哈希存储,禁止明文传输和存储
- 数据库安全:数据库禁止公网访问,最小权限原则,定期备份
业务安全
- 积分防超发:积分账户使用乐观锁,发放前校验余额,发放后异步对账
- 防刷单套现:同一设备/IP/支付账号限制交易频率,异常交易人工审核
- 退款风控:高频退款用户标记风险,大额退款需平台审核
- 分账安全:分账金额计算后双重校验,结算前对账,异常冻结
- 操作审计:管理后台所有关键操作记录日志,可追溯操作人、时间、内容
支付合规
- 对接持牌支付机构(微信支付、支付宝),不触碰用户资金
- 商家结算使用支付机构分账能力,平台不设资金池
- 保留完整交易凭证,满足税务和监管要求
- 商家入驻审核营业执照和法人身份,确保交易主体合规
隐私合规
- 遵循《个人信息保护法》,用户注册时明示隐私政策并获取同意
- 最小必要原则,只收集业务必需的用户信息
- 支持用户查询、更正、删除个人信息,支持账号注销
- 用户数据不向第三方共享,法律法规要求除外
部署与运维方案
部署架构
暂时无法在飞书文档外展示此内容
环境规划
环境 | 用途 | 配置建议 |
|---|---|---|
开发环境 | 开发人员日常开发联调 | 单节点部署,共享数据库,资源配置较低,随时重建 |
测试环境 | QA测试、功能验证 | 模拟生产架构,小规模集群,独立数据库,数据脱敏 |
预发环境 | 上线前验证、性能压测 | 与生产同配置,连接生产只读从库,验证通过后发布生产 |
生产环境 | 正式对外服务 | 多可用区部署,全链路高可用,数据多副本,定期备份 |
CI/CD流程
- 开发人员提交代码到GitLab,触发WebHook
- Jenkins自动拉取代码,执行编译、单元测试、代码扫描
- 构建Docker镜像,推送到镜像仓库(Harbor)
- 自动部署到测试环境,触发自动化测试
- 测试通过后,人工确认发布到预发环境
- 预发验证通过,灰度发布到生产环境(先10%流量,观察后全量)
- 发布完成后自动通知,异常自动回滚
监控告警
监控维度 | 监控指标 | 告警阈值 |
|---|---|---|
基础设施 | CPU、内存、磁盘、网络 | CPU>80%持续5分钟,内存>85%,磁盘>90% |
应用服务 | QPS、响应时间、错误率 | P99响应时间>1s,错误率>1%,服务实例下线 |
数据库 | 连接数、慢查询、主从延迟 | 连接数>80%,慢查询>10条/分钟,主从延迟>5s |
缓存 | 命中率、内存使用、连接数 | 命中率<90%,内存使用>85% |
消息队列 | 消息堆积、消费延迟 | 堆积>10000条,消费延迟>5分钟 |
业务指标 | 支付成功率、积分发放成功率 | 支付成功率<95%,积分发放失败>10笔/分钟 |
备份与容灾
- 数据库备份:每日全量备份 + 每小时增量备份,保留30天,备份文件异地存储
- Redis备份:开启RDB+AOF持久化,每日备份到对象存储
- 文件备份:对象存储开启跨区域复制,确保图片等文件不丢失
- 容灾方案:核心服务多可用区部署,数据库一主多从,支持快速切换
- 灾难恢复:制定RTO(恢复时间目标)<30分钟,RPO(恢复点目标)<5分钟
性能与扩展规划
性能指标目标
指标 | 目标值 | 说明 |
|---|---|---|
首页加载时间 | < 2秒 | 小程序首屏渲染,包含接口请求 |
接口平均响应时间 | < 200ms | 非统计类接口,P95 < 500ms |
支付接口响应时间 | < 500ms | 创建订单+调用支付渠道 |
系统可用性 | 99.9% | 年停机时间不超过8.76小时 |
单服务QPS支撑 | 1000+ | 订单服务峰值,可水平扩展 |
积分发放延迟 | < 3秒 | 支付成功到积分到账的异步处理时间 |
性能优化策略
- 缓存优化:商家信息、小区配置、积分规则等热点数据Redis缓存,减少DB查询
- 数据库优化:合理建索引,避免大表JOIN,慢查询持续优化,读写分离
- 异步处理:积分发放、消息通知、分账结算等非核心流程异步化,提升主流程响应
- 静态资源:图片、JS、CSS等静态资源CDN加速,小程序分包加载
- 连接池:数据库连接池、HTTP连接池合理配置,避免连接泄漏
- 限流降级:高峰期对非核心接口限流,核心功能保障可用,降级方案预案
扩展规划
阶段 | 业务规模 | 架构调整 |
|---|---|---|
初期 | 10个小区,1万用户,日订单1000 | 单体应用+单库,快速上线验证业务模式 |
成长期 | 50个小区,10万用户,日订单1万 | 微服务拆分,读写分离,Redis集群,消息队列引入 |
成熟期 | 200个小区,50万用户,日订单5万 | 分库分表,多可用区部署,Elasticsearch引入,全链路监控 |
规模化 | 1000+小区,200万用户,日订单20万+ | 异地多活,单元化架构,Serverless弹性伸缩,智能风控 |
项目实施计划
迭代规划
阶段 | 周期 | 核心交付 | 目标 |
|---|---|---|---|
V1.0 | 4周 | 业主端基础功能、商家收款、物业费查询与抵扣、管理后台 | 核心闭环跑通,试点小区上线 |
V1.1 | 3周 | 商家端完整功能、分账结算、数据统计、营销工具 | 商家自助运营,财务自动化 |
V1.2 | 3周 | 物业端完整功能、账单批量导入、通知推送、报表 | 物业深度参与,提升收缴率 |
V2.0 | 4周 | 微服务架构升级、性能优化、多小区支持、开放平台 | 支撑规模化复制,技术架构升级 |
V2.1 | 持续 | AI智能推荐、用户画像、精准营销、数据大屏 | 数据驱动运营,提升平台价值 |
团队配置建议
角色 | 人数 | 职责 |
|---|---|---|
产品经理 | 1 | 需求调研、产品设计、原型输出、项目协调 |
UI设计师 | 1 | 界面设计、交互设计、视觉规范、切图输出 |
前端开发 | 2 | 小程序开发(业主端+商家端)、管理后台开发 |
后端开发 | 2-3 | 接口开发、数据库设计、支付对接、分账逻辑 |
测试工程师 | 1 | 功能测试、接口测试、性能测试、兼容性测试 |
运维工程师 | 0.5 | 环境搭建、部署发布、监控告警、运维自动化(可兼职) |
实施建议:建议采用敏捷开发模式,2周一个迭代,每日站会,迭代评审和回顾。V1.0阶段优先保证核心闭环(消费→积分→抵物业费)跑通,非核心功能后续迭代补充,尽快上线试点验证商业模式。
附录
术语表
术语 | 说明 |
|---|---|
积分 | 业主消费后获得的虚拟权益,可用于抵扣物业费,1积分=0.01元(可配置) |
冻结积分 | 消费后积分进入7天冻结期,期间发生退款则扣回,冻结期结束后自动转为可用积分 |
返积分比例 | 商家设置的消费返积分比例,如5%表示消费100元返500积分(价值5元) |
平台佣金 | 平台从商家交易中抽取的服务费,通常为交易金额的3%-8% |
物业分成 | 平台佣金中按协议比例分给物业公司的部分,作为社区引流和配合的回报 |
T+1结算 | 商家交易资金在交易次日完成结算,扣除佣金和积分成本后转入商家账户 |
抵扣上限 | 单次物业费缴纳中积分可抵扣的最高比例,默认50%,可按小区配置 |
参考文档
- 微信支付接入文档:https://pay.weixin.qq.com/wiki/doc/apiv3/index.shtml
- 支付宝开放平台文档:https://opendocs.alipay.com/open
- 微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
- Spring Cloud微服务架构:https://spring.io/projects/spring-cloud
- 个人信息保护法:https://www.gov.cn/xinwen/2021-08/20/content_5632486.htm
