package com.mosty.yjzl.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mosty.base.model.entity.sjzx.TbJq;
import com.mosty.base.model.entity.yjzl.TbYjxx;
import com.mosty.base.model.query.yjzl.TbYjxxYjjbStatisticsQuery;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


/**
 * 预警信息表(TbYjxx)表数据库访问层
 *
 * @author zhangHaiJun
 * @since 2022-07-11 20:06:06
 */
@Mapper
public interface TbYjxxMapper extends BaseMapper<TbYjxx> {

    @ApiOperation("获取预警信息总数")
    int getCount(Map<String, Object> map);

    @ApiOperation("分页获取预警信息")
    List<TbYjxx> getListPage(Map<String, Object> map);

    @ApiOperation("查询预警信息不分页")
    List<TbYjxx> getList(Map<String, Object> map);

    @ApiOperation("查询预警详情")
    TbYjxx getInfoById(String id);

    @ApiOperation("根据来源Id查询预警信息")
    TbYjxx queryTbYjxx(String warningId);

    @ApiOperation("根据身份证号和车牌号查询预警数量")
    Integer countBySfzhOrCph(@Param("sfzh") String sfzh, @Param("cphm") String cphm);

    @ApiOperation("根据身份证号和车牌号查询预警数量")
    int countCurrentBySfzhOrCph(@Param("sfzh") String sfzh, @Param("cphm") String cphm);

    @ApiOperation("新增预警数据")
    void insertEntity(TbYjxx yjxx);

    @ApiOperation("APP预警信息统计")
    List<Map<String, Object>> getYjxxTj(Map<String, Object> map);

    @ApiOperation("APP预警信息统计-预警类型")
    List<Map<String, Object>> getYjxxTjYjlx(@Param("kssj") String kssj,
                                            @Param("jssj") String jssj,
                                            @Param("ssbmdm") String ssbmdm);

    @ApiOperation("统计今日各时段预警")
    List<Map<String, Object>> todayGsdyj(@Param("useSql") String useSql);

    @ApiOperation("修改预警信息")
    void updateEntity(TbYjxx tempYjxx);



    @ApiOperation("查询警情信息（此处由于数据量太大没有走feign）")
    List<TbJq> queryJq(@Param("kssj") String kssj,
                       @Param("jssj") String jssj);


}

