✨ 打卡照片按类型最多传 9 张,照片列加宽为 text
- 节点打卡提交新增 photoItems(带显式类型),photos 原样保留供旧版小程序按下标回推 - 打卡照片是每个打卡节点必有的类型,不由过程配置决定,与各凭证类型各自最多 9 张 - 新版提交要求每个类型至少 1 张;旧版仍只要求至少 1 张,避免打断未升级的小程序 - 管理端订正只校验每类上限,不校验必填 - photos 由 varchar(2000) 改 text:36 张约 4000 字符,旧列宽约 17 张即溢出 - 基线建表脚本补 COLLATE=utf8mb4_0900_ai_ci(与本机库实际排序规则一致)
This commit is contained in:
@@ -11,7 +11,7 @@ CREATE TABLE IF NOT EXISTS `blade_waybill_node_punch` (
|
||||
`longitude` decimal(12, 8) DEFAULT NULL COMMENT '经度',
|
||||
`latitude` decimal(12, 8) DEFAULT NULL COMMENT '纬度',
|
||||
`address` varchar(500) DEFAULT NULL COMMENT '打卡地址',
|
||||
`photos` varchar(2000) DEFAULT NULL COMMENT '凭证照片URL,多张逗号分隔',
|
||||
`photos` text DEFAULT NULL COMMENT '照片 JSON 数组 [{type,url}],每类型至多 9 张',
|
||||
`weight` varchar(32) DEFAULT NULL COMMENT '重量(吨)',
|
||||
`volume` varchar(32) DEFAULT NULL COMMENT '体积(方)',
|
||||
`quantity` varchar(32) DEFAULT NULL COMMENT '数量(件)',
|
||||
@@ -27,4 +27,4 @@ CREATE TABLE IF NOT EXISTS `blade_waybill_node_punch` (
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_node_punch_waybill` (`waybill_id`, `node_code`, `punch_time`) USING BTREE,
|
||||
KEY `idx_node_punch_driver` (`driver_id`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运单过程节点打卡记录';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='运单过程节点打卡记录';
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
-- ----------------------------
|
||||
-- 节点打卡照片列加宽:varchar(2000) 改为 text
|
||||
-- ----------------------------
|
||||
-- 一个节点可传「打卡照片 9 张 + 每个凭证类型各 9 张」,勾了 4 类凭证时共 45 张;
|
||||
-- 库里实测每张照片含类型的 JSON 串约 111 字符,36 张约 4000 字符,已超 varchar(2000) 一倍。
|
||||
-- 超长时严格模式报 Data too long,非严格模式会静默截断成半个 JSON,后者更难查。
|
||||
-- 内容形状不变,仍是扁平 [{"type","url"}]。可重复执行。
|
||||
|
||||
ALTER TABLE `blade_waybill_node_punch`
|
||||
MODIFY COLUMN `photos` text DEFAULT NULL COMMENT '照片 JSON 数组 [{type,url}],每类型至多 9 张';
|
||||
Reference in New Issue
Block a user