AutoRpa/rpa_oms
34BFF76918A9449ABAB323149DDCEA73 7e6f7cc8fb feat: 本机.env启动,入站与选品落表补审计字段
- 接口1/选品 INSERT 写入创建人更新人 0/系统管理员
- 选品 deal_result 按 GBK 字节截到 VARCHAR2(200)
- Windows 从本机 .env 启动;选品空缺时复用 rpa_oms/.env
2026-10-02 22:46:22 +08:00
..
app feat: 本机.env启动,入站与选品落表补审计字段 2026-10-02 22:46:22 +08:00
examples feat: 接口1销售商品收件,按omsId幂等落表 2026-10-02 10:57:21 +08:00
tests feat: 本机.env启动,入站与选品落表补审计字段 2026-10-02 22:46:22 +08:00
.env.example feat: 本机.env启动,入站与选品落表补审计字段 2026-10-02 22:46:22 +08:00
README.md feat: 本机.env启动,入站与选品落表补审计字段 2026-10-02 22:46:22 +08:00
pyproject.toml feat: 接口1销售商品收件,按omsId幂等落表 2026-10-02 10:57:21 +08:00
start.ps1 feat: 本机.env启动,入站与选品落表补审计字段 2026-10-02 22:46:22 +08:00
uv.lock feat: 接口1销售商品收件,按omsId幂等落表 2026-10-02 10:57:21 +08:00

README.md

rpa_oms

订单中心四接口。本期只开放接口 1:销售商品对码数据接收。

  • 路径:POST /api/oms/v1/sales-goods
  • 鉴权:header X-Oms-Token,环境变量 OMS_INBOUND_TOKEN
  • 落表:rpa_sales_goods_mapping_data(deal_flag=0)
  • 请求里不跑选品。选品班次在仓库根目录 选品流程/,按条形码搜两平台、四级仓序拆量后写 rpa_cart_settlement_goods_data

本地(内存仓库)

cd rpa_oms
uv sync --python 3.12
export OMS_INBOUND_TOKEN=dev-oms-token
export OMS_REPO=memory
uv run uvicorn app.main:app --reload --port 8001
curl -sS http://127.0.0.1:8001/api/oms/v1/sales-goods \
  -H 'Content-Type: application/json' \
  -H 'X-Oms-Token: dev-oms-token' \
  -d @examples/sales_goods_batch.json

单测:uv run pytest -v

真库

Oracle 11.2 需要 Instant Client(thick)。密码只放本机 rpa_oms/.env(已 gitignore),不要写进仓库、README、命令行历史。

export OMS_REPO=oracle
export OMS_INBOUND_TOKEN=...
export RPA_ORACLE_HOST=192.168.12.244
export RPA_ORACLE_PORT=1521
export RPA_ORACLE_SERVICE=rpa
export RPA_ORACLE_USER=rpainit
export RPA_ORACLE_PASSWORD=...
export RPA_ORACLE_THICK=1
# 如需指定 Instant Client 目录:
# export RPA_ORACLE_CLIENT_LIB=/path/to/instantclient

缺 RPA_ORACLE_HOST / 用户 / 密码时,收件接口回 503。

Windows 真库

本机 Mac 打不到 192.168.12.244,连库测试在 Windows 上做。Python 3.12 + Instant Client(位数一致),密码不要写进仓库。

PowerShell:

cd rpa_oms
uv sync --python 3.12
Copy-Item -LiteralPath .env.example -Destination .env
# 只编辑本机 .env 的 RPA_ORACLE_PASSWORD,不要 git add .env
.\start.ps1

先 GET http://127.0.0.1:8001/health,再把 examples/sales_goods_batch.json POST 两次:

  1. 第一次:两条 ACCEPTED,表里各一行 deal_flag=0
  2. 第二次:两条 DUPLICATE,表行数不变
curl.exe -sS http://127.0.0.1:8001/api/oms/v1/sales-goods `
  -H "Content-Type: application/json" `
  -H "X-Oms-Token: dev-oms-token" `
  --data-binary "@examples/sales_goods_batch.json"