|
|
@@ -463,41 +463,6 @@ CREATE TABLE info_user_oauth (
|
|
|
) COMMENT='三方账号绑定(Apple/Google/LINE)';
|
|
|
```
|
|
|
|
|
|
-## 2026-09-04 LINE 三端登录数据迁移(017-oauth-login)
|
|
|
-
|
|
|
-> 用途:原普通用户 LINE 绑定迁移为 `line_user`;历史业务账号手机号补入统一的 `tel_phone` 字段。只记录脚本,由开发者手动执行;不清除原 `phone` 字段。先执行两项冲突预检,任一查询返回记录时必须人工消除冲突后再执行更新。
|
|
|
-
|
|
|
-```sql
|
|
|
--- 预检 1:旧 line 绑定不能与已有 line_user 绑定形成唯一键冲突;必须返回 0 行
|
|
|
-SELECT legacy.id AS legacy_id, current.id AS current_id, legacy.provider_uid
|
|
|
-FROM info_user_oauth legacy
|
|
|
-JOIN info_user_oauth current
|
|
|
- ON current.provider = 'line_user'
|
|
|
- AND current.provider_uid = legacy.provider_uid
|
|
|
-WHERE legacy.provider = 'line';
|
|
|
-
|
|
|
--- 预检 2:有效业务账号迁移后的 tel_phone 必须唯一;必须返回 0 行
|
|
|
-SELECT COALESCE(NULLIF(tel_phone, ''), NULLIF(phone, '')) AS planned_tel_phone,
|
|
|
- COUNT(*) AS account_count
|
|
|
-FROM info_user
|
|
|
-WHERE user_type IN ('1', '2', '3', '4', '5')
|
|
|
- AND del_flag = '0'
|
|
|
- AND COALESCE(NULLIF(tel_phone, ''), NULLIF(phone, '')) IS NOT NULL
|
|
|
-GROUP BY COALESCE(NULLIF(tel_phone, ''), NULLIF(phone, ''))
|
|
|
-HAVING COUNT(*) > 1;
|
|
|
-
|
|
|
-UPDATE info_user_oauth
|
|
|
-SET provider = 'line_user'
|
|
|
-WHERE provider = 'line';
|
|
|
-
|
|
|
-UPDATE info_user
|
|
|
-SET tel_phone = phone
|
|
|
-WHERE user_type IN ('1', '2', '3', '4', '5')
|
|
|
- AND (tel_phone IS NULL OR tel_phone = '')
|
|
|
- AND phone IS NOT NULL
|
|
|
- AND phone <> '';
|
|
|
-```
|
|
|
-
|
|
|
## 2026-08-03 骑手 newTask 距离上限字典
|
|
|
|
|
|
```sql
|
|
|
@@ -1463,48 +1428,6 @@ VALUES (1,'臺灣銀行','臺灣銀行','taiwan_bank_list',NULL,'default','N','0
|
|
|
(28,'星展(台灣)銀行','星展(台灣)銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
|
|
|
(29,'中華郵政(郵局)','中華郵政(郵局)','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL);
|
|
|
```
|
|
|
-# 2026-09-08:017 骑手/商家 Apple、Google 登录与旧用户 LINE 兼容
|
|
|
-
|
|
|
-本增量无 DDL,无需改写既有用户 Apple / Google / LINE 绑定。新增 provider 为
|
|
|
-`apple_rider`、`apple_merchant`、`google_rider`、`google_merchant`,长度均适配原 `VARCHAR(16)`。
|
|
|
-后端兼容 `line` 和 `line_user`,不要为了本次发布强制执行历史 LINE provider 迁移。
|
|
|
-`info_user_oauth` 表和业务账号 `tel_phone` 若尚未按此前脚本准备,由开发者按原预检流程处理。
|
|
|
-
|
|
|
-以下只读检查用于发现曾同时建立旧/新 LINE 绑定的重复数据;有结果时先人工核实,不自动删除、合并或改绑:
|
|
|
-
|
|
|
-```sql
|
|
|
-SELECT provider_uid, COUNT(*) AS binding_count,
|
|
|
- COUNT(DISTINCT user_id) AS account_count
|
|
|
-FROM info_user_oauth
|
|
|
-WHERE provider IN ('line', 'line_user')
|
|
|
-GROUP BY provider_uid
|
|
|
-HAVING COUNT(*) > 1;
|
|
|
-```
|
|
|
-
|
|
|
-# 2026-09-08:029 商家自配送
|
|
|
-
|
|
|
-门店自配送:门店勾选自配送并设置时段(全天/按星期),命中时段的外送单不进骑手池。
|
|
|
-夜市场景配置存于**夜市主自己的门店行**(is_night_market=1),摊位经 night_market_id 解析读取;
|
|
|
-订单在下单时判定并固化快照列 self_delivery(不随后续配置变化)。
|
|
|
-
|
|
|
-```sql
|
|
|
--- 2026-09-08 029 商家自配送:门店配置两列
|
|
|
-ALTER TABLE pos_store ADD COLUMN self_delivery_enabled TINYINT(1) NOT NULL DEFAULT 0 COMMENT '自配送开关(夜市主门店行开启=旗下摊位统一生效)';
|
|
|
-ALTER TABLE pos_store ADD COLUMN self_delivery_mode TINYINT(1) DEFAULT NULL COMMENT '自配送时段模式:1=全天,2=自定义按星期';
|
|
|
-
|
|
|
--- 2026-09-08 029 商家自配送:时段表(按星期,镜像 operating_hours 模式)
|
|
|
-CREATE TABLE pos_store_self_delivery_hours (
|
|
|
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
|
|
- md_id INT NOT NULL COMMENT '配置主体门店id(夜市场景为夜市主门店行)',
|
|
|
- day_of_week TINYINT NOT NULL COMMENT 'ISO星期:1=周一..7=周日',
|
|
|
- start_time VARCHAR(5) NOT NULL COMMENT '开始时刻 HH:mm(含)',
|
|
|
- end_time VARCHAR(5) NOT NULL COMMENT '结束时刻 HH:mm(不含)',
|
|
|
- PRIMARY KEY (id),
|
|
|
- UNIQUE KEY uk_sd_hours (md_id, day_of_week, start_time)
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='门店自配送时段(按星期)';
|
|
|
-
|
|
|
--- 2026-09-08 029 商家自配送:订单判定快照列
|
|
|
-ALTER TABLE pos_order ADD COLUMN self_delivery TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1=商家自配送(下单时快照,不进骑手池,运费归sh_id)';
|
|
|
|
|
|
## 2026-09-04 闪送收件账号绑定(024-flash-delivery)
|
|
|
|
|
|
@@ -1607,62 +1530,3 @@ ALTER TABLE flash_delivery_order
|
|
|
ALTER TABLE flash_delivery_order
|
|
|
ADD COLUMN pay_type VARCHAR(4) NOT NULL DEFAULT '4' COMMENT '支付方式:4=现金,6=线下转账(下单时锁定)' AFTER currency;
|
|
|
```
|
|
|
-
|
|
|
-## 2026-09-11 可配置支付方式(031-pay-method-config)
|
|
|
-
|
|
|
-> 用途:平台支付方式开关(方式x维度)、商家/骑手收款方式选择、银行卡列表化、闪送收款状态与 027 存量迁移;缺行=开(payment_method_config 无数据时系统行为与现状一致);脚本只记录,由开发者手动执行,US5 上线前必须先执行本节全部 SQL。
|
|
|
-
|
|
|
-```sql
|
|
|
--- 平台支付方式开关表(缺行=开;CARD_OMG=信用卡+ApplePay同组;现金4不纳入)
|
|
|
-CREATE TABLE payment_method_config (
|
|
|
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
- method_code VARCHAR(32) NOT NULL COMMENT '支付方式组代码:COD/CARD_OMG/LINE_PAY/OFFLINE_TRANSFER',
|
|
|
- scope VARCHAR(32) NOT NULL COMMENT '维度:MERCHANT=商家餐饮单,RIDER_FLASH=骑手闪送',
|
|
|
- enabled TINYINT NOT NULL DEFAULT 1 COMMENT '1=开 0=关',
|
|
|
- sort INT NOT NULL DEFAULT 0 COMMENT '平台设置页展示排序',
|
|
|
- update_by BIGINT DEFAULT NULL COMMENT '最后操作管理员用户ID',
|
|
|
- create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
|
- update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
|
- UNIQUE KEY uk_method_scope (method_code, scope)
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='平台支付方式开关';
|
|
|
-
|
|
|
--- 商家/骑手收款方式选择(NULL=全部,存量零行为变化)
|
|
|
-ALTER TABLE info_user
|
|
|
- ADD COLUMN pay_methods VARCHAR(128) DEFAULT NULL COMMENT '商家接受的支付方式组代码CSV,NULL=全部启用',
|
|
|
- ADD COLUMN flash_pay_methods VARCHAR(128) DEFAULT NULL COMMENT '骑手接受的闪送收款方式组代码CSV,NULL=平台开放全部';
|
|
|
-
|
|
|
--- 收款银行卡(多卡同时仅一张启用,商家/骑手通用)
|
|
|
-CREATE TABLE info_bank_card (
|
|
|
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
- user_id BIGINT NOT NULL COMMENT '归属用户(商家主账号/骑手)',
|
|
|
- bank_name VARCHAR(64) NOT NULL COMMENT '银行名称(取字典taiwan_bank_list)',
|
|
|
- account_no VARCHAR(64) NOT NULL COMMENT '银行账号',
|
|
|
- account_name VARCHAR(64) NOT NULL COMMENT '户名',
|
|
|
- is_active TINYINT NOT NULL DEFAULT 0 COMMENT '1=启用 0=停用,同一user同时最多一张启用',
|
|
|
- create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
|
- update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
|
- KEY idx_user_id (user_id)
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收款银行卡';
|
|
|
-
|
|
|
--- 闪送骑手确认收款状态
|
|
|
-ALTER TABLE flash_delivery_order
|
|
|
- ADD COLUMN payment_status TINYINT NOT NULL DEFAULT 0 COMMENT '收款状态:0=未收款,1=骑手已确认收款';
|
|
|
-
|
|
|
--- 027 存量迁移:银行三字段齐全的商家转成一张启用卡(迁移后 bankInfo 改读 info_bank_card)
|
|
|
-INSERT INTO info_bank_card (user_id, bank_name, account_no, account_name, is_active, create_time)
|
|
|
-SELECT user_id, bank_name, bank_account_no, bank_account_name, 1, NOW()
|
|
|
-FROM info_user
|
|
|
-WHERE user_id IS NOT NULL
|
|
|
- AND bank_name IS NOT NULL AND bank_name <> ''
|
|
|
- AND bank_account_no IS NOT NULL AND bank_account_no <> ''
|
|
|
- AND bank_account_name IS NOT NULL AND bank_account_name <> '';
|
|
|
-```
|
|
|
-
|
|
|
-### 031 平台端菜单(foodie-admin-vue 支付方式设置页)
|
|
|
-
|
|
|
-```sql
|
|
|
--- 支付方式设置菜单(挂"系统管理"下)+ 页面权限
|
|
|
-SET @payCfgParent = (SELECT menu_id FROM sys_menu WHERE menu_name = '系统管理' AND parent_id = 0 LIMIT 1);
|
|
|
-INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
|
|
-VALUES ('支付方式设置', @payCfgParent, 8, 'payMethodConfig', 'pay/methodConfig/index', 'C', '0', '0', 'pay:method:config', 'money', 'admin', NOW(), '031 平台支付方式开关(方式x维度)');
|
|
|
-```
|