/** * 更新群组到数据库 * * @param member * @return */ public static long insertGroupMember(ECGroupMember member) { if (member == null || TextUtils.isEmpty(member.getBelong()) || TextUtils.isEmpty(member.getVoipAccount())) { return -1L; } ContentValues values = null; try { if (!ContactSqlManager.hasContact(member.getVoipAccount()) || needUpdateSexPhoto(member.getBelong(), member.getVoipAccount(), member.getSex())) { updateContact(member); } else { if (!TextUtils.isEmpty(member.getDisplayName())) { ContactSqlManager.updateContactName(member); } } values = new ContentValues(); values.put(GroupMembersColumn.OWN_GROUP_ID, member.getBelong()); values.put(GroupMembersColumn.VOIPACCOUNT, member.getVoipAccount()); values.put(GroupMembersColumn.TEL, member.getTel()); values.put(GroupMembersColumn.MAIL, /*member.getEmail()*/ "*****@*****.**"); values.put(GroupMembersColumn.REMARK, member.getDisplayName()); values.put(GroupMembersColumn.ISBAN, member.isBan() ? 2 : 1); values.put(GroupMembersColumn.ROLE, member.getRole()); values.put(GroupMembersColumn.SEX, member.getSex()); if (!isExitGroupMember(member.getBelong(), member.getVoipAccount())) { return getInstance() .sqliteDB() .insert(DatabaseHelper.TABLES_NAME_GROUP_MEMBERS, null, values); } else { return getInstance() .sqliteDB() .update( DatabaseHelper.TABLES_NAME_GROUP_MEMBERS, values, "group_id ='" + member.getBelong() + "'" + " and voipaccount='" + member.getVoipAccount() + "'", null); } } catch (Exception e) { e.printStackTrace(); } finally { if (values != null) { values.clear(); } } return -1L; }
private static void updateContact(ECGroupMember member) { ECContacts contacts = new ECContacts(member.getVoipAccount()); contacts.setNickname(member.getDisplayName()); ContactSqlManager.insertContact(contacts, member.getSex()); }