数据库: - db/schema_phase1.sql 16 张业务表(类目/服务/地址/师傅/订单/流水/取证/报价/评价/券/钱包/提现/结算/消息) - db/seed_phase1.sql 15 类目 + 32 服务项目 + 新人券(幂等) 后端 API (application/api/controller): - Base/Auth/Home/Address/Order/Master/Review - app/common/library/OrderStatus 11 状态机 + 流转矩阵 - application/api/common.php PHP 8.5 兼容垫片(E_DEPRECATED 不再升级为异常) 测试: - tests/e2e_flow.js 用户下单→支付→师傅抢单→履约→验收→结算→评价 全链路 65 项断言 - 含异常用例:越权/重复操作/非法状态流转/2h 未联系自动回流
65 行
6.8 KiB
SQL
65 行
6.8 KiB
SQL
-- ============================================================================
|
||
-- 优匠优服 · Phase 1 初始化数据(可重复执行,幂等)
|
||
-- ============================================================================
|
||
SET NAMES utf8mb4;
|
||
|
||
-- 15 个服务类目(与首页宫格一一对应,icon 为前端 CSS 图元键)
|
||
INSERT INTO `fa_service_cat` (`id`,`pid`,`name`,`icon`,`weigh`,`status`,`createtime`,`updatetime`) VALUES
|
||
( 1,0,'家具','sofa', 140,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 2,0,'卫浴','bath', 130,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 3,0,'灯具','lamp', 120,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 4,0,'锁具','lock', 110,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 5,0,'窗帘','curtain', 100,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 6,0,'墙纸/壁画','frame', 90,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 7,0,'净水器','water', 80,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 8,0,'晾衣架','rack', 70,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 9,0,'门窗','door', 60,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(10,0,'家电','appliance', 50,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(11,0,'电视/投影','tv', 40,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(12,0,'淋浴房','shower', 30,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(13,0,'商用厨电','kitchen',20,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(14,0,'健身器材','fitness',10,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(15,0,'更多','more', 0,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP())
|
||
ON DUPLICATE KEY UPDATE `name`=VALUES(`name`),`icon`=VALUES(`icon`),`weigh`=VALUES(`weigh`);
|
||
|
||
-- 服务项目(fixed=一口价 / quote=报价竞价 / range=区间计价)
|
||
INSERT INTO `fa_service` (`id`,`cat_id`,`name`,`price_type`,`base_price`,`max_price`,`unit`,`floor_fee`,`free_floor`,`need_model`,`description`,`sales`,`status`,`createtime`,`updatetime`) VALUES
|
||
( 1, 1,'沙发安装','fixed', 80.00, 0.00,'次',5.00,1,1,'含组装、摆放到位', 320,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 2, 1,'衣柜安装','fixed', 120.00, 0.00,'次',5.00,1,1,'含组装、调平', 210,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 3, 1,'家具拆装搬移','quote',150.00, 0.00,'次',5.00,1,0,'按现场情况报价', 96,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 4, 2,'马桶安装','fixed', 120.00, 0.00,'个',5.00,1,1,'含拆除旧件、密封', 480,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 5, 2,'花洒安装','fixed', 60.00, 0.00,'套',5.00,1,0,'含打孔、试水', 360,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 6, 2,'浴室柜安装','fixed',150.00, 0.00,'套',5.00,1,1,'含台盆下水和镜柜', 150,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 7, 3,'吸顶灯安装','fixed', 60.00, 0.00,'盏',5.00,1,0,'含开孔、接线', 520,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 8, 3,'吊灯安装','fixed', 120.00, 0.00,'盏',5.00,1,1,'含吊装调平', 180,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
( 9, 4,'指纹锁安装','fixed',180.00, 0.00,'套',5.00,1,1,'含开孔、调试', 140,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(10, 4,'门锁更换','fixed', 100.00, 0.00,'套',5.00,1,1,'含旧锁拆除', 200,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(11, 5,'窗帘安装','fixed', 50.00, 0.00,'套',5.00,1,0,'含轨道打孔', 300,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(12, 5,'电动窗帘安装','fixed',200.00,0.00,'套',5.00,1,0,'含电机布线调试', 60,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(13, 6,'墙纸铺贴','range', 25.00, 45.00,'㎡',5.00,1,0,'按实测面积结算', 88,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(14, 6,'装饰画安装','fixed', 40.00, 0.00,'幅',5.00,1,0,'含找平、固定', 120,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(15, 7,'净水器安装','fixed',120.00, 0.00,'台',5.00,1,1,'含接水调试', 260,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(16, 7,'滤芯更换','fixed', 80.00, 0.00,'次',5.00,1,1,'含旧芯回收', 75,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(17, 8,'手摇晾衣架安装','fixed',100.00,0.00,'套',5.00,1,1,'含钢丝调试', 130,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(18, 8,'电动晾衣架安装','fixed',200.00,0.00,'套',5.00,1,1,'含电源接驳', 90,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(19, 9,'门安装','fixed', 200.00, 0.00,'樘',5.00,1,1,'含门套安装调校', 70,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(20, 9,'窗户维修','quote', 150.00, 0.00,'次',5.00,1,0,'按损坏情况报价', 45,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(21,10,'洗衣机安装','fixed',80.00, 0.00,'台',5.00,1,1,'含进出水接驳', 380,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(22,10,'空调安装','fixed',200.00, 0.00,'台',5.00,1,1,'含支架、抽真空', 450,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(23,10,'冰箱维修','quote', 150.00, 0.00,'次',5.00,1,1,'按故障报价', 60,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(24,11,'电视挂装','fixed', 100.00, 0.00,'台',5.00,1,1,'含支架、走线', 340,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(25,11,'投影仪安装','fixed',150.00, 0.00,'台',5.00,1,1,'含吊架、对焦', 55,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(26,12,'淋浴房安装','fixed',300.00, 0.00,'套',5.00,1,1,'含玻璃安装、打胶', 95,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(27,12,'玻璃门维修','quote',200.00, 0.00,'次',5.00,1,0,'按损坏报价', 28,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(28,13,'商用灶具安装','quote',400.00,0.00,'台',5.00,1,1,'含燃气接驳', 22,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(29,13,'排烟罩清洗','fixed',300.00, 0.00,'次',5.00,1,0,'含油污清理', 18,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(30,14,'跑步机安装','fixed',200.00, 0.00,'台',5.00,1,1,'含调试', 26,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(31,14,'健身器材维修','quote',150.00,0.00,'次',5.00,1,1,'按故障报价', 14,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
(32,15,'其他服务','quote',100.00, 0.00,'次',5.00,1,0,'由师傅上门报价', 50,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP())
|
||
ON DUPLICATE KEY UPDATE `name`=VALUES(`name`),`price_type`=VALUES(`price_type`),`base_price`=VALUES(`base_price`);
|
||
|
||
-- 新客券
|
||
INSERT INTO `fa_coupon` (`id`,`name`,`type`,`amount`,`discount`,`min_amount`,`total`,`received`,`start_time`,`end_time`,`status`,`createtime`) VALUES
|
||
(1,'新人立减 20 元','cash',20.00,1.00,100.00,0,0,UNIX_TIMESTAMP(),UNIX_TIMESTAMP()+31536000,'normal',UNIX_TIMESTAMP())
|
||
ON DUPLICATE KEY UPDATE `name`=VALUES(`name`),`amount`=VALUES(`amount`),`min_amount`=VALUES(`min_amount`);
|