| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- /**
- * 资源.
- *
- * @author jim <jim458734573@gmail.com>
- * @date 2020-01-24 00:02:37
- */
- declare(strict_types=1);
- namespace App\Repositories;
- use App\Model\PermissionResourceModel;
- use App\Repositories\Utils\TreeRepository;
- use Hyperf\Database\Model\Builder;
- use KZ2\Repositories\Model\Repository;
- class PermissionResourceRepository extends Repository
- {
- public function model()
- {
- return PermissionResourceModel::class;
- }
- /**
- * 所有树形数组.
- * @return array
- */
- public function getAllTree()
- {
- $arr = array();
- if ($tmp_list = PermissionResourceModel::orderBy('squad', 'ASC')->get()) {
- $arr_list = $tmp_list->toArray();
- if ($arr_list) {
- $treeObj = new TreeRepository();
- $arr = $treeObj->tree2AreaArray($arr_list, 'id', 'parent_id', 'cell');
- }
- }
- return $arr;
- }
- /**
- * 所有树形数组名称
- * @return array
- */
- public function getAllTreeName()
- {
- $arr = array();
- if ($tmp_list = PermissionResourceModel::orderBy('squad', 'ASC')->get()) {
- $arr_list = $tmp_list->toArray();
- if ($arr_list) {
- $treeObj = new TreeRepository();
- $arr = $treeObj->tree2AreaArray2($arr_list, 'operate','cell');
- }
- }
- return $arr;
- }
- /**
- * 所有有效树形数组.
- * @return array
- */
- public function getAllEnableTree()
- {
- $pLang = trans('permission');
- $rTree = $this->getAllTree();
- foreach ($rTree as $k1 => &$v1) {
- if (isset($pLang[$v1['operate']]) && $pLang[$v1['operate']]['power_rule']['module_hidden'] == 0) {
- $v1['name'] = $pLang[$v1['operate']]['power_rule']['module_name'];
- if (!empty($v1['cell'])) {
- foreach ($v1['cell'] as $k2 => &$v2) {
- if (isset($pLang[$v1['operate']][$v2['operate']])) {
- $v2['name'] = $pLang[$v1['operate']][$v2['operate']];
- } else {
- unset($rTree[$k1]['cell'][$k2]);
- }
- }
- }
- } else {
- unset($rTree[$k1]);
- }
- }
- return $rTree;
- }
- /**
- * 所有有效树形数组.名称
- * @return array
- */
- public function getAllEnableTreeName()
- {
- $pLang = trans('permission');
- $rTree = $this->getAllTreeName();
- foreach ($rTree as $k1 => &$v1) {
- if (isset($pLang[$v1['operate']]) && $pLang[$v1['operate']]['power_rule']['module_hidden'] == 0) {
- $v1['name'] = $pLang[$v1['operate']]['power_rule']['module_name'];
- if (!empty($v1['cell'])) {
- foreach ($v1['cell'] as $k2 => &$v2) {
- if (isset($pLang[$v1['operate']][$v2['operate']])) {
- $v2['name'] = $pLang[$v1['operate']][$v2['operate']];
- } else {
- unset($rTree[$k1]['cell'][$k2]);
- }
- }
- }
- } else {
- unset($rTree[$k1]);
- }
- }
- return $rTree;
- }
- }
|