package com.softwarebr.nunu.service.res;

import com.softwarebr.nunu.dto.res.InviteParamDTO;
import com.softwarebr.nunu.dto.res.PropertyParamDTO;
import com.softwarebr.nunu.entity.res.Invite;
import com.brframework.commondb.core.EntityService;
import com.softwarebr.nunu.json.api.center.InviteDetailsResult;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 招聘资源
 * @date 2020-02-21 11:48:30
 * @author lilin
 */

public interface InviteService extends EntityService<Invite, Long, Object> {


    /**
     * 查询招聘详情
     * @param id 招聘资源ID
     * @param memberId 当前查看详情用户
     * @return
     */
    InviteDetailsResult getInviteDetails(Long id, Long memberId);

    /**
     * 招聘资源审核
     * @param id
     * @param verify 审核结果
     * @param verifyRemark 审核备注
     */
    void inviteVerify(Long id, Integer verify, String verifyRemark);

    /**
     * 招聘资源保存
     * @param publisher 发布者 -1为平台
     * @param inviteParamDTO 参数数据
     * @return
     */
    Invite saveInvite(Long publisher, InviteParamDTO inviteParamDTO);

    /**
     * 招聘资源修改
     * @param inviteId 招聘资源id
     * @param inviteParamDTO 参数数据
     */
    void updateInvite(Long inviteId, InviteParamDTO inviteParamDTO);

    /**
     * 招聘资源删除
     * @param inviteId 招聘资源id
     */
    void removeInviteById(Long inviteId);

    /**
     * 项目资源上架
     * @param inviteId 招聘资源id
     */
    void inviteUpperShelf(Long inviteId);

    /**
     * 项目资源下架
     * @param inviteId 招聘资源id
     */
    void inviteLowerShelf(Long inviteId);

    /**
     * 项目资源项目推荐至首页
     * @param inviteId 招聘资源id
     */
    void inviteIndexYes(Long inviteId);

    /**
     * 项目资源取消推荐至首页
     * @param inviteId 招聘资源id
     */
    void inviteIndexNo(Long inviteId);

}