count() > 0) { self::setError('该日期的账户消耗已存在,请直接编辑'); return false; } AccountCost::create([ 'cost_date' => $costDate, 'amount' => round((float) $params['amount'], 2), 'remark' => (string) ($params['remark'] ?? ''), 'creator_id' => $adminId, 'creator_name' => $adminName, 'updater_id' => $adminId, 'updater_name' => $adminName, ]); return true; } catch (\Throwable $e) { self::setError($e->getMessage()); return false; } } public static function edit(array $params, int $adminId, string $adminName): bool { try { $model = AccountCost::find($params['id']); if (!$model) { self::setError('记录不存在'); return false; } $model->amount = round((float) $params['amount'], 2); $model->remark = (string) ($params['remark'] ?? ''); $model->updater_id = $adminId; $model->updater_name = $adminName; $model->save(); return true; } catch (\Throwable $e) { self::setError($e->getMessage()); return false; } } public static function detail(int $id): array { return AccountCost::findOrEmpty($id)->toArray(); } }