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

import com.yuchen.saas.park.api.entity.park.ParkSpaceInfo;
import com.yuchen.saas.park.api.request.SpaceInfoRequest;
import com.yuchen.saas.park.api.vo.park.ParkSpaceInfoTreeVO;
import org.nest.springwrap.core.mp.base.BaseService;
import org.nest.springwrap.core.tool.api.R;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @ClassName ParkSpaceInfoService
 * @Description 园区空间信息操作接口
 * @Author 张逸飞
 * @Date 2022/10/26 15:38
 */
public interface ParkSpaceInfoService extends BaseService<ParkSpaceInfo> {

    /**
     * 新增或者修改空间信息
     * @param parkSpaceInfo 空间信息
     * @return
     */
    R<Boolean> saveSpaceInfo(ParkSpaceInfo parkSpaceInfo);

    /**
     * 修改空间信息
     * @param parkSpaceInfo 空间信息
     * @return
     */
    Boolean updateSpaceInfo(ParkSpaceInfo parkSpaceInfo);

    /**
     * 获取园区空间树结构
     * @param spaceInfoRequest
     * @return
     */
    List<ParkSpaceInfoTreeVO> getTree(SpaceInfoRequest spaceInfoRequest);

    /**
     * 删除空间信息
     * @param id 空间信息ID
     * @return
     */
    R delSpaceInfo(Long id);

   R batchSave(SpaceInfoRequest spaceInfoRequest);
}
