package cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDateTime; import java.util.List; /** * 消费者扫码访问统计 Mapper *

* 统计采用查明细 + Java 侧聚合,避免统计 SQL 与 MySQL/H2 方言差异,并消除动态列拼接注入面。 * * @author 超级管理员 */ @Mapper public interface MesTraceConsumerScanStatisticsMapper extends BaseMapperX { /** * 查询统计时间范围内(开始时间含、结束时间不含)的消费者扫码访问事件 */ default List selectListByTime(LocalDateTime startTime, LocalDateTime endTime) { return selectList(new LambdaQueryWrapperX() .geIfPresent(MesTraceConsumerScanEventDO::getEventTime, startTime) .ltIfPresent(MesTraceConsumerScanEventDO::getEventTime, endTime) .orderByAsc(MesTraceConsumerScanEventDO::getEventTime)); } }