peng
2026-03-25 2e5c2bc2b7afc7926ec441ff083acd179cb29fc6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.tievd.jyz.mapper;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tievd.jyz.dto.DeviceDTO;
import com.tievd.jyz.dto.DeviceStatusStatDTO;
import com.tievd.jyz.entity.Device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
/**
 * Device
 *
 * @author cube
 * @version V2.0.0
 * @since 2023-02-27
 */
public interface DeviceMapper extends BaseMapper<Device> {
 
    /**
     * 自定义分页查询
     *
     * @param page
     * @param queryWrapper
     * @return
     */
    @Select("select d.*,count(c.id) cameraCount,count(if(c.status = 2, 1, null)) cameraOnlineCount from ( select * from t_device ${ew.customSqlSegment} ) d left join t_camera c on c.device_id = d.id group by d.id")
    IPage<DeviceDTO> tables(Page page, @Param("ew") QueryWrapper queryWrapper);
 
    /** 在线状态统计 */
    @Select("select count(if(tc.status =1,1,null)) onlineCount, count(if(tc.status =2,1,null)) offlineCount from t_device tc where tc.org_code like concat(#{orgCode},'%')")
    DeviceStatusStatDTO cameraStatusStat(String orgCode);
}