$value->dept_id, 'name' => $value->name, 'parent_id' => $value->parent_id, ]; } if ($data) { Department::insertAll($data); } $this->success('获取部门列表', $resp); } /** * 获取部门详情 * * @Apidoc\Method("POST") * @Apidoc\Param("dept_id", type="integer",require=true, desc="部门ID") */ public function department_get() { $dept_id = input('dept_id'); $resp = DingtalkService::department_get($dept_id); $this->success('获取部门详情', $resp); } /** * 获取部门用户详情 * * @Apidoc\Method("POST") * @Apidoc\Param("dept_id", type="integer",require=true, desc="部门ID") */ public function user_list() { $dept_id = input('dept_id'); $resp = DingtalkService::user_list($dept_id); if($resp->list){ $data = []; foreach ($resp->list as $value) { $data[] = [ 'userid' => $value->userid, 'unionid' => $value->unionid, 'name' => $value->name, 'avatar' => $value->avatar, 'mobile' => isset($value->mobile) ? $value->mobile : '', 'email' => isset($value->email) ? $value->email : '', 'title' => isset($value->title) ? $value->title : '', 'manager_userid' => isset($value->manager_userid) ? $value->manager_userid : '', 'department' => implode(',', $value->dept_id_list), ]; } if ($data) { User::insertAll($data); } } $this->success('获取部门用户详情', $resp); } /** * 查询用户详情 * * @Apidoc\Method("POST") * @Apidoc\Param("userid", type="string",require=true, desc="用户的userId") */ public function get_users() { $userid = input('userid'); $resp = DingtalkService::user_get($userid); $this->success('查询用户详情', $resp); } //获取用户列表 public function get_member() { $list = User::select(); // $data = array_column($list->toArray(), null, 'userid'); $no_user_list = []; $user_list = []; foreach ($list as $value) { $resp = DingtalkService::user_get($value['userid']); if ($resp->errcode == 0) { $user_list[$resp->result->userid] = [ 'userid' => $resp->result->userid, 'manager_userid' => isset($resp->result->manager_userid) ? $resp->result->manager_userid : '', ]; } if ($resp->errcode == 60121) { $no_user_list[$value['userid']] = [ 'userid' => $value['userid'], ]; } } foreach ($list as $val) { if (array_key_exists($val['userid'], $user_list)) { $val->manager_userid = $user_list[$val['userid']]['manager_userid']; $val->save(); } } if ($no_user_list) { User::where('userid', 'in', array_keys($no_user_list))->update(['is_deleted' => 1]); } } /** * 获取鉴权需要的参数 * * @Apidoc\Desc("设置企业内部应用H5微应用鉴权") * @Apidoc\Method("POST") * @Apidoc\Param("url", type="string", require=true, desc="应用URL") * **/ public function get_auth(){ $url = input('url') ?: ''; DingtalkService::generateAuthSignature($url); $this->success('获取鉴权需要的参数'); } }