重构:会员领域模块归并到 membership 目录
- 把 membership_catalog/cycle/limits/upgrade 四个文件移入 src/membership/ 并去掉公共前缀 - 新增 membership/mod.rs 统一声明子模块并按依赖顺序导出 - lib.rs 改为 pub mod membership,删除旧的四个模块声明 - membership/upgrade.rs 内部引用改为同级模块路径 - 无行为变化,cargo test -p module-runtime 全通过 Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
@@ -4,15 +4,8 @@ pub mod civil_calendar;
|
||||
pub use civil_calendar::*;
|
||||
mod llm_billing;
|
||||
pub use llm_billing::*;
|
||||
mod membership_cycle;
|
||||
pub use membership_cycle::*;
|
||||
mod membership_limits;
|
||||
pub use membership_limits::*;
|
||||
mod membership_catalog;
|
||||
pub use membership_catalog::*;
|
||||
mod membership_upgrade;
|
||||
pub use membership_upgrade::*;
|
||||
mod application;
|
||||
pub mod membership;
|
||||
pub use agc_models::*;
|
||||
mod commands;
|
||||
mod domain;
|
||||
@@ -23,6 +16,7 @@ pub use application::*;
|
||||
pub use commands::*;
|
||||
pub use domain::*;
|
||||
pub use errors::*;
|
||||
pub use membership::*;
|
||||
|
||||
use shared_kernel::format_rfc3339 as format_shared_rfc3339;
|
||||
use time::OffsetDateTime;
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
//! 会员计费领域层(纯函数,无 IO)。
|
||||
//!
|
||||
//! 只放会员侧的规则计算:档位目录与解析、自然月账期推进、并发上限哨兵与补差升级报价。
|
||||
//! SpacetimeDB 写入与事务编排留在 `spacetime-module`,HTTP 契约留在 `api-server`。
|
||||
//!
|
||||
//! 子模块按依赖顺序排列:
|
||||
//! - [`catalog`]:档位枚举 → 可下单套餐(价格 / 每期泥点 / 模型权限 / 并发)。
|
||||
//! - [`cycle`]:北京时间自然月账期(1/31 → 2/28 → 3/31,每期从原始锚点重算)。
|
||||
//! - [`limits`]:并发上限哨兵,`>= 128` 视为「不设上限」。
|
||||
//! - [`upgrade`]:补差升级报价与允许操作矩阵。
|
||||
|
||||
mod catalog;
|
||||
mod cycle;
|
||||
mod limits;
|
||||
mod upgrade;
|
||||
|
||||
pub use catalog::*;
|
||||
pub use cycle::*;
|
||||
pub use limits::*;
|
||||
pub use upgrade::*;
|
||||
+3
-3
@@ -15,8 +15,8 @@
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::membership_catalog::resolve_runtime_profile_membership_plan_snapshot;
|
||||
use crate::membership_cycle::membership_cycle_remaining_micros;
|
||||
use super::catalog::resolve_runtime_profile_membership_plan_snapshot;
|
||||
use super::cycle::membership_cycle_remaining_micros;
|
||||
use crate::{RuntimeProfileMembershipCycleKind, RuntimeProfileMembershipPlan};
|
||||
|
||||
/// 比例分母:百万分之一。
|
||||
@@ -194,7 +194,7 @@ fn ceil_div(numerator: u128, denominator: u128) -> u64 {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::membership_cycle::beijing_local_micros;
|
||||
use crate::membership::cycle::beijing_local_micros;
|
||||
|
||||
const DAY_MICROS: i64 = 86_400_000_000;
|
||||
|
||||
Reference in New Issue
Block a user