package com.template.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.template.model.pojo.MonthMeterDetail;
import com.template.model.pojo.SmartUser;
import com.template.model.tongji.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface WechatScanLoginMapper extends BaseMapper<SmartUser> {

    // 用户类别统计
    List<Tj> getUserIdTj();

    // 用户总数
    All getUserIdTjt();

    // 水表总计
    DAll getWaterTj();

    // 电表总计
    DAll getElcTj();

    // 每个月各水表数据统计
    List<EnergyTj> getWaterTjByMonAndBuild(String month);

    // 每个月各电表数据统计
    List<EnergyTj> getElcTjByMonAndBuild(String month);

    // 每个月每个楼栋查询
    EnergyTj getTjByMon(String name, String meterName, String month, String type);

    void insertMonthMeter(EnergyTj energyTj);

    void updateMonthMeter(@Param("energyTj") EnergyTj energyTj);

    // 每天各水表数据统计
    List<EnergyTj> getWaterTjByDayAndBuild(String day);

    // 每天各电表数据统计
    List<EnergyTj> getElcTjByDayAndBuild(String day);

    EnergyTj getTjByDay(String name, String meterName, String day, String type);

    void insertDayMeter(EnergyTj energyTj);

    void updateDayMeter(@Param("energyTj") EnergyTj energyTj);

    // 每个月各水表数据
    List<Tj> getMonWater(@Param("month") String month);

    // 每个月各电表数据
    List<Tj> getMonElc(@Param("month") String month);

    // 每个月各水表数据
    List<Tj> getMonWaters(@Param("startMonth") String startMonth, @Param("endMonth") String endMonth);

    // 每个月各电表数据
    List<Tj> getMonElcs(@Param("startMonth") String startMonth, @Param("endMonth") String endMonth);

    // 区域能耗统计
    List<MeterMonthData> getMeterMonthPage(@Param("meterMonthData") MeterMonthData meterMonthData);

    List<MonthMeterDetail> getMeterMonthPageDatas(@Param("meterMonthData") MeterMonthData meterMonthData);

    // 实时抄表
    List<MeterMonthDataVo> getMeterDayPage(@Param("meterMonthData") MeterMonthData meterMonthData);

}
