modelClass::getFromCache(); return static::notice(['data' => $data]); } public function actionCurrenciesConversions() { // 货币列表 $currencies = $this->modelClass::getFromCache(); // 货币汇率配置 $currencyConversion = $this->currencyConversionsModelClass::getFromCache(); $currencyConversion = array_column($currencyConversion, NULL, 'TO_CURRENCY_ID'); foreach ($currencies as &$currency) { $currency['PRODUCT_RATE'] = $currencyConversion[$currency['ID']]['PRODUCT_RATE'] ?? 0; $currency['BONUSES_RATE'] = $currencyConversion[$currency['ID']]['BONUSES_RATE'] ?? 0; } return static::notice(['data' => $currencies]); } /** * @throws Exception * @throws HttpException */ public function actionSetCurrenciesConversions() { if (\Yii::$app->request->isPost) { $formModel = new CurrenciesConversionsForm(); $formModel->scenario = 'setCurrenciesConversions'; if ($formModel->load(\Yii::$app->request->post(), '') && $formModel->setCurrenciesConversions()) { // 更新缓存 $this->currencyConversionsModelClass::updateToCache(); return static::notice(\Yii::t('ctx', 'successfully')); } else { return static::notice(Form::formatErrorsForApi($formModel->getErrors()), 400); } } return static::notice(\Yii::t('ctx', 'illegalRequest')); } }