成员管理

更新时间:2022-02-17 06:55:55下载pdf

提供对房屋成员的一些操作服务,如添加成员、迁出成员、删除成员、获取成员详情、获取成员列表等。

功能介绍

  • ITuyaCommunityHouseMember 提供了添加成员、获取房屋成员列表以及删除成员的能力,类为TuyaCommunitySDK.getHouseMemberInstance()

  • TuyaCommunityMemberBean 数据类型:

    属性 类型 说明
    memberId String 成员 ID
    headPic String 成员头像
    sex Integer 性别
    • 0:未知
    • 1:男
    • 2:女
    houseId Long 房屋 ID
    nickName String 成员昵称
    roomUserId String 人房绑定关系 ID
    houseId Long 房屋 ID
    userTypeName String 当前用户的成员类型名称
    userTypeCode String 当前用户的成员类型 code:
    • HOUSEHOLDER:业主
    • FAMILY:家人
    • TENANT:租客
    • FRIEND:朋友
    • RELATIVES:亲属
    • COLLEAGUE:同事
    • DECORATOR:装修人员
    • BABYSITTER:保姆
    • OTHER:其它
    audit Integer 成员审核状态
    • 0:等待通过
    • 20:审核通过
    • 10:审核失败
    dealStatus Integer 加入房屋要求的状态
    • 1:等待接受
    • 2:接受
    • 3:拒绝
    role Integer 房屋成员权限:
    • -1:自定义成员
    • 0:房屋成员
    • 1:管理员
    • 2:拥有者
    • -999:无效成员,成员会失效
    activeStatus Boolean 成员是否是激活状态(手机号是否注册)
    uploaded Boolean 判断改成员是否已经上传过人脸
    mobile String 成员手机号
    applySource Integer 成员添加路径:
    • 1:管理后台录入
    • 2:App 端申请
    • 3:阿里钉钉加入
    • 4:腾讯微信公众号申请
    • 5:App 内邀请

添加成员

对所选房屋添加成员。

接口说明

void addMember(String communityId, String roomId, String realName, @TuyaCommunityGenderType int sex,
				String phoneNumber, String userType, @TuyaCommunityMemberRole int role,
				@Nullable String expireTime, ITuyaCommunityResultCallback<String> callback);

参数说明

参数 说明
communityId 小区 ID
houseId 房屋 ID
realName 真实姓名
sex 性别:
  • TuyaCommunityGenderType.Male: 男
  • TuyaCommunityGenderType.Female: 女
phoneNumber 手机号
userType 成员类型,可从成员类型接口中获取
role 房屋智家角色:
  • TuyaCommunityMemberRole.ROLE_CUSTOM:自定义成员
  • TuyaCommunityMemberRole.ROLE_MEMBER:房屋成员
  • TuyaCommunityMemberRole.ROLE_ADMIN:管理员
  • TuyaCommunityMemberRole.ROLE_OWNER:拥有者
  • TuyaCommunityMemberRole.INVALID_ROLE:无效成员,成员会失效
expireTime 到期时间,针对租客类型,非必传
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().addMember(communityId, roomId,
					etName.getText().toString(), TuyaCommunityGenderType.Female, etPhone.getText().toString(),
						mUserType, TuyaCommunityMemberRole.ROLE_MEMBER,"", new ITuyaCommunityResultCallback<String>() {
						@Override
						public void onSuccess(String roomUserId) {
							// do something
						}

						@Override
						public void onFailure(String s, String s1) {
							// do something
						}
					});

获取成员详情

获取房屋成员的详细数据。

接口说明

    void getMemberDetail(String communityId, String roomUserId, ITuyaCommunityResultCallback<TuyaCommunityMemberBean> callback);

参数说明

参数 说明
communityId 小区 ID
roomUserId 人房绑定关系 ID
callback 获取结果的回调

示例代码

    TuyaCommunitySDK.getHouseMemberInstance().getMemberDetail(communityId, item.getRoomUserId(), new ITuyaCommunityResultCallback<TuyaCommunityMemberBean>() {
                    @Override
                    public void onSuccess(TuyaCommunityMemberBean tuyaCommunityMemberBean) {
                        // do something
                    }

                    @Override
                    public void onFailure(String s, String s1) {
                        // do something
                    }
                });

获取已迁出成员详情

查询已迁出成员的详细数据。

接口说明

void getMoveOutMemberDetail(String communityId, String roomUserId, ITuyaCommunityResultCallback<TuyaCommunityMemberBean> callback);

参数说明

参数 说明
communityId 小区 ID
roomUserId 人房绑定关系 ID
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance(). getMoveOutMemberDetail(communityId, item.getRoomUserId(), new ITuyaCommunityResultCallback<TuyaCommunityMemberBean>() {
				@Override
				public void onSuccess(TuyaCommunityMemberBean tuyaCommunityMemberBean) {
					// do something
				}

				@Override
				public void onFailure(String s, String s1) {
					// do something
				}
			});

获取成员列表

查询该房屋下所有未被迁出的成员信息。

接口说明

    void getMemberList(String communityId, long houseId, ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberBean>> callback);

参数说明

参数 说明
communityId 小区 ID
houseId 房屋 ID
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().getMemberList(communityId, houseId, new ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberBean>>() {
		@Override
		public void onSuccess(ArrayList<TuyaCommunityMemberBean> tuyaCommunityMemberBeans) {
			if (tuyaCommunityMemberBeans != null) {
				mCommunityListAdapter.setCommunityList(tuyaCommunityMemberBeans);
			}
		}

		@Override
		public void onFailure(String s, String s1) {

		}
	});

获取已迁出成员列表

查询该房屋下所有已迁出的成员信息。

接口说明

void getMoveOutMemberList(String communityId, long houseId, ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberBean>> callback);

参数说明

参数 说明
communityId 小区 ID
houseId 房屋 ID
callback 获取结果的回调

示例代码

    TuyaCommunitySDK.getHouseMemberInstance().getMemberList(communityId, houseId, new ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberBean>>() {
            @Override
            public void onSuccess(ArrayList<TuyaCommunityMemberBean> tuyaCommunityMemberBeans) {
                if (tuyaCommunityMemberBeans != null) {
                    mCommunityListAdapter.setCommunityList(tuyaCommunityMemberBeans);
                }
            }

            @Override
            public void onFailure(String s, String s1) {

            }
        });

获取成员类型列表

获取成员类型列表,如业主、家人、租客等。

接口说明

void getMemberTypeList(String roomId, ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberTypeBean>> callback);

参数说明

参数 说明
roomId 房屋 ID
callback 获取结果的回调

TuyaCommunityMemberTypeBean 数据类型

属性 类型 说明
memberTypeCode String 可选成员类型:
  • HOUSEHOLDER:业主
  • FAMILY:家人
  • TENANT:租客
  • FRIEND:朋友
  • RELATIVES:亲属
  • COLLEAGUE:同事
  • DECORATOR:装修人员
  • BABYSITTER:保姆
  • OTHER:其它
memberTypeId String 可选成员类型 ID,同上
memberTypeName String 可选成员类型名称
ifHasOwner Boolean 该房屋是否已有业主
select Boolean 该成员类型是否可选

示例代码

TuyaCommunitySDK.getHouseMemberInstance().getMemberTypeList(roomId, new ITuyaCommunityResultCallback<ArrayList<TuyaCommunityMemberTypeBean>>() {
		@Override
		public void onSuccess(ArrayList<TuyaCommunityMemberTypeBean> data) {

		}

		@Override
		public void onFailure(String s, String s1) {
		}
	});

审核成员

接口说明

void auditMember(String communityId, String roomUserId, @TuyaCommunityMemberAuditStatus int audit, @TuyaCommunityMemberRole int role, ISuccessFailureCallback callback);

参数说明

参数 说明
communityId 小区 ID
roomUserId 人房绑定关系 ID
audit 审核状态:
  • TuyaCommunityMemberAuditStatus.Pass:通过
  • TuyaCommunityMemberAuditStatus.Failure:失败
role 房屋智家角色:
  • TuyaCommunityMemberRole.ROLE_MEMBER:房屋成员
  • TuyaCommunityMemberRole.ROLE_ADMIN:管理员
  • TuyaCommunityMemberRole.ROLE_OWNER:拥有者
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().auditMember(communityId, roomUserId, audit, role, new ISuccessFailureCallback() {
							@Override
							public void onSuccess() {
							// do something
							}

							@Override
							public void onFailure(String s, String s1) {
							// do something
							}
						}););

获取用户认证状态

此接口主要是在社区认证真实姓名和手机号,此步是添加房屋的前提,只有认证后,才可添加房屋。

接口说明

void getUserCertificationInfo(ITuyaCommunityResultCallback<TuyaCommunityUserCertificationInfoBean> callback);

参数说明

参数 说明
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().getUserCertificationInfo(new ITuyaCommunityResultCallback<TuyaCommunityUserCertificationInfoBean>() {
				@Override
				public void onSuccess(TuyaCommunityUserCertificationInfoBean houseCerificationBean) {
					if (!houseCerificationBean.isUserIdentificationStatus()) {
						startActivity(new Intent(HouseListActivity.this, VerifyInfoActivity.class));
					} else {
						startActivity(new Intent(HouseListActivity.this, ChooseCommunityActivity.class));
					}
				}

				@Override
				public void onFailure(String s, String s1) {
					ToastUtil.shortToast(HouseListActivity.this, s1);
				}
			});

认证用户信息

如果上一步获取用户认证信息结果为未认证,就需要调用此接口去完成用户认证步骤,然后才可添加房屋。

接口说明

void verifyUserInfo(String realName, @TuyaCommunityGenderType int sex, @Nullable String idCard, ISuccessFailureCallback callback);

参数说明

参数 说明
realName 真实姓名
sex 性别:
  • TuyaCommunityGenderType.Male:男
  • TuyaCommunityGenderType.Female:女
idCard 身份证号,非必传
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().verifyUserInfo(etName.getText().toString(),
						1, etIdCard.getText().toString(), new ISuccessFailureCallback() {
							@Override
							public void onSuccess() {
								startActivity(new Intent(VerifyInfoActivity.this, ChooseCommunityActivity.class));
							}

							@Override
							public void onFailure(String s, String s1) {
								ToastUtil.shortToast(VerifyInfoActivity.this, s1);
							}
						});

更新成员信息

该接口可以用于修改房屋下某个成员的房屋智家角色,或用于转移智家拥有者。

接口说明

void updateMemberRole(long memberId, @TuyaCommunityMemberRole int role, ISuccessFailureCallback callback);

参数说明

参数 说明
memberId 成员 ID
name 成员姓名,非必传
headPic 用户头像,非必传
role 房屋智家角色:
  • TuyaCommunityMemberRole.ROLE_MEMBER:房屋成员
  • TuyaCommunityMemberRole.ROLE_ADMIN:管理员
  • TuyaCommunityMemberRole.ROLE_OWNER:拥有者
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().updateMemberRole(memberId, TuyaCommunityMemberRole.ROLE_ADMIN, new ISuccessFailureCallback() {
			@Override
			public void onSuccess() {
				if (communityId !=null){

				}
			}

			@Override
			public void onFailure(String s, String s1) {
				if (communityId !=null){
				}
			}
		});
  • TuyaCommunityMemberRole 角色级别大小为 Custom < Member < Admin < Owner,每级角色只能处理同级及下级角色。
  • TuyaCommunityMemberRole.ROLE_OWNER 智家拥有者为当前房屋下的最高智家角色,只有用户为处于智家拥有者的角色才可对当前房屋下的其他成员进行智家所有者转移。

迁出成员

业主可迁出非业主。

接口说明

void moveOutMember(String communityId, String roomUserId, ISuccessFailureCallback callback);

参数说明

参数 说明
communityId 小区 ID
roomUserId 人房绑定关系 ID
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance(). moveOutMember(communityId, roomUserId, item.getRoomUserId(), new ISuccessFailureCallback() {
							@Override
							public void onSuccess() {
							// do something
							}

							@Override
							public void onFailure(String s, String s1) {
							// do something
							}
						});

删除成员

接口说明

void deleteMember(String communityId, long houseId, String roomUserId, ISuccessFailureCallback callback);

参数说明

参数 说明
communityId 小区 ID
houseId 房屋 ID
roomUserId 人房绑定关系 ID
callback 获取结果的回调

示例代码

TuyaCommunitySDK.getHouseMemberInstance().deleteMember(communityId, houseId, item.getRoomUserId(), new ISuccessFailureCallback() {
							@Override
							public void onSuccess() {
							// do something
							}

							@Override
							public void onFailure(String s, String s1) {
							// do something
							}
						});