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

import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.user.SysUserFriendshipCardConfigCmd;
import com.red.circle.other.inner.model.cmd.user.SysUserFriendshipCardConfigQryCmd;
import com.red.circle.other.inner.model.dto.user.FriendshipCardDTO;
import com.red.circle.other.inner.model.dto.user.SysUserFriendshipCardConfigDTO;
import java.util.Collection;
import java.util.List;

/**
 * 用户友谊关系卡.
 *
 * @author pengliang on 2023/10/17
 */
public interface FriendshipCardClientService {

  /**
   * 根据条件获得卡片
   *
   * @param sendUserId   用户
   * @param acceptUserId 用户
   * @return 卡片
   */
  List<FriendshipCardDTO> listByCondition(Long sendUserId, Long acceptUserId);

  /**
   * 根据条件获得卡片
   *
   * @param sendUserId    用户
   * @param acceptUserIds 用户
   * @return 卡片
   */
  List<FriendshipCardDTO> listByCondition(Long sendUserId, Collection<Long> acceptUserIds);

  /**
   * 批量修改.
   */
  void updateBatchById(List<FriendshipCardDTO> dto);

  PageResult<SysUserFriendshipCardConfigDTO> pageConfig(
      SysUserFriendshipCardConfigQryCmd query);

  void updateConfig(SysUserFriendshipCardConfigCmd param);

  void addConfig(SysUserFriendshipCardConfigCmd param);
}
