123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- <?php
- /*
- * @Author: wang jun
- * @Date: 2021-10-29 16:16:29
- * @Last Modified by: wang jun
- * @Last Modified time: 2021-11-09 16:21:40
- */
- namespace app\index\logic;
- use app\index\model\rolesmodel;
- use app\index\model\roleusermodel;
- use app\index\model\webusermodel;
- class rolelogic
- {
- /**
- * 用户组新增
- * 20211029
- * wj
- */
- public function newinfo($info)
- {
- $m_r = new rolesmodel();
- $flagbit = $info['flag_bit'];
- $roleinfo = $m_r->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);
- }
- }
|