跳转到内容

desktop/src-tauri/crates/core/src/storage/pricing.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1

//! F2 价格快照持久化、日成本回填与费用汇总查询。

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:2

//!(空行)

第 3 条注释,第 3 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:3

//! 维护模型(沿用 daily_usage 的封存语义):

第 4 条注释,第 4 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:4

//! - 事件批次提交后按受影响日回填 `daily_cost_usage`(只重写未封存日);

第 5 条注释,第 5 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:5

//! - 明细事件过期删除时,保留层在日成本行上封存(sealed=1),历史金额不再改写;

第 6 条注释,第 6 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:6

//! - 价格快照导入不触发既有估算重算;重算仅在数据修订(事件批次)或用户显式

第 7 条注释,第 7 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:7

//! 请求(`recompute_unsealed_cost_days`)时进行并更新引用。

第 8 条注释,第 20 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:20

/// 费用行 kind:本程序按发生时价的估算。

第 9 条注释,第 22 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:22

/// 费用行 kind:来源记录金额(EventInput.cost,Reported)。

第 10 条注释,第 24 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:24

/// 费用行 kind:来源自己给出的估算金额(EventInput.cost,Estimated)。

第 11 条注释,第 27 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:27

/// 快照导入结果(A10:同 ID 同内容幂等跳过)。

第 12 条注释,第 35 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:35

/// 价格快照摘要(界面展示:来源、年龄、行数)。

第 13 条注释,第 49 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:49

/// 日成本回填结果。

第 14 条注释,第 75 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:75

/// 导入价格快照(同 ID 同内容幂等;同 ID 异内容报错——修正须换快照 ID)。

第 15 条注释,第 87 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:87

/// 幂等导入仓库种子快照(应用启动时调用;不触发任何估算重算)。

第 16 条注释,第 105 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:105

// 保留原始种子快照的公开返回值。

第 17 条注释,第 109 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:109

/// 载入全部价格行(估算用价格簿)。

第 18 条注释,第 114 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:114

/// 价格快照列表(含行数)。

第 19 条注释,第 143 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:143

/// 采集后费用回填的选日:返回时区下"修订号大于 `revision_before` 的

第 20 条注释,第 144 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:144

/// 未封存日"(本轮事件批次重写过的日;封存日不动)。调用方在刷新起点

第 21 条注释,第 145 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:145

/// 捕获 revision_before——分级保留在扫描后还会 bump 修订号,不能用

第 22 条注释,第 146 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:146

/// "当前修订号相等"过滤。

第 23 条注释,第 165 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:165

/// 匹配规则更改后,一次性修正仍保留的未封存估算。

第 24 条注释,第 166 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:166

/// 价格目录刷新不会更改此标记或历史金额。

第 25 条注释,第 189 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:189

/// 回填单日成本(事件批次提交后/显式重算调用;只重写未封存日)。

第 26 条注释,第 190 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:190

/// 该日无明细事件时不重建(历史行可能来自已过期的明细,保持不动)。

第 27 条注释,第 208 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:208

/// 显式重算:回填时区下所有"仍有明细事件的未封存日"。

第 28 条注释,第 240 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:240

/// 历史估算和来源金额取自日成本行;当前参考价覆盖与用量统计相同的范围,

第 29 条注释,第 241 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:241

/// 互斥使用仍保留的明细或归档用量进行计算。

第 30 条注释,第 246 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:246

/// 当前参考价可按本地小时筛选;历史日成本保持不变。

第 31 条注释,第 299 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:299

// 1) 日成本行(按发生时价 + 来源金额)。

第 32 条注释,第 425 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:425

// currency='' 行只携带未计价计数。

第 33 条注释,第 461 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:461

// 未计价原因直方图(currency='' 行聚合)。

第 34 条注释,第 483 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:483

// 数据修订引用(该范围成本行的最大修订号)。

第 35 条注释,第 495 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:495

// 2) 按当前价格模拟,覆盖相同视图的明细与归档。

第 36 条注释,第 586 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:586

/// 按当前价格模拟:明细与用量查询选中的封存汇总互斥计价。

第 37 条注释,第 619 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:619

// 仍保留的明细可能与导入或封存的汇总同时存在。

第 38 条注释,第 620 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:620

// 按完整来源分区匹配,只统计其中一种记录。

第 39 条注释,第 794 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:794

// 在每个展示日、模型、币种或不可拆分的归档期间内,先累加各费用项的精确分子,

第 40 条注释,第 795 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:795

// 然后舍入;按这些金额计算合计,使表格各行与合计一致。

第 41 条注释,第 902 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:902

/// 事务内导入快照(幂等:同 ID 同内容跳过;同 ID 异内容拒绝)。

第 42 条注释,第 1000 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1000

/// 旧库中的内容哈希只覆盖价格字段;重复导入还须核对来源元数据和行注释,

第 43 条注释,第 1001 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1001

/// 否则同 ID 修改这些字段会被误判为幂等。保留旧哈希算法以兼容已导入快照。

第 44 条注释,第 1056 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1056

/// 生成忽略大小写的 SQL 筛选条件;选择 unknown 时,空值和 NULL 也匹配,

第 45 条注释,第 1057 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1057

/// 与 query::Filters 一致;其他选择不匹配空值。

第 46 条注释,第 1058 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1058

/// 调用方提供固定列名;筛选值中的单引号会被剔除。

第 47 条注释,第 1134 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1134

/// 所属来源已核对、符合时间和筛选条件的 model_call 或 usage_observation 事件。

第 48 条注释,第 1135 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1135

/// token 字段的 quality 不是 reported/derived 时设为 None。

第 49 条注释,第 1144 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1144

/// 来源记录金额(cost_* 列;Reported/Estimated 分别成行)。

第 50 条注释,第 1277 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1277

/// 单日回填的事务内实现:删除未封存成本行 → 事件计价 + 来源金额 → 重插。

第 51 条注释,第 1308 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1308

// 累计键:instance/agent/provider/model/currency/kind。

第 52 条注释,第 1424 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1424

// 1) 按发生时价估算。

第 53 条注释,第 1484 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1484

// 2) 来源记录金额(reported / 来源自身估算,分列)。

第 54 条注释,第 1577 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1577

/// 费用筛选与 query::Filters 一致:不同字段使用 AND,同一字段使用 OR;

第 55 条注释,第 1578 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1578

/// "unknown" 匹配空值;instances Some([]) = 无可用来源)。

第 56 条注释,第 1587 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1587

/// 费用汇总请求。

第 57 条注释,第 1591 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1591

/// 本地日 YYYY-MM-DD(含端点)。

第 58 条注释,第 1599 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1599

/// 按币种分列的金额行(不同币种不合并;E8)。

第 59 条注释,第 1603 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1603

/// 归档中各请求的上下文档位未知时,对同一组已计价费用项给出上界。

第 60 条注释,第 1622 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1622

/// 官方提供商回退计价的事件数(无精确匹配时参考官方按量价)。

第 61 条注释,第 1725 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1725

/// 单一估算模式的汇总(按币种行 + 未计价原因)。

第 62 条注释,第 1729 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1729

/// 未计价原因直方图(reason → 事件数)。

第 63 条注释,第 1731 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1731

/// 模拟模式的评估时点/明细受限标记(at_time 不用)。

第 64 条注释,第 1736 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1736

/// 费用汇总响应(估算引用 data_revision 与 price_basis 快照集合)。

第 65 条注释,第 1739 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1739

/// 按发生时价估算(持久化日成本行)。

第 66 条注释,第 1741 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1741

/// 来源记录金额(reported + 来源自身估算,分列币种)。

第 67 条注释,第 1743 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1743

/// 按当前价格模拟(互斥使用明细或归档中的已知用量)。

第 68 条注释,第 1745 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1745

/// at_time 引用的价格快照。

第 69 条注释,第 1777 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1777

/// 封存日成本行(明细层保留截止时调用;历史金额不再改写)。

第 70 条注释,第 1790 行

desktop/src-tauri/crates/core/src/storage/pricing.rs:1790

/// 日层清理时同步清理日成本行(随日层保留期;与 daily_usage 同 cutoff)。