| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- namespace backend\modules\admin\controllers;
- use backend\controllers\AdminController;
- use common\enums\StatusEnum;
- use common\models\addons\AddonsCombo;
- use common\models\backend\Admin;
- use common\models\backend\AdminAddonsViews;
- use common\models\backend\Reference;
- use common\models\common\Addons;
- use common\models\common\PlatformSetting;
- use common\models\diy\DiyTemplate;
- use \Yii;
- class RegisterManageController extends AdminController
- {
- public function actionIndex()
- {
- if (Yii::$app->request->isAjax) {
- if (Yii::$app->request->isGet) {
- $params = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($params, [
- [['page', 'limit'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where = [];
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- $where[] = ['source' => 1];
- $order = 'created_at desc';
- $admin = $this->admin;
- if ($admin->id != 1) {
- $reference = Reference::find()->where(['mobile' => $admin->username, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if (empty($reference)) $this->error('您并非推广员');
- $where[] = ['reference_id' => $reference['id']];
- }
- $params = array('where' => $where, 'order' => $order, 'limit' => $params['limit']);
- $list = Admin::listPage($params, false, true);
- if(!empty($list['list'])){
- $reference_ids = array_column($list['list'],'reference_id');
- $reference_list = Reference::lists(['where'=>[['id'=>$reference_ids]],'index'=>'id']);
- foreach ($list['list'] as &$item){
- $item['reference_name']=$reference_list[$item['reference_id']]['name']??'';
- }
- }
- $this->success('获取成功', $list);
- }
- } else {
- return $this->render($this->action->id);
- }
- }
- public function actionSetting()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isPost) {
- $params = Yii::$app->request->post();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($params, [
- [['combo_id'], 'required'],
- [['expire','diy_template_id'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $data['register_manage'] = $params;
- \Yii::$app->services->setting->platform->set($data);
- $this->success('操作成功');
- } else {
- $combo_list = AddonsCombo::lists(['where' => [['status' => StatusEnum::ENABLED]], 'order' => 'id asc', 'select' => 'id,title,expire']);
- $diy_template_list = DiyTemplate::lists(['where' => [['status' => StatusEnum::ENABLED]], 'order' => 'id asc', 'select' => 'id,title']);
- $combo_arr = [];
- if (!empty($combo_list)) {
- foreach ($combo_list as $val) {
- $expire = json_decode($val['expire'], true);
- unset($val['expire']);
- if ($expire['is_forever']) {
- $combo_arr[] = $val;
- } else {
- switch ($expire['unit']) {
- case 1://月
- if (time() < $val['created_at'] + $expire['duration'] * 30 * 24 * 3600) {
- $combo_arr[] = $val;
- }
- break;
- case 2://年
- if (time() < $val['created_at'] + $expire['duration'] * 365 * 24 * 3600) {
- $combo_arr[] = $val;
- }
- break;
- }
- }
- }
- }
- $register_manage = PlatformSetting::getConfByGroup('register_manage', true);
- $this->success('获取成功', ['combo_arr' => $combo_arr, 'register_manage' => $register_manage,'diy_template_list'=>$diy_template_list]);
- }
- } else {
- return $this->render($this->action->id);
- }
- }
- public function actionAddonsView()
- {
- if (Yii::$app->request->isAjax) {
- if (Yii::$app->request->isGet) {
- $params = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($params, [
- [['page', 'limit', 'admin_id'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $where = [];
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- if (isset($params['admin_id'])) {
- $where[] = ['admin_id' => $params['admin_id']];
- }
- $order = 'created_at desc';
- $params = array('where' => $where, 'order' => $order, 'limit' => $params['limit']);
- $list = AdminAddonsViews::listPage($params, false, true);
- if(!empty($list['list'])){
- $addons = array_column($list['list'],'addons');
- $admin_ids = array_column($list['list'],'admin_id');
- $addons_list = Addons::lists(['where'=>[['name'=>$addons]],'index'=>'name','select'=>'name,title']);
- $admin_list = Admin::lists(['where'=>[['id'=>$admin_ids]],'index'=>'id','select'=>'id,username']);
- foreach ($list['list'] as &$item){
- $item['addons_name'] = $addons_list[$item['addons']]['title']??'';
- $item['username'] = $admin_list[$item['admin_id']]['username']??'';
- }
- }
- $this->success('获取成功', $list);
- }
- } else {
- return $this->render($this->action->id);
- }
- }
- /**
- * 接收观看统计数据
- * @Author: lun
- * @DateTime: 2023/6/21 0021 15:09
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- public function actionReckonCount()
- {
- if (Yii::$app->request->isAjax && Yii::$app->request->isGet) {
- $params = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($params, [
- [['name', 'time'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- // 保存数据
- if ($this->admin['source'] == 1) {// 注册用户才能使用此功能
- $res = AdminAddonsViews::setData($this->admin['id'], $params['name'], $params['time']);
- if ($res === false) return $this->error(AdminAddonsViews::getStaticError());
- }
- return $this->success('提交成功');
- }
- }
- }
|