package com.red.circle.other.app.service.user.user;

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.other.app.dto.clientobject.user.user.UserProfileCardCO;
import com.red.circle.other.app.dto.clientobject.user.user.UserProfileUsePropsCO;
import com.red.circle.other.app.dto.cmd.user.user.AccountQryCmd;
import com.red.circle.other.app.dto.cmd.user.user.UserCardQryCmd;
import com.red.circle.other.app.dto.cmd.user.user.UserProfileModifyCmd;
import com.red.circle.other.app.dto.cmd.user.user.UserProfileQryCmd;
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;

/**
 * 用户资料
 *
 * @author pengliang on 2020/10/30
 */
public interface UserProfileService {

  UserProfileDTO getUserProfile(UserProfileQryCmd cmd);

  UserProfileUsePropsCO getPropsUserProfile(UserProfileQryCmd cmd);

  UserProfileDTO getUserProfile(AccountQryCmd cmd);

    UserProfileDTO getUserOpenProfile(AccountQryCmd cmd);

  UserProfileCardCO getUserProfileCard(UserCardQryCmd cmd);

  UserProfileDTO updateUserProfile(UserProfileModifyCmd cmd);

  Boolean checkVoiceRoomAuth(AppExtCommand cmd);

  /**
   * 根据账号获取用户资料.
   */
  UserProfileDTO getByAccount(String sysOrigin, String account);

}
