getInfo(['flag_bit' => $flagbit], ['id']); if ($roleinfo) { return backarr(0, "数据已存在"); } $id = $m_r->insertData($info); if (!$id) { return backarr(0, "操作失败"); } return backarr(1, "操作成功", ['id' => $id]); } /** * 用户组修改 * 20211029 * wj */ public function updateinfo($arr) { if (!isset($arr['id']) || empty($arr['id'])) { return backarr(0, "请求失败"); } $m_r = new rolesmodel(); $id = $arr['id']; $where = ['id' => $id]; $rinfo = $m_r->getInfo($where); if (empty($rinfo)) { return backarr(0, "无数据"); } $updateData = []; if (isset($arr['is_active']) && $rinfo['is_active'] != $arr['is_active']) { $updateData['is_active'] = $arr['is_active']; } if (isset($arr['pre_id']) && $rinfo['pre_id'] != $arr['pre_id']) { $updateData['pre_id'] = $arr['pre_id']; } if (isset($arr['flag_bit']) && $rinfo['flag_bit'] != $arr['flag_bit']) { $updateData['flag_bit'] = $arr['flag_bit']; } if (isset($arr['name']) && $rinfo['name'] != $arr['name']) { $updateData['name'] = $arr['name']; } if (empty($updateData)) { return backarr(0, "无修改数据"); } $row = $m_r->updateinfo($where, $updateData); if (!$row) { return backarr(0, "操作失败"); } return backarr(1, "操作成功", ['id' => $id]); } /** * 用户组删除 不使用 * 20211029 * wj */ public function deleteinfo($arr) { if (!isset($arr['id']) || empty($arr['id'])) { return backarr(0, "请求失败"); } $m_r = new rolesmodel(); $id = $arr['id']; $where = ['id' => $id]; $rinfo = $m_r->getInfo($where); if (empty($rinfo)) { return backarr(0, "无数据"); } $row = $m_r->deleteinfo($where); if (!$row) { return backarr(0, "操作失败"); } return backarr(1, "操作成功", ['id' => $id]); } /** * 加入用户组 * 20211029 * wj * uid 用户id * rid 组id */ public function addroleuser($info) { $result = $this->checkUser($info); if (!$uinfo) { return backarr(0, "无用户数据"); } if (!empty($result['ruinfo'])) { return backarr(0, "数据已存在"); } $m_ru = new roleusermodel(); $id = $m_ru->insertData($info); if (!$id) { return backarr(0, "操作失败"); } return backarr(1, "操作成功", ['id' => $id]); } /** * 删除用户组用户 * 20211029 * wj */ public function deleteroleuser($arr) { $id = $arr['id']; $m_ru = new roleusermodel(); $row = $m_ru->deleteinfo(['id' => $id]); if (!$row) { return backarr(0, "操作失败"); } return backarr(1, "操作成功", ['id' => $id]); } private function checkUser($info) { //校验用户 $m_wu = new webusermodel(); $uid = $info['uid']; $where = [ 'id' => $uid, ]; $wuinfo = $m_wu->getInfo($where); if (empty($wuinfo)) { return false; } //校验组 $rid = $info['rid']; $where = [ 'id' => $rid, 'is_active' => 1, ]; $m_r = new rolesmodel(); $rinfo = $m_r->getInfo($where); if (empty($rinfo)) { return false; } //获取关系数据 $where = [ 'uid' => $wuinfo['id'], 'rid' => $rinfo['id'], ]; $m_ru = new roleusermodel(); $ruinfo = $m_ru->getInfo($where); return [ 'wuinfo' => $wuinfo, 'rinfo' => $rinfo, 'ruinfo' => $ruinfo, ]; } /** * 获取顶层组 */ public function getlistgroupname($arr) { $where = [ 'pre_id' => 0, 'is_active' => 1, ]; $m_r = new rolesmodel(); $list = $m_r->getList($where, '*', 1, 0); if (empty($list)) { return backarr(0, "无数据"); } return backarr(1, "查询成功", $list); } /** * 获取组结构 * 仅两层 * 20211109 * wj */ public function getlisttree($arr) { $order = "id asc"; $preid = !isset($arr['pre_id']) || empty($arr['pre_id']) ? 0 : $arr['pre_id']; $where = ['pre_id' => $preid]; if (isset($arr['is_active'])) { if (empty($arr['is_active'])) { $where['is_active'] = 0; } else { $where['is_active'] = 1; } } $m_r = new rolesmodel(); $datalist = $m_r->getList($where, '*', 1, 0, $order); if (empty($datalist)) { return backarr(0, "无数据"); } $list = []; $datalist = $datalist->toArray(); foreach ($datalist as $key => $value) { $list[$key] = $value; $where2 = ['pre_id' => $value['id']]; if (isset($where['is_active'])) { $where2['is_active'] = $where['is_active']; } $datalist2 = $m_r->getList($where2, '*', 1, 0, $order); $datalist2 = $datalist2->toArray(); if ($datalist2) { foreach ($datalist2 as $key2 => $value2) { $list[$key]['children'][] = $value2; } } } return backarr(1, "查询成功", $list); } }