package com.newfiber.termite.service; import com.newfiber.termite.domain.DeviceInfo; import com.newfiber.termite.domain.dto.TermiteDataUpRequest; import com.newfiber.termite.domain.request.deviceInfo.DeviceInfoBatchSaveRequest; import com.newfiber.termite.domain.request.deviceInfo.DeviceInfoQueryRequest; import com.newfiber.termite.domain.request.deviceInfo.DeviceInfoSaveRequest; import com.newfiber.termite.domain.request.deviceInfo.DeviceInfoStateSyncRequest; import com.newfiber.termite.domain.request.deviceInfo.DeviceInfoUpdateRequest; import com.newfiber.termite.domain.response.statistic.ProjectStatisticDetail; import com.newfiber.termite.enums.EDeviceSyncState; import java.util.List; /** * 设备信息Service接口 * * @author X.K * @date 2024-05-27 */ public interface IDeviceInfoService { /** * 新增设备信息 * * @param request 新增参数 * @return 结果 */ long insert(DeviceInfoSaveRequest request); /** * 新增设备信息 * * @param request 新增参数 * @return 结果 */ List<DeviceInfo> insert(DeviceInfoBatchSaveRequest request); /** * 修改设备信息 * * @param request 修改参数 * @return 结果 */ boolean update(DeviceInfoUpdateRequest request); /** * */ boolean update(TermiteDataUpRequest termiteDateUpRequest); /** * */ boolean update(DeviceInfoStateSyncRequest deviceInfoStateSyncRequest); /** * */ boolean update(String sn, EDeviceSyncState deviceSyncState); /** * 批量删除设备信息 * * @param ids 编号(,隔开) * @return 结果 */ boolean delete(String ids); /** * 详细查询设备信息 * * @param id 主键 * @return 设备信息 */ DeviceInfo selectDetail(Long id); /** * 详细查询设备信息 * * @param id 主键 * @return 设备信息 */ DeviceInfo selectDetail(String sn); /** * 详细查询设备信息 * * @param id 主键 * @return 设备信息 */ DeviceInfo selectDetailByCategory(String category, String sn); /** * 分页查询设备信息 * * @param request 分页参数 * @return 设备信息集合 */ List<DeviceInfo> selectPage(DeviceInfoQueryRequest request); /** * 列表查询设备信息 * * @param request 列表参数 * @return 设备信息集合 */ List<DeviceInfo> selectList(DeviceInfoQueryRequest request); /** * */ List<ProjectStatisticDetail> statistic(DeviceInfoQueryRequest deviceInfoQueryRequest); /** * 列表查询设备信息 * * @param request 列表参数 * @return 设备信息集合 */ List<DeviceInfo> selectList(String projectCode); }