package com.softwarebr.nunu.service.hall;

import com.softwarebr.nunu.entity.hall.InvestApply;
import com.brframework.commondb.core.EntityService;

import java.util.List;

/**
 * @date 2020-02-25 15:27:45
 * @author lilin
 */

public interface InvestApplyService extends EntityService<InvestApply, Long, Object> {


    /**
     * 公开项目申请
     * @param ids
     * @param verify 审核结果
     * @param auditor 审核人(项目提交方/平台)
     */
    void openInvestApply(List<Long> ids, Integer verify, Integer auditor);

    /**
     * 查询创新项目的申请数量
     * @param investId 创新项目id
     * @return
     */
    Long countApplyNumber(Long investId);

    /**
     * 查询指定项目申请人审核通过信息
     * @param memberId
     * @param investId
     * @return
     */
    boolean checkApplyVerify(Long memberId, Long investId);

    /**
     * 项目联系方式申请
     * @param memberId 申请用户id
     * @param investId 项目id
     * @param reason 申请原因
     */
    void investContactApply(Long memberId, Long investId, String reason);

    /**
     * 统计指定项目待审核数量
     * @param investId 项目id
     * @return
     */
    Long countInvestHandleTotal(Long investId);

    /**
     * 查询待审核的项目id
     * @return
     */
    Long[] getAwaitVerifyInvestIds();

}