package com.red.circle.other.inner.endpoint.user.user.api;

import com.red.circle.framework.dto.PageResult;
import com.red.circle.framework.dto.ResultResponse;
import com.red.circle.other.inner.model.cmd.user.InviteStatisticsQryCmd;
import com.red.circle.other.inner.model.cmd.user.InviteUserQryCmd;
import com.red.circle.other.inner.model.dto.user.PageInviteUserRegisterDTO;
import com.red.circle.other.inner.model.dto.user.UserInviteUserCountDTO;
import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 用户邀请服务
 *
 * @author xiongcheng on 2024/3/8
 */
public interface UserInviteUserClientApi {

  String API_PREFIX = "/user_invite_user/client";

  /**
   * 获取bd邀请的人数
   *
   * @param qryCmd
   * @return
   */
  @PostMapping("/mapInviteStatisticsByUserIds")
  ResultResponse<Map<Long, UserInviteUserCountDTO>> mapInviteStatisticsByUserIds(@RequestBody
  InviteStatisticsQryCmd qryCmd);

  @PostMapping("/page")
  ResultResponse<PageResult<PageInviteUserRegisterDTO>> pageQuery(@RequestBody InviteUserQryCmd query);
}
