model = new \app\admin\model\User; $this->view->assign("statusList", $this->model->getStatusList()); } /** * 查看 */ public function index() { $this->selectpageFields = ['id','nickname']; //设置过滤方法 $this->request->filter(['strip_tags', 'trim']); if (false === $this->request->isAjax()) { return $this->view->fetch(); } //如果发送的来源是 Selectpage,则转发到 Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $list = $this->model ->where($where) ->order($sort, $order) ->paginate($limit); $result = ['total' => $list->total(), 'rows' => $list->items()]; return json($result); } /** * 关系转移 */ public function zhuanyiintro(){ if($this->request->isPost()){ $user_id = input('user_id'); $new_intro_uid = input('new_intro_uid'); //验证 if(empty($user_id)) $this->error("请输入需要转移的用户ID"); if(empty($new_intro_uid)) $this->error("请输入新的上级用户ID"); Db::startTrans(); $user = Db::name('user')->where('id',$user_id)->find(); if(empty($user)){ Db::rollback(); $this->error('不存在的用户'); } $new_intro = Db::name('user')->where('id',$new_intro_uid)->find(); if(empty($new_intro)){ Db::rollback(); $this->error('不存在的新上级用户'); } //我的多个下级,的推荐人,改成新人 $my_down = Db::name('user')->where('intro_uid',$user['id'])->select(); if(!empty($my_down)){ $rs_down = Db::name('user')->where('intro_uid',$user['id'])->update(['intro_uid'=>$new_intro_uid]); if($rs_down === false){ Db::rollback(); $this->error('操作失败'); } } //记录个日志 $log = [ 'info' => '用户['.$user['id'].']的关系被转移,其名下直推有['.implode(',',array_column($my_down,'id')).'],都改到['.$new_intro_uid.']名下', 'createtime' => time(), ]; $log_id = Db::name('intro_log')->insertGetId($log); if(!$log_id){ Db::rollback(); $this->error('操作失败'); } //提交 Db::commit(); $this->success('转移完成'); } return $this->view->fetch(); } }