package com.liquidnet.service.adam.service;

import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;

import java.util.List;

public interface IAdamRdmService {
    boolean setUidByMobile(String mobile, String uid);

    String getUidByMobile(String mobile);

    void delUidByMobile(String mobile);

    boolean setUidByPlatformOpenId(String platform, String openId, String uid);

    String getUidByPlatformOpenId(String platform, String openId);

    void delUidByPlatformOpenId(String platform, String openId);

    boolean setUserInfoVoByUid(String uid, AdamUserInfoVo vo);

    AdamUserInfoVo getUserInfoVoByUid(String uid);

    void delUserInfoVoByUid(String uid);

    boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo);

    AdamRealInfoVo getRealInfoVoByUid(String uid);

    void delRealInfoVoByUid(String uid);

    boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);

    List<AdamThirdPartInfoVo> getThirdPartVoListByUid(String uid);

    AdamThirdPartInfoVo getThirdPartVoByUidPlatform(String uid, String platform);

    void delThirdPartVoListByUid(String uid);

    boolean setEntersByUid(String uid, List<AdamEnters> list);

    List<AdamEnters> getEntersByUid(String uid);

    AdamEnters getEntersByUidEntersId(String uid, String entersId);

    void delEntersByUid(String uid);

    boolean setAddressesByUid(String uid, List<AdamAddresses> list);

    List<AdamAddresses> getAddressesByUid(String uid);

    AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId);

    void delAddressesByUid(String uid);

    boolean setUserMemberVoByUid(String uid, AdamUserMemberVo vo);

    AdamUserMemberVo getUserMemberVoByUid(String uid);

    void delUserMemberVoByUid(String uid);

    AdamMemberSimpleVo getMemberSimpleVo();

    String getMemberAgreement();

    boolean setTagsForSex(List<AdamTagVo> voList);

    List<AdamTagVo> getTagsForSex();

    boolean setTagsForMusic(List<AdamTagParentVo> voList);

    List<AdamTagParentVo> getTagsForMusic();
}
