| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- namespace app\api\service;
- use app\admin\controller\AuthGroup;
- use app\common\model\AdminModel;
- use app\common\model\AuthGroupModel;
- use app\common\model\StoreModel;
- class AdminService extends \app\BaseService
- {
- private $adminModel;
- private $storeModel;
- public function __construct()
- {
- $this->adminModel = new AdminModel();
- $this->storeModel = new StoreModel();
- }
- public function search($text = null) {
- $admins = $this->adminModel->findAdmins($text)->toArray();
- $store_ids = [];
- foreach ($admins as &$admin) {
- $admin['store_ids'] = $admin['store_ids'] ? explode(',', $admin['store_ids']) : [];
- $store_ids = array_unique(array_merge($store_ids, $admin['store_ids']));
- }
- $stores = $this->storeModel->findByIds($store_ids)->toArray();
- $fmt_stores = [];
- foreach ($stores as $store) {
- $fmt_stores[$store['id']] = $store;
- }
- foreach ($admins as &$admin) {
- $now_stores = array_map(function ($store_id) use ($fmt_stores){
- return $fmt_stores[$store_id];
- }, $admin['store_ids']);
- $admin['stores'] = $now_stores;
- }
- return $admins;
- }
- public function fetchMenus($admin_id) {
- $admin = $this->adminModel->findById($admin_id);
- $group = $admin['access']['group'];
- $fmt_reception_rules = [];
- foreach (fetchReceptionRules() as $rule) {
- $fmt_reception_rules[$rule['id']] = $rule;
- }
- $reception_rule_ids = $group->reception_rules ? explode(',', $group->reception_rules) : [];
- return array_map(function ($id) use($fmt_reception_rules) {
- return $fmt_reception_rules[$id];
- },$reception_rule_ids);
- }
- }
|