package org.jeecg.modules.bu_zy_jcw.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.bu_zy_jcw.entity.BuZyJcwOnline;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * @Description: bu_zy_jcw_online
 * @Author: jeecg-boot
 * @Date:   2025-11-26
 * @Version: V1.0
 */
public interface BuZyJcwOnlineMapper extends BaseMapper<BuZyJcwOnline> {
	
	/**
	 * 根据月份查询历史数据
	 * @param page 分页对象
	 * @param tableName 表名
	 * @return
	 */
	public IPage<BuZyJcwOnline> queryHistoryDataByMonth(Page<BuZyJcwOnline> page, @Param("tableName") String tableName);
	
	/**
	 * 根据条件查询历史数据
	 * @param page 分页对象
	 * @param tableName 表名
	 * @param condition 条件字符串
	 * @return
	 */
	public IPage<BuZyJcwOnline> queryHistoryDataByCondition(Page<BuZyJcwOnline> page, @Param("tableName") String tableName, @Param("condition") String condition);
	
	/**
	 * 根据时间范围查询历史数据
	 * @param page 分页对象
	 * @param tableName 表名
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @return
	 */
	public IPage<BuZyJcwOnline> queryHistoryDataByTimeRange(Page<BuZyJcwOnline> page, @Param("tableName") String tableName, 
																@Param("startTime") String startTime, @Param("endTime") String endTime);
	
	/**
	 * 更新历史数据
	 * @param buZyJcwOnline 数据对象
	 * @param tableName 表名
	 * @return 影响的行数
	 */
	public int updateHistoricalData(@Param("entity") BuZyJcwOnline buZyJcwOnline, @Param("tableName") String tableName);
}