钉钉同步人员信息_第1页
钉钉同步人员信息_第2页
钉钉同步人员信息_第3页
钉钉同步人员信息_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、钉钉同步人员信息publicvoiddingTalkUser(Stringkey)/获取access_token,注意正式代码要有异常流处理ExternalAccessConfigconfig=getSystemConfig();/获取钉钉配置的方法,需要自行实现if(null=config)if(redisTemplate.hasKey(key)redisTemplate.delete(key);/returnResponseVo.fail(登录失败,获取系统配置参数失败!);elseredisTemplate.opsForValue().set(key,key,10,TimeUnit.MI

2、NUTES);StringcomName=config.getExtFileName();/查询得到当前用户的userId/获得到userId之后应用应该处理应用自身的登录会话管理(session),避免后续的业务交互(前端到应用服务端)每次都要重新获取用户身份,提升用户体验Stringaccess_token=null;tryaccess_token=DingTalkAccessUtil.getToken(config.getExtAppId(),config.getExtSecret();LOGGER.info(access_token=,appKey=,appSecret=,access

3、_token,config.getExtAppId(),config.getExtSecret();DeptDtodepartmentSubIdDto=DingTalkAccessUtil.getDepartmentListSubId(config.getExtAppId(),config.getExtSecret();if(null!=departmentSubIdDto.getResult()Listlist=departmentSubIdDto.getResult().getDept_id_list();LOGGER.info(=+list.toString();Listuserlist

4、=newArrayList();for(LongdeptId:list)DeptUserDtouserList=DingTalkAccessUtil.getUserListIdByDeptId(config.getExtAppId(),config.getExtSecret(),deptId.toString();DeptUserDtodeptInfo=DingTalkAccessUtil.getDeptInfoByDeptId(access_token,deptId);StringdeptName=null;if(null!=deptInfo.getResult()&deptInfo.get

5、Errcode()=0)deptName=deptInfo.getResult().getName();elseLOGGER.error(=+deptInfo.getErrmsg();for(StringuserId:userList.getResult().getUserid_list()DeptUserDtouserDto=DingTalkAccessUtil.getUerDetailByUserId(access_token,userId);if(null!=userDto.getResult()userDto.getResult().setWork_place(deptName);/L

6、OGGER.info(deptName+=+userDto.getResult().toString();userlist.add(userDto.getResult();钉钉用户数据入库for(UserTesultDtouserTesultDto:userlist)Stringname=userTesultDto.getName();UserInfouserInfo=newUserInfo();if(admin.equalsIgnoreCase(userInfo.getUserName()|admin.equalsIgnoreCase(userInfo.getUserShortName()c

7、ontinue;if(StringUtils.isNotEmpty(name)UserInfoVOvo=findById(userTesultDto.getUserid();UserInfoVOv1=findOne(name,null);if(null!=v1&vo=null)Randomrandom=newRandom();intends=random.nextInt(99);Stringprefix=String.format(%02d,ends);name=name+prefix;if(vo!=null)name=vo.getUserNotesName();userInfo.setUse

8、rName(userTesultDto.getMobile();/登录用户名-用手机号userInfo.setUserShortName(userTesultDto.getMobile();/登录用户名一用手机号userInfo.setUserNotesName(name);/真实姓名userInfo.setUserNotesName(name);/真实姓名userInfo.setUserEmpId(userTesultDto.getJob_number();/if(!StringUtil.isEmpty(userTesultDto.getEmail()/userInfo.setUserInM

9、ail(userTesultDto.getEmail();/if(!StringUtil.isEmpty(userTesultDto.getOrg_email()/企业邮箱userInfo.setUserInMail(userTesultDto.getOrg_email();userInfo.setId(userTesultDto.getUserid();userInfo.setUserDeptPath(comName+userTesultDto.getWork_place();咅B门名称userInfo.setCompanyName(comName);/userInfo.setDeptCod

10、ePath(userDto.getOrgPath();userInfo.setUserMobile(userTesultDto.getMobile();trythis.save(userInfo);catch(Exceptione)e.printStackTrace();catch(Exceptione)e.printStackTrace();if(redisTemplate.hasKey(key)redisTemplate.delete(key);publicclassUserTesultDto/*部门用户id列表*/privateListuserid_list;/爱好privateStri

11、ngextension;员工在当前开发者企业账号范围内的唯一标识privateStringunionid;是否为企业的老板privatebooleanboss;/职位privateStringtitle;/办公地点privateStringwork_place;所属部门ID列表privateObjectdept_id_list;/员工在对应的部门中的排序privateObjectdept_order_list;角色列表privateObjectrole_list;/员工工号privateStringjob_number;/邮箱privateStringemail;/企业邮箱,如果员工的企业邮箱没有开通,返回信息中不包含该数据privateStringorg_email;手机号码privateStringmobile;/员工名称privateStringname;用户idprivateStringuserid;/是否激活了钉钉privatebooleanactive;/是否完成了钉钉实名认证privatebooleanreal_authed;publicclassDeptDtoextendsBaseDto/*部门id结果信息*/pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论