flash_delivery_pricing_lock 当前通过固定 GLOBAL 行和 SELECT ... FOR UPDATE 串行化平台运价增删改。闪送运价属于低频管理员配置,业务接受双击、重试或多页面同时操作时极低概率的并发新增冲突,因此移除专用锁表及锁代码,降低数据库结构和维护复杂度。
flash_delivery_pricing 继续保存全局统一、互不重叠的分时段运价。countOverlapping(startTime, endTime, excludedId) 检查时段重叠。config_version 作为更新条件,拒绝旧页面覆盖新配置。FlashDeliveryPricingMapper.lockPricing() 及其 SELECT ... FOR UPDATE。lockPricing() 的调用和服务层辅助方法。FOR UPDATE 存在的 Mapper 契约测试。updatesql/sql.md 追加 DROP TABLE IF EXISTS flash_delivery_pricing_lock;,仅记录,不直接执行数据库变更。移除锁表后,两个并发新增请求可能同时通过重叠检查并各自写入。该风险由业务明确接受。修改请求仍受 config_version 乐观锁保护;读取侧继续检查匹配结果数量,因此即使出现异常重叠,也不会静默选择其中一条价格。
GLOBAL 锁行的模拟,验证管理员新增运价不应依赖专用锁行;旧实现会因此失败。ruoyi-admin 相关模块测试和构建。.claude/homunculus/observations.jsonl。