package com.ruoyi.web.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.domain.dto.VillageProfile.VillageProfileAddRequest;
import com.ruoyi.web.domain.dto.VillageProfile.VillageProfileEditRequest;
import com.ruoyi.web.domain.dto.VillageProfile.VillageProfileQueryRequest;
import com.ruoyi.web.domain.entity.VillageProfile;
import com.ruoyi.web.domain.vo.VillageProfileVO;

/**
 * 村庄概况服务接口
 */
public interface VillageProfileService extends IService<VillageProfile> {

    /**
     * 添加村庄概况
     *
     * @param villageProfileAddRequest 添加请求
     * @return 村庄ID
     */
    Integer addVillageProfile(VillageProfileAddRequest villageProfileAddRequest);

    /**
     * 删除村庄概况
     *
     * @param ids 村庄ID字符串，逗号分隔
     * @return 是否成功
     */
    boolean deleteVillageProfile(String ids);

    /**
     * 编辑村庄概况
     *
     * @param villageProfileEditRequest 编辑请求
     */
    void editVillageProfile(VillageProfileEditRequest villageProfileEditRequest);

    /**
     * 根据ID获取村庄概况详情
     *
     * @param id 村庄ID
     * @return 村庄概况VO对象
     */
    VillageProfileVO getVillageProfileById(int id);

    /**
     * 分页查询村庄概况列表
     *
     * @param villageProfileQueryRequest 查询条件
     * @return 分页村庄概况VO
     */
    Page<VillageProfileVO> getListVillageProfileByPage(VillageProfileQueryRequest villageProfileQueryRequest);

    /**
     * 获取查询条件
     *
     * @param villageProfileQueryRequest 查询请求
     * @return 查询条件包装器
     */
    QueryWrapper<VillageProfile> getQueryWrapper(VillageProfileQueryRequest villageProfileQueryRequest);
} 