diff --git a/logic/ceobe_cookie_logic/src/impletements/new_cookie.rs b/logic/ceobe_cookie_logic/src/impletements/new_cookie.rs index ef8fdbc9..ebda455d 100644 --- a/logic/ceobe_cookie_logic/src/impletements/new_cookie.rs +++ b/logic/ceobe_cookie_logic/src/impletements/new_cookie.rs @@ -10,6 +10,7 @@ use persistence::{ datasource_combination::DatasourceCombinationOperate, datasource_config::DatasourceOperate, }, + help_crates::chrono::Local, mongodb::{mongodb::bson::oid::ObjectId, MongoDatabaseOperate}, mysql::SqlDatabaseOperate, operate::{GetDatabaseConnect, GetMutDatabaseConnect}, @@ -91,7 +92,14 @@ impl CeobeCookieLogic { .await; match result { Ok(user_list) => { + let now = Local::now().timestamp_millis(); for new_cookie in new_cookies { + // 如果饼时间超过2天,判断为补饼,不推送 + if let Some(time) = new_cookie.timestamp { + if now - time > 2 * 24 * 60 * 60 * 1000 { + continue; + } + } // mob推送新饼 let content = PushInfo::builder() .content(new_cookie.content.text) diff --git a/logic/ceobe_cookie_logic/src/view.rs b/logic/ceobe_cookie_logic/src/view.rs index 33bc4a9b..990a93af 100644 --- a/logic/ceobe_cookie_logic/src/view.rs +++ b/logic/ceobe_cookie_logic/src/view.rs @@ -68,6 +68,8 @@ pub struct NewCookieReq { pub source: CookieDatasourceReq, pub content: CookieContentReq, pub cookie_id: ObjectId, + #[serde(default)] + pub timestamp: Option, } #[derive(Debug, Clone, Serialize, Deserialize, TypedBuilder)] pub struct CookieDatasourceReq {