fix(diary): 修复 class_service unwrap() — 改为从 Model 安全取值
- join_class 中 member_count.unwrap() 和 version.unwrap() 替换为 在 Model → ActiveModel 转换前直接读取 model 字段值 - 消除潜在的 panic 风险,保持代码可读性 审计 ID: B-01
This commit is contained in:
@@ -193,11 +193,12 @@ impl ClassService {
|
|||||||
member_model.insert(db).await?;
|
member_model.insert(db).await?;
|
||||||
|
|
||||||
// 6. 更新 member_count
|
// 6. 更新 member_count
|
||||||
|
let current_count = class_model.member_count;
|
||||||
|
let current_version = class_model.version;
|
||||||
let mut active_class: school_class::ActiveModel = class_model.into();
|
let mut active_class: school_class::ActiveModel = class_model.into();
|
||||||
let new_count = active_class.member_count.unwrap() + 1;
|
active_class.member_count = Set(current_count + 1);
|
||||||
active_class.member_count = Set(new_count);
|
|
||||||
active_class.updated_at = Set(now);
|
active_class.updated_at = Set(now);
|
||||||
active_class.version = Set(active_class.version.unwrap() + 1);
|
active_class.version = Set(current_version + 1);
|
||||||
let updated_class = active_class.update(db).await?;
|
let updated_class = active_class.update(db).await?;
|
||||||
|
|
||||||
// 7. 成功加入 → 清除错误计数
|
// 7. 成功加入 → 清除错误计数
|
||||||
|
|||||||
Reference in New Issue
Block a user