youxinpai-reconciliation

高性能执行优信拍月初保证金对账前置流程,在星河任务页批量查找并触发相关数仓任务并汇报执行结果。用户提到优信拍、保证金对账、月初对账、推送 x 月保证金数据、跑对账任务时使用。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "youxinpai-reconciliation" with this command: npx skills add just4learn1/youxinpai-reconciliation

优信拍月初对账

用于高性能处理优信拍业务保证金月初对账前的任务触发工作,并在任务完成后执行指定 SQL 查询。

本技能默认只负责触发前置任务、记录执行结果、反馈异常;不默认替代后续人工核对或财务口径确认。

适用场景

当用户有以下意图时使用本技能:

  • 执行优信拍月初对账
  • 推送某月保证金数据
  • 跑优信拍保证金对账前置任务
  • 检查优信拍对账依赖任务是否已触发

前置条件

  • 已存在可复用的登录态
  • 可以访问星河任务页 https://dp.58corp.com/data-develop/task-list
  • 可以访问 SQL 页面 https://dp.58corp.com/data-query?doc_ids=530490
  • 当前目标是触发任务,而不是直接输出最终财务对账结论
  • 可以访问本地工程 /Users/a58/Desktop/code/yxp_oms_web

如果登录失效、页面无法打开、没有权限访问,立即停止并汇报,不要自行猜测下一步。

任务列表

下面 5 个任务互不依赖,可并行处理:

  1. raw_auction_guafundaccountdetail_all_d
  2. raw_auction_auctionguafundbill_all_h
  3. raw_auction_guarantee_withdraw_apply_all_d
  4. ods_auction_refund_order_all_d
  5. raw_auction_payment_order2_all_d

执行原则

  • 必须先完成本地单测前置步骤,再进入页面任务步骤
  • 上月时间区间只计算一次,后续步骤复用同一组时间变量
  • 搜索框优先使用 placeholder="搜索任务名" 对应的 input
  • 搜索出结果后,先定位“包含当前任务名的结果行”,后续所有查找都只在当前结果行内完成
  • 开启状态优先使用 <span class="ant-switch-inner">开启</span> 判断
  • 运行按钮优先使用当前结果行内的 span.iconzanting2.iconfont
  • 确认按钮优先使用 button.ant-btn.ant-btn-primary,并校验按钮文本包含“确定”
  • 除搜索框外,不要在整个页面范围内重复查找“开启”“运行”“确定”
  • 每个任务都要单独搜索,不要假设上一次搜索结果仍然有效
  • 如果同一个任务搜索结果中有多个“开启/可运行”的实例,需要逐个触发,直到当前搜索结果中的可运行实例全部处理完成
  • 每完成一个任务,都要记录结果,避免最后无法说明哪些已执行、哪些失败
  • 5 个任务没有先后依赖;仅在支持独立会话时并行,否则自动降级为串行
  • 不要因为某个任务先完成就提前结束;只有 任务列表 中 5 个任务都被检查并记录状态后,才允许结束本技能
  • 页面任务全部完成后,必须继续执行 SQL 步骤:修改时间条件并点击运行
  • 步骤5必须在前面所有步骤完成后额外等待 10 分钟才能触发

高性能策略

  • 本技能目标是“快速触发任务”,不是等待任务实际执行完成
  • 每个任务只做一次搜索输入,不要反复清空、反复全页分析
  • 搜索后只等待结果区变化,不做长时间固定等待
  • 点击“运行”后只等待确认弹窗出现,不重新扫描任务列表
  • 点击“确定”后只确认弹窗关闭或按钮状态变化,不等待任务跑完
  • 并行场景下,单任务执行单元只关注自己任务的全量实例;不要等待其他任务完成
  • 记录结果时使用最简表格或简短状态,不在执行过程中生成长段说明

本地前置步骤(必须先完成)

在执行页面任务前,先执行下面流程:

  1. 计算并保存统一时间变量:
    • monthStart = 上个月第一天 00:00:00
    • monthEnd = 上个月最后一天 23:59:59
  2. 检查配置文件 /Users/a58/Desktop/code/yxp_oms_web/src/test/resources/config/scf.configyxpbuyerservicehost,并记录原值到 originalBuyerServiceHost
  3. 如果 host 不是 10.192.12.236,先修改为 10.192.12.236
  4. 打开 /Users/a58/Desktop/code/yxp_oms_web/src/test/java/com/bj58/che/yxp/oms/web/remote/GuaranteeFeeRemoteServiceTest.java
  5. testFindUnmatchedBillIds 中,将两个时间参数改为 monthStartmonthEnd 对应值
  6. 只执行 testFindUnmatchedBillIds 这个单测函数
  7. 单测成功后,进入等待步骤;单测失败则停止整个流程并汇报

固定选择器顺序

按下面顺序查找元素,前一个成功就不要继续尝试更慢的方式:

  1. 搜索框:input[placeholder="搜索任务名"]
  2. 结果行:包含当前任务名文本的结果行
  3. 开启状态:当前结果行内的 span.ant-switch-inner
  4. 运行按钮:当前结果行内的 span.iconzanting2.iconfont
  5. 确认按钮:button.ant-btn.ant-btn-primary
  6. 只有在上述方式失败时,才退回到基于按钮文案或页面语义的兜底判断

执行状态提示规范

在关键阶段必须输出状态提示,让使用者可见当前进度。至少包含:

  1. 当前步骤编号与名称
  2. 当前状态(开始/执行中/等待中/等待结束/完成/中断)
  3. 下一个动作

提示要求:

  • 进入每个步骤时,先提示“开始执行步骤X”
  • 遇到等待步骤时,必须提示“开始等待”与“等待剩余时间”
  • 等待结束后,必须提示“等待结束,继续执行下一步骤”
  • 发生中断时,必须提示“中断原因 + 当前步骤 + 建议下一步”

执行清单

开始执行前,先在内部维护下面这份进度清单,并在每处理完一个任务后立即更新:

任务执行清单

- [ ] raw_auction_guafundaccountdetail_all_d
- [ ] raw_auction_auctionguafundbill_all_h
- [ ] raw_auction_guarantee_withdraw_apply_all_d
- [ ] ods_auction_refund_order_all_d
- [ ] raw_auction_payment_order2_all_d

勾选规则:

  • 只要当前任务已经完成“搜索、检查、触发或确认无法触发、记录结果”这一整套动作,才能勾选
  • “勾选”不等于“成功触发”,也可以表示“已检查但失败,且已记录原因”
  • 如果清单里还有未勾选项,不要结束,不要汇总,不要告诉用户“已完成”

执行流程

步骤0:执行本地单测前置步骤

本地前置步骤(必须先完成) 小节逐项执行。

步骤1:等待 5 分钟

  • 步骤0成功结束后,立即开始计时 5 分钟
  • 5 分钟未到,不得进入后续页面任务步骤
  • 如果等待阶段出现环境异常,停止流程并汇报

状态提示模板:

  • 开始等待:[步骤1] 已开始等待5分钟(单测后冷却期),当前状态:等待中
  • 等待中:[步骤1] 等待中,剩余 X 分 Y 秒,完成后将进入步骤2
  • 等待结束:[步骤1] 等待结束,当前状态:完成,继续执行步骤2

步骤2:进入任务页

  • 复用现有登录态打开星河任务页
  • 确认页面已正常加载,且可以看到任务搜索区域
  • 优先确认 input[placeholder="搜索任务名"] 存在;存在即视为页面可操作

步骤3:并行处理 5 个任务(可降级串行)

  1. 先判断是否可创建独立会话:
    • 可创建独立会话:并行执行 5 个任务
    • 不可创建独立会话:改为串行逐个执行 5 个任务
  2. 并行模式下,为 任务列表 中每个任务启动独立执行单元;串行模式下单线程逐个处理
  3. 每个执行单元仅处理自己的任务名,避免互相覆盖搜索条件
  4. 在各自单元中执行:搜索任务名 -> 定位匹配行 -> 判断“开启” -> 点击“运行” -> 弹窗点“确定”
  5. 每个执行单元持续处理本任务的全部可运行实例,直到本任务完成
  6. 每个执行单元完成后立刻记录结果并更新 任务执行清单
  7. 等待全部 5 个任务处理结束后,再统一汇总结果

步骤3.1:单任务最短路径

每个任务都遵循下面的最短路径,不要额外扩展步骤:

  1. 搜索任务名
  2. 找到对应结果行
  3. 判断是否“开启”
  4. 点击“运行”
  5. 点击“确定”
  6. 记录结果
  7. 进入下一个实例;当前任务完成后结束该单元

禁止出现以下低效行为:

  • 将 5 个任务强制串行排队执行
  • 搜索一次后反复全页查找按钮
  • 每点击一次都重新理解整个页面结构
  • 点击“确定”后长时间等待任务跑完
  • 在全部任务未完成前提前汇总

步骤4:处理异常

出现以下情况时,停止当前任务并明确汇报:

  • 本地配置修改失败
  • 单测执行失败
  • 步骤1等待未完成就进入后续步骤
  • 步骤5触发前 10 分钟等待未完成就执行 SQL
  • 并行执行环境不可用但未降级为串行
  • 搜索不到任务
  • 页面没有可操作的“运行”入口
  • 点击后没有出现确认弹窗
  • 弹窗确认失败
  • SQL 页面不可访问
  • SQL 执行失败
  • 页面报错、权限异常、登录失效

异常处理规则:

  • 如果步骤0的配置检查/修改或单测失败,停止整个流程,不进入步骤1之后的页面任务
  • 步骤1的 5 分钟等待未完成前,禁止开始步骤2和步骤3
  • 前面步骤完成后未满足额外 10 分钟等待,禁止触发步骤5
  • 并行能力不可用时必须降级串行,不得直接跳过任务
  • 如果是“当前任务级别”的异常,记录原因并结束该任务单元,其他并行任务继续执行
  • 如果 SQL 步骤失败,停止流程并汇报,不输出“执行完成”
  • 如果是“页面整体不可继续操作”的异常,例如登录失效、页面崩溃、权限缺失,则停止整个流程并汇报
  • 不要在异常状态下自行跳过并假设成功
  • 如果只是 class 选择器短暂失效,先在当前结果行内用文本语义做一次兜底,不要立刻回退到全页面扫描

步骤5:执行 SQL 并运行

在步骤0-步骤3全部完成后,先额外等待 10 分钟,再执行以下流程:

  1. 打开 https://dp.58corp.com/data-query?doc_ids=530490
  2. 定位 SQL 编辑器(包含 t1.BillCreateTimet3.pay_time 的查询语句)
  3. 将 SQL 里 t1.BillCreateTimet3.pay_time 的时间范围统一改为 monthStartmonthEnd
  4. 校验两处时间都已替换完成,再点击“运行”
  5. 等待 SQL 执行结果状态返回(成功/完成),并确认无报错提示
  6. 记录 SQL 执行结果(成功/失败、失败原因)

执行限制:

  • 不得只改其中一个字段,t1.BillCreateTimet3.pay_time 必须同时改
  • 10 分钟等待未完成前,不得进入本步骤
  • SQL 未修改完成前,不得点击“运行”
  • 如果 SQL 页面不可访问或运行失败,停止流程并汇报

状态提示模板:

  • 开始等待:[步骤5] 已开始等待10分钟(SQL触发前冷却期),当前状态:等待中
  • 等待中:[步骤5] 等待中,剩余 X 分 Y 秒,完成后将修改SQL并运行
  • 等待结束:[步骤5] 等待结束,当前状态:执行中,开始修改 t1.BillCreateTime 与 t3.pay_time
  • SQL运行成功:[步骤5] SQL已运行成功,当前状态:完成,继续执行步骤6

步骤6:恢复本地配置(如有改动)

  1. 检查 originalBuyerServiceHost 与当前 yxpbuyerservice.host 是否一致
  2. 如果步骤0中修改过 host,则将 yxpbuyerservice.host 恢复为 originalBuyerServiceHost
  3. 记录恢复结果(成功/失败);恢复失败需要明确汇报并提示人工处理

结果记录要求

执行过程中,至少记录以下信息:

  • 本地配置检查结果(yxpbuyerservice.host 是否已修正)
  • 本地配置原值(originalBuyerServiceHost
  • 单测时间参数(上个月开始/结束)
  • 单测执行结果
  • 5 分钟等待是否完成
  • 步骤5触发前 10 分钟等待是否完成
  • 任务执行模式(并行/串行降级)
  • 任务名
  • 是否找到任务
  • 是否成功触发
  • 如果有多个实例,触发了几个
  • 异常原因
  • SQL 时间参数修改结果(t1.BillCreateTimet3.pay_time
  • SQL 运行结果
  • 本地配置恢复结果

建议按下面格式维护结果表:

任务结果表

| 任务名 | 是否找到 | 是否触发 | 触发实例数 | 备注 |
| --- | --- | --- | --- | --- |
| raw_auction_guafundaccountdetail_all_d | 是 | 是 | 2 | 全部已触发 |
| raw_auction_auctionguafundbill_all_h | 是 | 否 | 0 | 无可运行实例 |

完成判定

只有同时满足以下条件,才可以输出“执行完成”:

  1. 步骤0已完成(配置检查/修正 + 单测执行成功)
  2. 步骤1已完成(等待 5 分钟)
  3. 任务执行清单 中 5 个任务都已勾选
  4. 任务结果表 中 5 个任务都有对应记录
  5. 已明确区分哪些任务“成功触发”、哪些任务“检查完成但未触发”
  6. 步骤5触发前额外等待 10 分钟已完成
  7. 步骤5已完成(SQL 时间已更新并点击运行成功)
  8. 步骤6已完成(配置已恢复或确认无需恢复)

如果不满足以上条件,只能输出“执行中断”或“部分完成”,不能输出“已完成”。

输出格式

完成后按下面格式输出结果:

优信拍月初对账前置任务执行结果

- 执行页面:星河任务页
- 已成功触发:
  - 任务A
  - 任务B
- 未成功触发:
  - 任务C:原因
- 需要人工关注:
  - 是否存在权限/登录/页面异常
  - 是否可以继续进入下一步对账

注意事项

  • 本技能的目标是“触发并汇报”,不是“静默执行”
  • 本地单测前置步骤属于强门槛,未完成前不得进入页面任务步骤
  • 如果页面元素与预期不一致,应先在当前结果行范围内做兜底判断,不要立刻扩大到全页面
  • 如果用户明确要求继续产出对账结果,先完成本技能中的任务触发,再进入后续数据核对流程
  • 整个执行过程中,优先级始终是:固定选择器 > 当前结果行局部查找 > 文案兜底 > 全页面语义分析
  • 所有页面任务完成后,必须执行 SQL 修改与运行步骤,不得省略
  • 默认优先并行;并行条件不满足时必须串行降级,不得跳过任务
  • 若步骤0中修改过本地配置,流程结束必须恢复原值

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Aavegotchi Renderer Bypass

Render Aavegotchi assets by deriving renderer hashes from Goldsky Base core data and calling POST /api/renderer/batch on www.aavegotchi.com. Use when the use...

Registry SourceRecently Updated
General

Toutiao User Profile API

Call GET /api/toutiao/get-user-detail/v1 for Toutiao User Profile through JustOneAPI with userId.

Registry SourceRecently Updated
General

Toutiao Search API

Call 2 search versions for Toutiao App Keyword Search through JustOneAPI with keyword.

Registry SourceRecently Updated
General

Compaction UI Enhancements

Background memory compaction with auto-trigger, chat summary paragraph, configurable threshold, model selector, settings tab, and result storage for OpenClaw...

Registry SourceRecently Updated