request->isAjax) { if(Yii::$app->request->isGet){ $configs = Yii::$app->services->setting->addons->get($this->mall_id, DoubleCopyEnum::ADDONS_NAME, 'basic'); if(!isset($configs['is_show_at_center'])) $configs['is_show_at_center'] = 1; if(empty($configs['reward_name'])) { $configs['reward_name'] = DoubleCopyEnum::getCapitalMap(); } else { $configs['reward_name'] = Json::decode($configs['reward_name'], true); if (empty($configs['reward_name'][DoubleCopyEnum::INDIRECT_PRIZE])) $configs['reward_name'][DoubleCopyEnum::INDIRECT_PRIZE] = '间推奖'; if (empty($configs['reward_name'][DoubleCopyEnum::ALLOWANCE_PRICE])) $configs['reward_name'][DoubleCopyEnum::ALLOWANCE_PRICE] = '津贴奖'; } // 获取业绩商品 $configs['thaw_goods_ids'] = Json::decode($configs['thaw_goods_ids'], true) ?? []; $configs['thaw_goods_list'] = []; if (!empty($configs['thaw_goods_ids'])) { $configs['thaw_goods_list'] = Goods::find()->select("id,goods_name as name,price,cover_pic,is_on_sale,status") ->where(['id' => $configs['thaw_goods_ids']]) ->orderBy(["FIELD(id, ".join(',',$configs['thaw_goods_ids']).")" => true]) ->asArray()->all(); } // 是否显示隐藏前端奖励项默认值 if (empty($configs['show_reward'])) { $configs['show_reward'] = DoubleCopyEnum::defaultShowReward(); } else { $configs['show_reward'] = Json::decode($configs['show_reward'], true); } if(!isset($configs['reward_currency'])) $configs['reward_currency'] = 'commission'; // 获取等级列表 $configs['levels'] = DoubleCopyLevel::getLevelMap($this->mall_id); return $this->success('操作成功', $configs); } if(Yii::$app->request->isPost){ $post = Yii::$app->request->post('basic'); $rules = [ [['computing_method', 'compute_type', 'equal_settle_basis', 'frozen_settle_basis', 'equal_settle_type','is_send_second', 'show_achievement','is_show_at_center','achievement_settle', 'is_open_pool', 'deposit_type', 'cycle_type','is_open_level_limit', 'is_open_no_rewards', 'is_hidden_mobile','is_enable_login','fracture_reward','first_fracture_reward','allowance_level','allowance_compute','equal_level_settle_basis','equal_level_settle_type','is_open_frozen_fund_clear','frozen_fund_clear_time_show','second_prize_diff', 'auto_virtual_user', 'is_freeze_fund_monthly_limited'], 'integer'], [['reward_name','thaw_goods_ids','pool_name','show_reward'], 'safe'], [['reward_currency','frozen_fund_clear_time','frozen_fund_clear_date'], 'string'], ]; $res = Yii::$app->services->validate->validate($post, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 将数组转为json foreach ($post as &$item) { if (is_array($item)) $item = Json::encode($item); } Yii::$app->services->setting->addons->set($this->mall_id, DoubleCopyEnum::ADDONS_NAME, ['basic' => $post]); return $this->success('操作成功'); } } return $this->render('index'); } }