这是一个通过连接MySQL数据库查询店铺订单的 Skill。当用户询问店铺订单情况时(如"查询今天店铺订单"、"今天的订单怎么样"、"店铺经营情况"),使用此 Skill 连接数据库查询订单数据,并生成分析报告。
首先检查是否存在数据库配置文件 ~/openclaw-skill-data/store-order-query/config.json。
如果配置文件不存在,需要询问用户以下信息:
然后基于 config.example.json 创建 config.json 文件。
从用户的查询中提取:
如果用户说"今天",则查询当天的订单数据。
调用以下命令查询订单数据,传递参数:
--date-range: 时间范围 (today/yesterday/last7days/last30days 或 custom)--start-date: 开始日期 (YYYY-MM-DD 格式,可选)--end-date: 结束日期 (YYYY-MM-DD 格式,可选)text
node dist/index.js --date-range today
脚本会:
~/openclaw-skill-data/store-order-query/orders_data.json调用以下命令分析订单数据并生成报告:
text
node dist/analyze-orders.js
脚本会:
~/openclaw-skill-data/store-order-query/orders_data.json~/openclaw-skill-data/store-order-query/order_report.md读取生成的报告文件,向用户展示分析结果。
~/openclaw-skill-data/store-order-query/config.json 示例:
json
{
"database": {
"type": "mysql",
"host": "localhost",
"port": 3306,
"database": "shop_db",
"user": "root",
"password": "your_password"
},
"tables": {
"orders": "Order",
"order_items": "OrderItems"
},
"fields": {
"orders": {
"id": "orderSn",
"created_at": "createdAt",
"total_amount": "orderActualAmount",
"payment_method": "payType",
"status": "orderStatus"
},
"order_items": {
"order_id": "orderSn",
"product_name": "name",
"sku": "sku",
"quantity": "counts",
"price": "actualPrice"
}
}
}
字段类型说明orderSnVARCHAR(50)订单号(主键)createdAtDATETIME创建时间orderActualAmountDECIMAL(10,2)订单实际金额payTypeVARCHAR(50)支付方式orderStatusVARCHAR(20)订单状态
字段类型说明idINT主键IDorderSnVARCHAR(50)订单号(外键)nameVARCHAR(200)商品名称skuVARCHAR(100)SKUcountsINT数量actualPriceDECIMAL(10,2)实际价格
pnpm install