GuardMarket

commerce.compare_offers

比较采购报价

Sort named offers by unrounded unit price and then name; display rounded unit prices.

Version 1.0.0确定性数据处理Backend required

使用场景 / Purpose

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

输入字段 / Parameters

字段类型要求约束与说明
offers"array"必填 Required{"items": {"type": "object", "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 100}, "total_price": {"type": "string", "minLength": 1, "maxLength": 32}, "quantity": {"type": "number", "minimum": 1e-06, "maximum": 1000000}}, "required": ["name", "total_price", "quantity"], "additionalProperties": false, "maxProperties": 1000}, "minItems": 1, "maxItems": 200}

输入例子 / Example input

{
  "offers": [
    {
      "name": "Pack A",
      "total_price": "10.00",
      "quantity": 2
    },
    {
      "name": "Pack B",
      "total_price": "12.00",
      "quantity": 3
    }
  ]
}

预期输出 / Expected output

[
  {
    "name": "Pack B",
    "unit_price": "4.00"
  },
  {
    "name": "Pack A",
    "unit_price": "5.00"
  }
]
完整输入 JSON Schema
{
  "type": "object",
  "properties": {
    "offers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "total_price": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          },
          "quantity": {
            "type": "number",
            "minimum": 1e-06,
            "maximum": 1000000
          }
        },
        "required": [
          "name",
          "total_price",
          "quantity"
        ],
        "additionalProperties": false,
        "maxProperties": 1000
      },
      "minItems": 1,
      "maxItems": 200
    }
  },
  "required": [
    "offers"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}
完整输出 JSON Schema
{
  "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
}