更新时间:2019-11-20
描述
用户可以查询所有部门里面联系人的详细信息。
前提条件
已完成组件的初始化和登录。
业务流程
搜索关键字、当前需要查找的页面索引(从1开始)、是否精确查找,以及当前查询序号。建议应用程序设置的查询序号从0开始递增,最大值0xFFFFFFFD(0xFFFFFFFE为SDK内部保留值)。
部门ID,若填写则在指定部门下查询,此处的部门ID默认为第一级部门ID。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//java code TsdkEAddrManager tsdkEAddrManager = TsdkManager.getInstance().geteAddrManager(); private int queryContactsInfoSeq = 1; public int searchContacts(String keyWords) { int seq = queryContactsInfoSeq++; if (null == keyWords) { Log.e(TAG, "Search condition is empty"); } TsdkSearchContactsParam searchContactsParam = new TsdkSearchContactsParam(); searchContactsParam.setDepartmentId(""); searchContactsParam.setIsExactSearch(0); searchContactsParam.setPageIndex(1); searchContactsParam.setSearchKeyword(keyWords); searchContactsParam.setSeqNo(seq); int result = tsdkEAddrManager.searchContacts(searchContactsParam); Log.i(TAG, "searchResult -->" + result); return seq; } |
查询到的联系人信息包括:UC帐号、姓名、工号、IP号码、部门名字、职务、邮箱、手机号码、座机号码、家庭电话、性别、邮编、地址、签名和硬终端等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
//Java code public void handleSearchContactResult(int querySeqNo, TsdkCommonResult result, TsdkSearchContactsResult searchContactResult) { int seqNo = querySeqNo; int ret = result.getResult(); if (ret == 0) { List<TsdkContactsInfo> contactsInfos = searchContactResult.getContactInfo(); int totalNum = searchContactResult.getTotalNum(); if (0 == totalNum) { notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_NOT_FOUND, null); } else if (querySelfInfoSeq == seqNo) { notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_SELF_COMPLETE, contactsInfos); } else { list = contactsInfos; QueryContactsInfoResult queryContactsResult = new QueryContactsInfoResult(); queryContactsResult.setQuerySeq(seqNo); List<EntAddressBookInfo> contactsList = new ArrayList<>(); for (TsdkContactsInfo contactorInfo : contactsInfos) { EntAddressBookInfo entAddressBookInfo = new EntAddressBookInfo(); entAddressBookInfo.setEaddrAccount(contactorInfo.getStaffAccount()); if(contactorInfo.getStaffAccount().isEmpty() || contactorInfo.getStaffAccount() == null) { break; } entAddressBookInfo.setTerminal(contactorInfo.getTerminal()); entAddressBookInfo.setEaddrDept(contactorInfo.getDepartmentName()); entAddressBookInfo.setSysIconID(10); contactsList.add(entAddressBookInfo); } queryContactsResult.setList(contactsList); notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_COMPLETE, queryContactsResult); } Log.i(TAG, totalNum + "Get the total number of returned contacts"); } else { Log.e(TAG, "Search contacts failed, result -->" + result); notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_FAILED, null); } } |
注意事项
无。