|
@@ -33,11 +33,11 @@ class DingtalkService
|
|
|
$req = new \OapiV2DepartmentListsubRequest;
|
|
|
$req->setDeptId($dept_id);
|
|
|
$resp = $c->execute($req, $accessToken, "https://oapi.dingtalk.com/topapi/v2/department/listsub");
|
|
|
- if($resp->errcode == 0 && $resp->errmsg == 'ok'){
|
|
|
+ if ($resp->errcode == 0 && $resp->errmsg == 'ok') {
|
|
|
$result = $resp->result;
|
|
|
return $result;
|
|
|
}
|
|
|
- except($resp->errcode.' '.$resp->errmsg);
|
|
|
+ except($resp->errcode . ' ' . $resp->errmsg);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -53,11 +53,11 @@ class DingtalkService
|
|
|
$req = new \OapiV2DepartmentListsubRequest;
|
|
|
$req->setDeptId($dept_id);
|
|
|
$resp = $c->execute($req, $accessToken, "https://oapi.dingtalk.com/topapi/v2/department/get");
|
|
|
- if($resp->errcode == 0 && $resp->errmsg == 'ok'){
|
|
|
+ if ($resp->errcode == 0 && $resp->errmsg == 'ok') {
|
|
|
$result = $resp->result;
|
|
|
return $result;
|
|
|
}
|
|
|
- except($resp->errcode.' '.$resp->errmsg);
|
|
|
+ except($resp->errcode . ' ' . $resp->errmsg);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -75,11 +75,11 @@ class DingtalkService
|
|
|
$req->setCursor("0");
|
|
|
$req->setSize("100");
|
|
|
$resp = $c->execute($req, $accessToken, "https://oapi.dingtalk.com/topapi/v2/user/list");
|
|
|
- if($resp->errcode == 0 && $resp->errmsg == 'ok'){
|
|
|
+ if ($resp->errcode == 0 && $resp->errmsg == 'ok') {
|
|
|
$result = $resp->result;
|
|
|
return $result;
|
|
|
}
|
|
|
- except($resp->errcode.' '.$resp->errmsg);
|
|
|
+ except($resp->errcode . ' ' . $resp->errmsg);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -95,11 +95,11 @@ class DingtalkService
|
|
|
$req = new \OapiV2UserGetRequest;
|
|
|
$req->setUserid($userid);
|
|
|
$resp = $c->execute($req, $accessToken, "https://oapi.dingtalk.com/topapi/v2/user/get");
|
|
|
- if($resp->errcode == 0 && $resp->errmsg == 'ok'){
|
|
|
+ if ($resp->errcode == 0 && $resp->errmsg == 'ok') {
|
|
|
$result = $resp->result;
|
|
|
return $result;
|
|
|
}
|
|
|
- except($resp->errcode.' '.$resp->errmsg);
|
|
|
+ except($resp->errcode . ' ' . $resp->errmsg);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -115,11 +115,11 @@ class DingtalkService
|
|
|
$req = new \OapiV2UserGetuserinfoRequest;
|
|
|
$req->setCode($code);
|
|
|
$resp = $c->execute($req, $accessToken, "https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");
|
|
|
- if($resp->errcode == 0 && $resp->errmsg == 'ok'){
|
|
|
+ if ($resp->errcode == 0 && $resp->errmsg == 'ok') {
|
|
|
$result = $resp->result;
|
|
|
return $result;
|
|
|
}
|
|
|
- except($resp->errcode.' '.$resp->errmsg);
|
|
|
+ except($resp->errcode . ' ' . $resp->errmsg);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -127,7 +127,8 @@ class DingtalkService
|
|
|
* @param string $url 应用URL,例如:https://your-domain.com/path/to/your/app.html
|
|
|
* @return mixed
|
|
|
**/
|
|
|
- public static function generateAuthSignature($url) {
|
|
|
+ public static function generateAuthSignature($url)
|
|
|
+ {
|
|
|
// 获取jsapiTicket
|
|
|
$jsapiTicket = Sample::jsapiTickets()['jsapiTicket'];
|
|
|
// 生成鉴权签名
|
|
@@ -140,56 +141,61 @@ class DingtalkService
|
|
|
$config = config('app.dingtalk');
|
|
|
$agentId = $config['agentId'];
|
|
|
$corpId = $config['corpId'];
|
|
|
- return compact("agentId","corpId","nonceStr","timeStamp","signature","url");
|
|
|
+ return compact("agentId", "corpId", "nonceStr", "timeStamp", "signature", "url");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新员工和部门
|
|
|
* [{"dept_id":438337214,"name":"BOSS","parent_id":1},{"dept_id":438145402,"name":"项目管理中心","parent_id":1},{"dept_id":501674219,"name":"技术部","parent_id":438145402},{"dept_id":500773946,"name":"项目一组","parent_id":501674219},{"dept_id":501193520,"name":"项目二组","parent_id":501674219},{"dept_id":731200005,"name":"Ui测试组","parent_id":501674219},{"dept_id":501415496,"name":"销售部","parent_id":438145402},{"dept_id":859178110,"name":"运营部","parent_id":438145402},{"dept_id":724339668,"name":"职能支持中心","parent_id":1},{"dept_id":438218445,"name":"人力资源部","parent_id":724339668},{"dept_id":702458745,"name":"财务部","parent_id":724339668}]
|
|
|
**/
|
|
|
- public static function renew(){
|
|
|
- $department_list = Department::field('is_deleted',true)->where('is_deleted',CommonConstant::IS_DELETED_0)->select();
|
|
|
- $department_object = array_column($department_list->toArray(),null,'dept_id');
|
|
|
+ public static function renew()
|
|
|
+ {
|
|
|
+ // 更新部门
|
|
|
+ $department_list = Department::field('is_deleted', true)->where('is_deleted', CommonConstant::IS_DELETED_0)->select();
|
|
|
+ $department_object = array_column($department_list->toArray(), null, 'dept_id');
|
|
|
// $department_data = self::get_tree(1);
|
|
|
|
|
|
$department_data = '[{"dept_id":438337214,"name":"BOSS","parent_id":1},{"dept_id":438145402,"name":"项目管理中心","parent_id":1},{"dept_id":501674219,"name":"技术部","parent_id":438145402},{"dept_id":500773946,"name":"项目一组","parent_id":501674219},{"dept_id":501193520,"name":"项目二组","parent_id":501674219},{"dept_id":731200005,"name":"Ui测试组","parent_id":501674219},{"dept_id":501415496,"name":"销售部","parent_id":438145402},{"dept_id":859178110,"name":"运营部","parent_id":438145402},{"dept_id":724339668,"name":"职能支持中心","parent_id":1},{"dept_id":438218445,"name":"人力资源部","parent_id":724339668},{"dept_id":702458745,"name":"财务部","parent_id":724339668}]';
|
|
|
- $department_data = json_decode($department_data,JSON_UNESCAPED_UNICODE);
|
|
|
- $department_data_object = array_column($department_data,null,'dept_id');
|
|
|
+ $department_data = json_decode($department_data, JSON_UNESCAPED_UNICODE);
|
|
|
+ $department_data_object = array_column($department_data, null, 'dept_id');
|
|
|
$save_department_data = [];
|
|
|
$add_department_data = [];
|
|
|
$del_department_data = [];
|
|
|
- foreach ($department_data as $key=>$value){
|
|
|
- if(array_key_exists($value['dept_id'],$department_object)){
|
|
|
+ foreach ($department_data as $value) {
|
|
|
+ if (array_key_exists($value['dept_id'], $department_object)) {
|
|
|
$save_department_data[] = $value;
|
|
|
- } else{
|
|
|
+ } else {
|
|
|
$add_department_data[] = $value;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if($save_department_data){
|
|
|
- foreach ($department_list as $val){
|
|
|
- if(array_key_exists($val['dept_id'],$department_data_object)){
|
|
|
- $data = $department_data_object[$val['dept_id']];
|
|
|
- $val->save($data);
|
|
|
- } else{
|
|
|
+ if ($save_department_data) {
|
|
|
+ foreach ($department_list as $val) {
|
|
|
+ if (array_key_exists($val['dept_id'], $department_data_object)) {
|
|
|
+ $department_data_info = $department_data_object[$val['dept_id']];
|
|
|
+ $val->save($department_data_info);
|
|
|
+ } else {
|
|
|
$del_department_data[] = $val['id'];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if($add_department_data){
|
|
|
+ if ($add_department_data) {
|
|
|
Department::insertAll($add_department_data);
|
|
|
}
|
|
|
|
|
|
- if($del_department_data){
|
|
|
- Department::where('id','in',$del_department_data)->delete();
|
|
|
+ if ($del_department_data) {
|
|
|
+ Department::where('id', 'in', $del_department_data)->delete();
|
|
|
}
|
|
|
+
|
|
|
+ // 更新员工
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 递归
|
|
|
**/
|
|
|
- public static function get_tree($dept_id,&$tree = array()){
|
|
|
+ public static function get_tree($dept_id, &$tree = [])
|
|
|
+ {
|
|
|
$resp = self::department_listsub($dept_id);
|
|
|
foreach ($resp as $value) {
|
|
|
$tree[] = [
|
|
@@ -197,7 +203,7 @@ class DingtalkService
|
|
|
'name' => $value->name,
|
|
|
'parent_id' => $value->parent_id,
|
|
|
];
|
|
|
- self::get_tree($value->dept_id,$tree);
|
|
|
+ self::get_tree($value->dept_id, $tree);
|
|
|
}
|
|
|
return $tree;
|
|
|
}
|