pub struct TokenPriceModel {}Implementations§
Source§impl TokenPriceModel
impl TokenPriceModel
Sourcepub async fn get_by_service_model(
&self,
pool: &Pool<Postgres>,
service: &str,
model: &str,
) -> Result<Option<TokenPrice>, Error>
pub async fn get_by_service_model( &self, pool: &Pool<Postgres>, service: &str, model: &str, ) -> Result<Option<TokenPrice>, Error>
按服务类型和模型名查询定价配置。 先精确匹配 (service, model),找不到时退回匹配 (service, “default”)。
Sourcepub fn calculate_cost(
price: &TokenPrice,
input_tokens: i32,
output_tokens: i32,
) -> i64
pub fn calculate_cost( price: &TokenPrice, input_tokens: i32, output_tokens: i32, ) -> i64
根据定价配置和 token 用量计算本次消耗积分。 使用整数向上取整,避免浮点误差。
Trait Implementations§
Source§impl Default for TokenPriceModel
impl Default for TokenPriceModel
Source§fn default() -> TokenPriceModel
fn default() -> TokenPriceModel
Returns the “default value” for a type. Read more
Source§impl Model for TokenPriceModel
impl Model for TokenPriceModel
type Output = TokenPrice
fn new() -> Self
async fn schema_view(&self, _pool: &Pool<Postgres>) -> SchemaView
async fn insert(&self, pool: &Pool<Postgres>, data: Value) -> Result<u64, Error>
async fn get_by_id( &self, pool: &Pool<Postgres>, id: u64, ) -> Result<Option<Self::Output>, Error>
async fn update_by_id( &self, pool: &Pool<Postgres>, id: u64, data: Value, ) -> Result<(), Error>
async fn delete_by_id( &self, pool: &Pool<Postgres>, id: u64, ) -> Result<(), Error>
async fn count( &self, pool: &Pool<Postgres>, params: &ModelListParams, ) -> Result<i64, Error>
async fn list( &self, pool: &Pool<Postgres>, params: &ModelListParams, ) -> Result<Vec<Self::Output>, Error>
fn push_filter_conditions<'args>( &self, qb: &mut QueryBuilder<'args, Postgres>, filters: &HashMap<String, String>, ) -> Result<(), Error>
fn keyword(&self) -> String
fn push_conditions<'args>( &self, qb: &mut QueryBuilder<'args, Postgres>, params: &ModelListParams, ) -> Result<(), Error>
fn list_and_count<'a>( &'a self, pool: &'a Pool<Postgres>, count: bool, params: &'a ModelListParams, ) -> impl Future<Output = Result<Value, Error>> + Send + 'a
fn search_options<'a>( &'a self, _pool: &'a Pool<Postgres>, _keyword: Option<String>, ) -> impl Future<Output = Result<Vec<SchemaOption>, Error>> + Send + 'a
Auto Trait Implementations§
impl Freeze for TokenPriceModel
impl RefUnwindSafe for TokenPriceModel
impl Send for TokenPriceModel
impl Sync for TokenPriceModel
impl Unpin for TokenPriceModel
impl UnsafeUnpin for TokenPriceModel
impl UnwindSafe for TokenPriceModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more