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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuchen.saas.park.api.entity.park.FireFacilityEntity;
import com.yuchen.saas.park.api.request.FireFacilityAddRequest;
import com.yuchen.saas.park.api.request.FireFacilityDeleteRequest;
import com.yuchen.saas.park.api.request.FireFacilityQueryRequest;
import com.yuchen.saas.park.api.request.FireFacilityUpdateRequest;
import com.yuchen.saas.park.api.response.FireFacilityResponse;
import org.nest.springwrap.core.mp.base.BaseService;
import org.nest.springwrap.core.tool.api.R;

import java.util.List;

/**
 * @ClassName FireFacilityService
 * @Description 消防设施服务
 * @Author 肖祥
 * @Date 2022/10/18 11:45
 * @Version 1.0。0
 **/
public interface FireFacilityService extends BaseService<FireFacilityEntity> {

    /**
     * @Description 新增消防设施请求类
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param fireFacilityAddRequest:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<Boolean> add(FireFacilityAddRequest fireFacilityAddRequest);

    /**
     * @Description 消防设施分页查询
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param fireFacilityQueryRequest:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<IPage<FireFacilityResponse>>  page(FireFacilityQueryRequest fireFacilityQueryRequest);

    /**
     * @Description 消防设施删除
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param fireFacilityDeleteRequest:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<Boolean> delete(FireFacilityDeleteRequest fireFacilityDeleteRequest);

    /**
     * @Description 消防设施更新
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param fireFacilityUpdateRequest:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<Boolean> update(FireFacilityUpdateRequest fireFacilityUpdateRequest);

    /**
     * @Description 消防设施详情
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param id:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<FireFacilityResponse> detail(Long id);

    /**
     * @Description 消防设施不分页查询
     * @author 肖祥
     * @date  2022/10/18 17:42
     * @param fireFacilityQueryRequest:
     * @return org.nest.springwrap.core.tool.api.R
     */
    R<List<FireFacilityResponse>>  list(FireFacilityQueryRequest fireFacilityQueryRequest);
}
