AutoRpa/rpa_selection/output/技术可行性报告_双商城查价_20260904.md

4.4 KiB
Raw Permalink Blame History

双商城查价流程技术可行性报告

1. 报告目的

评估当前已实现的双商城自动查价流程(1号药城、药帮忙)在技术上的可行性、稳定性与可维护性,并给出上线建议。

2. 结论摘要

  • 结论:技术可行,已具备稳定运行条件,可投入日常使用。
  • 现状:已完成双平台登录、接口抓取、字段映射、价格解密、异常兜底、结果导出与运行统计。
  • 风险等级:中低(主要风险来自第三方页面结构和接口字段变更)。

3. 当前实现范围

  • 输入:桌面采购模板 【单独】采购单比价模板.xlsx(按“批准文号”查询)。
  • 平台顺序:固定为 1号药城 -> 药帮忙。
  • 输出:桌面目录 比价结果 下 查价结果_时间戳.xlsx。
  • 输出表头(固定顺序):
    • 通用名, 规格, 生产厂家, 批准文号, 采购数量, 采购价格, 商城, 平台名称, 平台规格, 平台价格, 效期, 商家, 库存, 库存说明

4. 技术方案与可行性分析

4.1 技术栈

  • Python 3.12(uv 管理)
  • isa-rpa:浏览器会话与密码箱读取
  • requests:接口请求
  • pycryptodome:1号药城价格 AES 解密
  • openpyxl:Excel 读写

可行性判断:

  • 均为成熟组件,生态稳定,维护成本低。
  • 方案是“浏览器登录 + 接口抓取”的混合模式,较纯 UI 点击方案更稳定、速度更快。

4.2 登录与认证方案

  • 1号药城:自动填账号密码,点击“开始验证”,登录后从 Cookie 提取 token/userId/buyerCode。
  • 药帮忙:自动填账号密码,勾选“阅读并同意”,登录后复用 Cookie 进行接口查询。
  • 凭据管理:使用 SecretClient 从密码箱读取,不在代码中硬编码明文凭据。

可行性判断:

  • 认证链路已跑通,多次回归可复现。
  • 密码箱方案满足凭据安全与后续轮换需求。

4.3 接口与字段映射方案

  • 1号药城接口:homeSearchList
    • 新增映射:平台名称 <- shortName,平台规格 <- spec
    • 价格字段:price 支持解密后写入
  • 药帮忙接口:list-products
    • 新增映射:平台名称 <- showName,平台规格 <- spec
    • 价格字段:优先 price,为空兜底 fob
    • 无货规则:availableQty=0 时 平台价格=0,采购价格保留原始值,库存说明=无货

可行性判断:

  • 字段来源明确、映射稳定,且包含业务兜底规则,能覆盖常见脏数据场景。

4.4 数据处理与输出方案

  • 读取采购模板后按“批准文号”查询,空批准文号自动跳过。
  • 对同一批准文号做查询缓存,减少重复请求。
  • 输出时强制按目标表头重排,避免模板历史列顺序导致错位。
  • 运行结束输出统计指标:
    • 查询品种个数(批准文号去重)
    • 获取价格行数
    • 流程运行用时

可行性判断:

  • 具备业务可用性与可审计性(统计输出可用于日常巡检)。

5. 已验证结果(最新回归)

  • 运行命令:uv run main.py
  • 实测结果(最新一次):
    • 采购模板有效条目:7
    • 抓取总行数:216(1号药城 133,药帮忙 83)
    • 查询品种个数:7
    • 获取价格行数:216
    • 流程运行用时:约 33 秒
  • 最新结果文件:查价结果_20260904_115656.xlsx

可行性判断:

  • 说明在当前网络和账号状态下可稳定产出完整结果。

6. 风险与应对

  • 风险1:第三方站点登录页元素变更
    • 应对:保留统一定位函数,定期做元素回归检查。
  • 风险2:接口字段或鉴权参数调整
    • 应对:对关键字段增加空值兜底,异常报错保留原始响应摘要。
  • 风险3:价格密文规则变更(1号药城)
    • 应对:将解密逻辑独立函数化,变更时可局部更新。
  • 风险4:网络波动导致请求失败
    • 应对:可追加重试机制(建议后续迭代增加)。

7. 上线建议

  • 建议上线:是。
  • 上线前建议完成:
    • 增加接口请求失败的有限重试(如 2~3 次指数退避)。
    • 固化一份“字段变更检查清单”(登录元素、接口字段、返回码)。
    • 建立日常监控阈值(如抓取行数异常、无价格占比异常告警)。

8. 最终结论

基于当前实现与回归结果,该双商城查价流程在技术上可行、稳定性可接受、维护成本可控,满足当前业务使用条件。