GuardMarket

inventory.allocate

按订单顺序分配库存

Allocate a supplied stock quantity to requests in input order, reporting unfilled demand and remaining units.

Version 1.0.0确定性数据处理Backend required

使用场景 / Purpose

Inventory: allocate. 本技能对提供的参数执行计算,输入输出契约如下。文档例子来自已实现函数的固定验收样例;网页本身不执行代码。

输入字段 / Parameters

字段类型要求约束与说明
available"integer"必填 Required{"minimum": 0, "maximum": 1000000}
requests"array"必填 Required{"items": {"type": "object", "properties": {"order": {"type": "string", "minLength": 1, "maxLength": 128}, "quantity": {"type": "integer", "minimum": 0, "maximum": 1000000}}, "required": ["order", "quantity"], "additionalProperties": false, "maxProperties": 1000}, "minItems": 0, "maxItems": 500}

输入例子 / Example input

{
  "available": 5,
  "requests": [
    {
      "order": "A",
      "quantity": 3
    },
    {
      "order": "B",
      "quantity": 4
    }
  ]
}

预期输出 / Expected output

{
  "allocations": [
    {
      "order": "A",
      "allocated": 3,
      "unfilled": 0
    },
    {
      "order": "B",
      "allocated": 2,
      "unfilled": 2
    }
  ],
  "remaining": 0
}
完整输入 JSON Schema
{
  "type": "object",
  "properties": {
    "available": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "requests": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "order": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "quantity": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000
          }
        },
        "required": [
          "order",
          "quantity"
        ],
        "additionalProperties": false,
        "maxProperties": 1000
      },
      "minItems": 0,
      "maxItems": 500
    }
  },
  "required": [
    "available",
    "requests"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}
完整输出 JSON Schema
{
  "type": "object",
  "properties": {
    "allocations": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "array",
          "string",
          "number",
          "boolean",
          "null"
        ],
        "maxProperties": 1000,
        "maxItems": 1000,
        "maxLength": 60000,
        "minimum": -1e+100,
        "maximum": 1e+100
      },
      "minItems": 0,
      "maxItems": 10000
    },
    "remaining": {
      "type": "number",
      "minimum": -1e+100,
      "maximum": 1e+100
    }
  },
  "required": [
    "allocations",
    "remaining"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}