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

import com.red.circle.other.infra.database.mongo.entity.team.team.TeamApplicationProcess;
import com.red.circle.other.inner.model.dto.team.TeamApplicationProcessDTO;

import java.util.List;
import java.util.Set;

/**
 * @author longli on 2024/03/13
 */
public interface TeamApplicationProcessClientService {

    /**
     * 查询记录
     * @param ids
     * @return
     */
    List<TeamApplicationProcessDTO> getListByIds(Set<Long> ids);

    /**
     * 上个月申请退出团队的成员申请记录.
     *
     * @return 记录
     */
    List<TeamApplicationProcessDTO> listLastMonthApplyOutTeamMember();

    /**
     * 查询申请离开团队的申请记录.
     *
     * @param day 大于创建申请离开时间多少天
     * @return 记录
     */
    List<TeamApplicationProcessDTO> listApplyOutTeamMember(Integer day);

    /**
     * 获取用户退出申请.
     */
    TeamApplicationProcessDTO getQuitWaitApplyById(Long id);


    /**
     * 根据id删除申请记录
     */
    void deleteById(Long id);




}
