You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化预订系统不同地点人数上限的添加限制判断逻辑

问题根源

  1. 原有判断逻辑没有绑定用户本次提交的预订目标地点,只要任意一个地点达到阈值就全局拒绝所有预订请求,完全没有区分不同地点的剩余容量。
  2. Location2的阈值设置错误:该地点最大可容纳3人,已预订数等于3时才达到上限,原有逻辑判断等于2就拒绝,会浪费1个可用名额。

修复方案

你需要先获取用户本次预订的目标地点参数(假设参数名为targetLocation),再针对目标地点单独做容量判断,修改后的逻辑如下:

// 先获取本次预订的目标地点
var targetLocation = [当前用户提交的预订目标地点值];

if( (targetLocation == "Location1" && CheckLocation1Booking() >= 5) 
    || (targetLocation == "Location2" && CheckLocation2Booking() >= 3) )
{
    deny adding of booking
}

可扩展优化建议

如果后续可能新增地点或者调整容量,建议把地点容量做成配置项,避免硬编码,后续调整无需修改判断逻辑:

// 预配置所有地点的最大容量
Dictionary<string, int> locationMaxCapacity = new Dictionary<string, int>()
{
    {"Location1", 5},
    {"Location2", 3}
};

// 通用判断逻辑,新增/调整地点无需修改此处
int currentBookedCount = GetLocationBookedCount(targetLocation); // 可将原有分地点查询的逻辑合并为通用方法,传入地点名称返回已预订人数
if (currentBookedCount >= locationMaxCapacity[targetLocation])
{
    deny adding of booking
}

内容的提问来源于stack exchange,提问作者Martin King。

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:45:04