package org.springblade.modules.investment.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.investment.pojo.entity.IbaProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.modules.investment.pojo.entity.IbaProjectVolume;
import org.springblade.modules.investment.pojo.query.IbaProjectIncomeQuery;
import org.springblade.modules.investment.pojo.query.IbaProjectQuery;
import org.springblade.modules.investment.pojo.query.IbaProjectVolumeQuery;
import org.springblade.modules.investment.pojo.vo.IbaProjectCompanyTotalVo;
import org.springblade.modules.investment.pojo.vo.IbaProjectTypeTotalVo;
import org.springblade.modules.investment.pojo.vo.incomeTotalVo;

import java.util.List;

/**
* @author LHB
* @description 针对表【iba_project(投资效益分析-项目表)】的数据库操作Mapper
* @createDate 2025-05-06 09:59:53
* @Entity generator.domain.IbaProject
*/
public interface IbaProjectMapper extends BaseMapper<IbaProject> {
    /**
     * 修改数据是否删除
     * @param ids
     * @param isDeleted
     */
    void updateIsDeleted(@Param("ids") List<Long> ids,@Param("isDeleted") int isDeleted);

    /**
     * 按公司统计
     * @return
     */
    Long companyTotal();

    /**
     * 项目类型统计
     * @return
     */
    List<IbaProjectTypeTotalVo> typeTotal();

    /**
     * 按公司分类统计
     * @return
     */
    List<IbaProjectCompanyTotalVo> companyGroupTotal();

    /**
     * 收益统计
     * @param query
     * @return
     */
    List<incomeTotalVo> incomeTotalList(IbaProjectIncomeQuery query);

    /**
     * 根据条件查询车流量
     * @param query
     * @return
     */
    List<IbaProjectVolume> companyList(IbaProjectVolumeQuery query);

    IPage<IbaProject> selectMyPage(Page<IbaProject> page,@Param("query") IbaProjectQuery query);
}




