| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace addons\DoubleCopy\backend\controllers;
- use addons\DoubleCopy\common\enums\DoubleCopyEnum;
- use addons\DoubleCopy\common\models\DoubleCopyLevel;
- use common\enums\StatusEnum;
- use common\models\goods\Goods;
- use Yii;
- use yii\helpers\Json;
- /**
- * Class SettingController
- * @package addons\BossBonus\backend\controllers
- */
- class SettingController extends BaseController
- {
- public $enableCsrfValidation = false;
- /**
- * @return mixed|string|void
- */
- public function actionIndex()
- {
- if (Yii::$app->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');
- }
- }
|