| 12345678910111213141516171819202122232425262728293031323334353637 |
- class QueryOrderTool:
- name = 'query_order'
- route_path = '/mcp/tools/queryOrder'
- def __init__(self, api_client=None):
- self.api_client = api_client
- def metadata(self):
- return {
- 'name': self.name,
- 'description': 'Query orders with the current employee permissions.',
- 'input_schema': {
- 'type': 'object',
- 'properties': {
- 'keyword': {'type': 'string'},
- 'page': {'type': 'integer', 'minimum': 1},
- 'limit': {'type': 'integer', 'minimum': 1, 'maximum': 100},
- },
- 'required': ['keyword'],
- },
- }
- def call(self, keyword, page=1, limit=20, request_id='rq_query_order'):
- if self.api_client is None:
- raise RuntimeError('api client is required for query_order')
- keyword = str(keyword).strip()
- if not keyword:
- raise ValueError('keyword is required')
- page = max(1, int(page))
- limit = max(1, min(100, int(limit)))
- payload = {
- 'keyword': keyword,
- 'page': page,
- 'limit': limit,
- }
- return self.api_client.call_tool(self.name, self.route_path, payload, request_id)
|