feat(device): 添加设备拍摄统计数据接口

- 新增设备拍摄统计功能,支持查询拍摄总数、拍摄人数、售出张数等统计信息
- 实现设备拍摄时间线功能,按5分钟分桶统计type=2的拍摄数量
- 添加SourceMapper的数据访问方法,包括getDeviceSourceStats和getDeviceSourceTimeline
- 集成日期时间参数处理,支持自定义统计时间段
- 实现时间轴数据补零逻辑,确保时间线图表显示连续性
- 添加相应的响应对象DeviceSourceStatsVO和DeviceSourceTimelineVO
This commit is contained in:
2026-02-12 16:40:21 +08:00
parent 39bdd02566
commit 55d3d36b81
5 changed files with 187 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
package com.ycwl.basic.mapper;
import com.ycwl.basic.model.pc.device.resp.DeviceSourceStatsVO;
import com.ycwl.basic.model.pc.device.resp.DeviceSourceTimelineVO;
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
import com.ycwl.basic.model.pc.source.entity.SourceWatermarkEntity;
@@ -203,4 +205,22 @@ public interface SourceMapper {
List<SourceRespVO> pageDeletedByFaceId(SourceReqQuery sourceReqQuery);
MemberSourceEntity getMemberSourceById(Long id);
/**
* 设备拍摄统计:拍摄总数、拍摄人数、售出张数、赠送张数、售出人数
* @param deviceId 设备ID
* @param startTime 开始时间
* @param endTime 结束时间
* @return 统计结果
*/
DeviceSourceStatsVO getDeviceSourceStats(Long deviceId, Date startTime, Date endTime);
/**
* 按 5 分钟分桶统计设备 type=2 的拍摄数量(仅返回有数据的桶)
* @param deviceId 设备ID
* @param startTime 开始时间
* @param endTime 结束时间
* @return 有数据的时间桶列表
*/
List<DeviceSourceTimelineVO> getDeviceSourceTimeline(Long deviceId, Date startTime, Date endTime);
}