package com.cool.store.service.plan;

import com.cool.store.request.plan.CityPlanningUpdateRequest;
import com.cool.store.request.plan.CityPlanningQueryRequest;
import com.cool.store.vo.plan.CityPlanningStatisticsVO;
import com.cool.store.vo.plan.CityPlanningVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 城市规划服务接口
 */
public interface CityPlanningService {

    /**
     * 新增城市规划
     * @param request 新增请求
     * @return 是否成功
     */
    Boolean add(CityPlanningUpdateRequest request);

    /**
     * 编辑城市规划
     * @param request 编辑请求
     * @return 是否成功
     */
    Boolean update(CityPlanningUpdateRequest request);

    /**
     * 分页查询
     * @param request 查询请求
     * @return 分页结果
     */
    PageInfo<CityPlanningVO> queryPage(CityPlanningQueryRequest request);

    /**
     * 批量删除
     * @param ids id列表
     * @return 是否成功
     */
    Boolean deleteByIds(List<Long> ids);

    /**
     * 规划进度
     * @param request 查询请求
     * @return 分页结果
     */
    PageInfo<CityPlanningVO> cityPlanningSchedule(CityPlanningQueryRequest request);

    /**
     * 规划进度总计
     * @param request 查询请求
     * @return 规划进度统计VO
     */
    CityPlanningStatisticsVO cityPlanningStatistics(CityPlanningQueryRequest request);
}

