request->isAjax && Yii::$app->request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [[ 'is_enable', 'settle_circle', 'bonus_pre', 'settle_type', 'user_score', 'is_show_at_center', 'is_all_reward', 'settle_method', 'recommend_user_num', 'recommend_user_weight', 'recommend_user_level', ], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); try { $data = [ 'basic' => $params ]; Yii::$app->services->setting->addons->set($this->mall_id, ScoreBonusEnums::ADDONS_NAME, $data); } catch (\Exception $e) { return $this->error($e->getMessage()); } return $this->success('操作成功', $data); } else { $H5Url = \Yii::$app->services->setting->platform->get('system.h5_url'); return $this->render('index',['H5Url' => $H5Url]); } } /** * 获取设置详情 */ public function actionDetail() { if (Yii::$app->request->isAjax && Yii::$app->request->isPost) { $config = Yii::$app->services->setting->addons->get($this->mall_id, ScoreBonusEnums::ADDONS_NAME, 'basic'); $is_null = empty($config) ? 1 : 0; if (empty($config['is_all_reward'])) $config['is_all_reward'] = 1; if (empty($config['settle_method'])) $config['settle_method'] = 0; //用户等级配置获取 $user_level_list = UserLevel::getUserLevel([['mall_id' => $this->mall_id]], [], 1); array_unshift($user_level_list, ['id' => 0, 'level' => 0, 'name' => MallSetting::getDefaultLevelName($this->mall_id)]); return $this->success('操作成功', compact('config', 'is_null', 'user_level_list')); } } public function actionTestListener() { // $params = [ // 'id' => '1259', // 'source_table' => 'order_detail', // 'source_table_id' => 41767, // 'step_status' => 6, // ]; $mall_id = 5; $config = Yii::$app->services->setting->addons->get($mall_id, ScoreBonusEnums::ADDONS_NAME, 'basic',true); // print_r($config);exit; $service = new ScoreBonusSettleService(); $res = $service->scoreBonusSettle($mall_id, $config); // $error_log = [ // 'mall_id' => $mall_id, // 'bid' => 10, // 'date_time' => 20240626, // 'error_log' => 'ceshi', // 'json_data' => json_encode($config), // ]; // $res = ScoreBonusErrorLogModel::setData($error_log); // $params = [ // 'mall_id' => 5, // 'user_id' => 483574, // 'addons_name' => 'ScoreBonus' // ]; // $res = ScoreBonusRewardLogModel::getIncomeInfo($params); print_r($res);exit; } }