存储微信小程序用户(C 端)的核心信息
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 用户唯一 ID |
| wx_openid | varchar(128) | 唯一索引 | 是 | 微信小程序 openid(用户唯一标识) |
| wx_unionid | varchar(128) | 索引 | 否 | 微信 unionid(多小程序 / 公众号互通) |
| nickname | varchar(64) | 否 | 用户昵称(脱敏存储) | |
| avatar | varchar(255) | 否 | 用户头像 URL | |
| phone | varchar(20) | 索引 | 否 | 手机号(脱敏,如 138****1234) |
| real_phone | varchar(20) | 否 | 真实手机号(加密存储,仅后台可解密) | |
| gender | tinyint | 否 | 性别:0 - 未知 1 - 男 2 - 女 | |
| create_time | datetime | 索引 | 是 | 创建时间(注册时间) |
| update_time | datetime | 是 | 更新时间 | |
| last_login_time | datetime | 否 | 最后登录时间 | |
| status | tinyint | 是 | 状态:0 - 正常 1 - 禁用 2 - 注销 |
存储上门服务人员信息(自营 / 商家所属)
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 服务者唯一 ID |
| merchant_id | bigint unsigned | 外键 | 否 | 所属商家 ID(0 = 平台自营) |
| wx_openid | varchar(128) | 唯一索引 | 是 | 服务者小程序 openid |
| real_name | varchar(32) | 是 | 真实姓名 | |
| id_card | varchar(32) | 唯一索引 | 是 | 身份证号(加密存储) |
| phone | varchar(20) | 索引 | 是 | 手机号(明文,用于派单联系) |
| avatar | varchar(255) | 否 | 服务者头像 | |
| service_types | varchar(255) | 是 | 擅长服务类型(JSON 数组,如 ["保洁","维修"]) | |
| score | decimal(2,1) | 是 | 服务评分(0-5 分) | |
| status | tinyint | 索引 | 是 | 状态:0 - 待审核 1 - 正常 2 - 暂停 3 - 禁用 |
| deposit_amount | decimal(10,2) | 是 | 保证金金额(0 = 无需缴纳) | |
| current_lng | decimal(10,6) | 索引 | 否 | 当前经度(实时更新) |
| current_lat | decimal(10,6) | 索引 | 否 | 当前纬度(实时更新) |
| receive_order_mode | tinyint | 是 | 接单模式:0 - 仅派单 1 - 仅抢单 2 - 派单 + 抢单 | |
| create_time | datetime | 是 | 创建时间 | |
| update_time | datetime | 是 | 更新时间 |
存储联营商家信息
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 商家唯一 ID |
| merchant_name | varchar(64) | 索引 | 是 | 商家名称 |
| merchant_logo | varchar(255) | 否 | 商家 logo | |
| merchant_address | varchar(255) | 是 | 商家地址 | |
| lng | decimal(10,6) | 索引 | 是 | 商家经度 |
| lat | decimal(10,6) | 索引 | 是 | 商家纬度 |
| contact_name | varchar(32) | 是 | 联系人姓名 | |
| contact_phone | varchar(20) | 索引 | 是 | 联系人手机号 |
| business_license | varchar(255) | 是 | 营业执照图片 URL | |
| service_scope | varchar(255) | 是 | 服务范围(JSON 数组) | |
| commission_rate | decimal(5,2) | 是 | 平台抽佣比例(如 5.00=5%) | |
| status | tinyint | 索引 | 是 | 状态:0 - 待审核 1 - 正常 2 - 暂停 3 - 禁用 |
| create_time | datetime | 是 | 创建时间 | |
| update_time | datetime | 是 | 更新时间 |
存储平台 / 商家的服务项目(如日常保洁、家电维修)
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 服务项目 ID |
| merchant_id | bigint unsigned | 外键 | 是 | 所属商家 ID(0 = 平台自营) |
| item_name | varchar(64) | 索引 | 是 | 服务项目名称(如 “日常保洁 3 小时”) |
| item_category | varchar(32) | 索引 | 是 | 服务分类(如 “保洁”“维修”) |
| price | decimal(10,2) | 是 | 基础价格 | |
| original_price | decimal(10,2) | 否 | 原价(用于展示优惠) | |
| service_type | tinyint | 索引 | 是 | 服务模式:0 - 上门 1 - 到店 2 - 上门 + 到店 |
| service_desc | text | 否 | 服务描述 | |
| cover_image | varchar(255) | 是 | 封面图 URL | |
| status | tinyint | 索引 | 是 | 状态:0 - 下架 1 - 上架 |
| create_time | datetime | 是 | 创建时间 | |
| update_time | datetime | 是 | 更新时间 |
存储订单核心信息(全流程状态流转)
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 订单 ID(雪花算法生成,便于排序) |
| order_sn | varchar(32) | 唯一索引 | 是 | 订单编号(如 JD202601180001) |
| user_id | bigint unsigned | 外键 | 是 | 下单用户 ID |
| merchant_id | bigint unsigned | 外键 | 是 | 所属商家 ID(0 = 平台自营) |
| service_provider_id | bigint unsigned | 外键 | 否 | 服务者 ID(抢单 / 派单后填充) |
| service_item_id | bigint unsigned | 外键 | 是 | 服务项目 ID |
| service_type | tinyint | 是 | 服务模式:0 - 上门 1 - 到店 | |
| order_amount | decimal(10,2) | 是 | 订单金额 | |
| pay_amount | decimal(10,2) | 是 | 实际支付金额(含优惠) | |
| discount_amount | decimal(10,2) | 是 | 优惠金额 | |
| service_address | varchar(255) | 是 | 服务地址(上门必填) | |
| service_lng | decimal(10,6) | 是 | 服务地址经度 | |
| service_lat | decimal(10,6) | 是 | 服务地址纬度 | |
| service_time | datetime | 索引 | 是 | 预约服务时间 |
| order_mode | tinyint | 是 | 订单模式:0 - 派单 1 - 抢单 2 - 用户选服务者 | |
| order_status | tinyint | 索引 | 是 | 订单状态:0 - 待支付 1 - 待接单 2 - 待服务 3 - 服务中 4 - 待确认 5 - 已完成 6 - 已取消 7 - 售后中 |
| pay_status | tinyint | 是 | 支付状态:0 - 未支付 1 - 已支付 2 - 已退款 | |
| pay_time | datetime | 否 | 支付时间 | |
| create_time | datetime | 索引 | 是 | 创建时间 |
| update_time | datetime | 是 | 更新时间 |
记录抢单 / 派单操作日志,用于追溯
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 日志 ID |
| order_id | bigint unsigned | 外键 | 是 | 关联订单 ID |
| operator_type | tinyint | 是 | 操作人类型:0 - 服务者 1 - 商家 2 - 平台管理员 | |
| operator_id | bigint unsigned | 是 | 操作人 ID(服务者 / 商家 / 管理员 ID) | |
| grab_type | tinyint | 是 | 操作类型:0 - 抢单 1 - 派单 2 - 拒绝接单 | |
| grab_status | tinyint | 是 | 操作结果:0 - 成功 1 - 失败 | |
| fail_reason | varchar(255) | 否 | 失败原因(如 “订单已被抢”) | |
| create_time | datetime | 是 | 操作时间 |
存储所有资金流转记录,支持对账
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 流水 ID |
| related_id | bigint unsigned | 索引 | 是 | 关联 ID(订单 ID / 提现 ID) |
| related_type | tinyint | 是 | 关联类型:0 - 订单 1 - 提现 2 - 充值 3 - 退款 4 - 平台抽佣 | |
| target_type | tinyint | 是 | 资金归属:0 - 用户 1 - 服务者 2 - 商家 3 - 平台 | |
| target_id | bigint unsigned | 是 | 归属 ID(用户 / 服务者 / 商家 ID) | |
| amount | decimal(10,2) | 是 | 金额(正数 = 收入,负数 = 支出) | |
| balance | decimal(10,2) | 是 | 操作后余额 | |
| flow_sn | varchar(32) | 唯一索引 | 是 | 流水编号 |
| wx_pay_sn | varchar(64) | 索引 | 否 | 微信支付单号(支付 / 退款) |
| status | tinyint | 索引 | 是 | 状态:0 - 待处理 1 - 已完成 2 - 失败 |
| create_time | datetime | 索引 | 是 | 创建时间 |
存储服务者 / 商家的提现申请
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 提现 ID |
| apply_type | tinyint | 是 | 提现类型:0 - 服务者 1 - 商家 | |
| apply_id | bigint unsigned | 是 | 提现人 ID(服务者 / 商家 ID) | |
| withdraw_amount | decimal(10,2) | 是 | 提现金额 | |
| service_fee | decimal(10,2) | 是 | 提现手续费 | |
| actual_amount | decimal(10,2) | 是 | 实际到账金额 | |
| wx_account | varchar(64) | 是 | 微信收款账号(openid / 商户号) | |
| apply_status | tinyint | 索引 | 是 | 状态:0 - 待审核 1 - 审核通过 2 - 打款中 3 - 已到账 4 - 审核拒绝 5 - 打款失败 |
| audit_time | datetime | 否 | 审核时间 | |
| audit_user_id | bigint unsigned | 否 | 审核人 ID(平台管理员) | |
| pay_time | datetime | 否 | 打款时间 | |
| fail_reason | varchar(255) | 否 | 失败原因 | |
| create_time | datetime | 索引 | 是 | 申请时间 |
| update_time | datetime | 是 | 更新时间 |
存储平台全局配置
| 字段名 | 数据类型 | 主键 / 外键 | 非空 | 注释 |
|---|---|---|---|---|
| id | bigint unsigned | 主键 | 是 | 配置 ID |
| config_key | varchar(64) | 唯一索引 | 是 | 配置键(如 “platform_commission_rate”) |
| config_value | text | 是 | 配置值(JSON / 字符串) | |
| config_desc | varchar(255) | 是 | 配置描述 | |
| create_time | datetime | 是 | 创建时间 | |
| update_time | datetime | 是 | 更新时间 |
order_status、service_time、current_lng/lat)必须加索引;order_main 表建议创建(merchant_id, order_status, create_time) 联合索引,适配商家端订单列表查询。// 抢单事务示例
$pdo->beginTransaction();
try {
// 1. 锁定订单行,防止并发抢单
$stmt = $pdo->prepare("SELECT * FROM order_main WHERE id = ? FOR UPDATE");
$stmt->execute([$order_id]);
$order = $stmt->fetch(PDO::FETCH_ASSOC);
// 2. 检查订单状态(仅待接单可抢)
if ($order['order_status'] != 1) {
throw new Exception("订单已被抢");
}
// 3. 更新订单服务者ID和状态
$stmt = $pdo->prepare("UPDATE order_main SET service_provider_id = ?, order_status = 2, update_time = NOW() WHERE id = ?");
$stmt->execute([$provider_id, $order_id]);
// 4. 记录抢单日志
$stmt = $pdo->prepare("INSERT INTO order_grab_log (order_id, operator_type, operator_id, grab_type, grab_status) VALUES (?, 0, ?, 0, 0)");
$stmt->execute([$order_id, $provider_id]);
$pdo->commit();
} catch (Exception $e) {
$pdo->rollBack();
// 记录失败日志
$stmt = $pdo->prepare("INSERT INTO order_grab_log (order_id, operator_type, operator_id, grab_type, grab_status, fail_reason) VALUES (?, 0, ?, 0, 1, ?)");
$stmt->execute([$order_id, $provider_id, $e->getMessage()]);
}order_main)按月份分表(如order_main_202601),避免单表数据量过大;finance_flow)同理,按季度分表。
来团科技GEO优化&AI搜索优化系统,是通过大模型内容投喂+训练,将企业品牌及产品信息在多平台AI生成的答案中获取优先展现,更精准触达潜在目标客户,让企业品牌出现在AI搜索里。让客户一搜就看到你,实现一问就有你,一查就信你,一看就找你的营销效果。
来团智慧商业小程序零代码开发平台,多行业适配。无需代码,拖拽式设计,轻松打造订货商城、会员制商城、分销商城及小程序官网。不仅能满足通用需求,还支持定制化,从页面布局到功能模块,随心定制,助您快速搭建专属商业小程序,抢占市场先机。
来团科技微名通不止是电子名片,更是你的商业连接器。比起传统名片,它更像你的 “迷你商业工具”:信息多、好携带、能互动,还不浪费纸张。不管是跑业务、拓人脉,还是展示企业,一张「微名通」电子名片,就能帮你把商机揣在手机里。
来团科技CRM客户管理系统,帮你把 “线索→成交→回款” 全流程管明白。这就是一套 “让销售省心、老板放心” 的客户管理工具,从获客到回款,帮你把生意攥在手里。