package com.yuchen.saas.park.service.service.resource;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.resource.CancelSubscribeReqDTO;
import com.yuchen.saas.park.api.dto.resource.ResourceSubscribeInfoReqDTO;
import com.yuchen.saas.park.api.dto.resource.ResourceSubscribeSubmitReqDTO;
import com.yuchen.saas.park.api.entity.resource.SaasParkResourceSubscribeInfo;
import com.yuchen.saas.park.api.vo.resource.ResourceSubscribeBillVO;
import com.yuchen.saas.park.api.vo.resource.ResourceSubscribeInfoVO;
import org.nest.springwrap.core.mp.support.NestPage;

/**
 * <p>
 * 资源预定表 服务类
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-10-17
 */
public interface ISaasParkResourceSubscribeInfoService extends IService<SaasParkResourceSubscribeInfo> {

    Integer getResourceSubscribeCount(Long resourceId);

    NestPage<ResourceSubscribeInfoVO> findResourceSubscribeInfoPage(ResourceSubscribeInfoReqDTO reqDTO);

    ResourceSubscribeBillVO submitResourceSubscribe(ResourceSubscribeSubmitReqDTO reqDTO);

    Boolean noPaySubscribe(Long subscribeId);

    Boolean cancelSubscribe(CancelSubscribeReqDTO reqDTO);
}
