Files
youlai-boot/src/main/java/com/youlai/boot/device/service/DeviceService.java
TongTongStudio af2b9846f1 feat(device): 添加设备策略信息管理功能
新增设备策略信息表 sys_sn_device_policy 及对应实体、Mapper、Converter、VO、Req 模型,并在设备端、家属端、管理端分别提供策略查询、全量更新和单独开关设置接口。同时修正设备菜单按钮权限命名(add/edit → create/update),并调整删除设备与解绑接口的权限和返回值。
2026-08-27 11:48:45 +08:00

212 lines
5.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.youlai.boot.device.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.device.model.entity.SnDeviceInfo;
import com.youlai.boot.device.model.query.DeviceQuery;
import com.youlai.boot.device.model.vo.DeviceHardwareInfoVO;
import com.youlai.boot.device.model.vo.DeviceNetworkInfoVO;
import com.youlai.boot.device.model.vo.DeviceOtherInfoVO;
import com.youlai.boot.device.model.vo.DeviceSecurityInfoVO;
import com.youlai.boot.device.model.vo.DeviceSystemInfoVO;
import com.youlai.boot.device.model.vo.DevicePageVO;
public interface DeviceService extends IService<SnDeviceInfo> {
/**
* 用户分页列表
*
* @return {@link IPage<DevicePageVO>} 用户分页列表
*/
IPage<DevicePageVO> getSnPage(DeviceQuery queryParams);
/**
* 获取设备详情
*
* @param sn 设备序列号
* @return 设备详情信息
*/
DevicePageVO getSnBindInfo(String sn);
/**
* 获取设备基本信息
*
* @param sn 设备序列号
* @return 设备基本信息(无则返回 null
*/
DeviceSystemInfoVO getDeviceBasicInfo(String sn);
/**
* 获取设备硬件信息
*
* @param sn 设备序列号
* @return 设备硬件信息(无则返回 null
*/
DeviceHardwareInfoVO getDeviceHardwareInfo(String sn);
/**
* 获取设备网络信息
*
* @param sn 设备序列号
* @return 设备网络信息(无则返回 null
*/
DeviceNetworkInfoVO getDeviceNetworkInfo(String sn);
/**
* 获取设备安全信息
*
* @param sn 设备序列号
* @return 设备安全信息(无则返回 null
*/
DeviceSecurityInfoVO getDeviceSecurityInfo(String sn);
/**
* 获取设备其他信息
*
* @param sn 设备序列号
* @return 设备其他信息(无则返回 null
*/
DeviceOtherInfoVO getDeviceOtherInfo(String sn);
/**
* 添加设备
* @param device 设备信息
* @return 是否成功
*/
boolean addSn(SnDeviceInfo device);
/**
* 更新设备信息(仅允许修改设备昵称)
* @param id 设备ID
* @param snName 设备昵称
* @return 是否成功
*/
boolean updateSn(Long id, String snName);
/**
* 删除设备
* @param sn 设备序列号
* @return 是否成功
*/
boolean deleteSn(String sn);
boolean deviceRefresh(String sn);
/**
* 截图
* @param sn 序列号
* @return 是否推送成功
*/
boolean screenSnapshot(String sn);
/**
* 远程拍照
*
* @param sn 设备序列号
* @param camera 摄像头类型0后置摄像头1前置摄像头
* @return 是否推送成功
*/
boolean takePhoto(String sn, int camera);
boolean deviceReboot(String sn);
boolean deviceShutdown(String sn);
boolean deviceLocate(String sn);
/**
* 恢复出厂设置
* @param sn 序列号
* @return 是否推送成功
*/
boolean restore(String sn);
boolean setDeviceDeveloper(String sn);
/**
* 文件传输(家属端发起,通知设备进入文件传输模式)
*/
boolean fileTransfer(String sn);
/**
* 短信同步(通知设备上传短信记录)
*/
boolean msgSync(String sn);
/**
* 清理(通知设备清理缓存/垃圾文件)
*/
boolean clean(String sn);
/**
* 屏幕镜像(通知设备开启屏幕镜像/投屏)
*/
boolean mirror(String sn);
/**
* 屏幕锁定(通知设备锁定屏幕)
*/
boolean screenLock(String sn);
/**
* 解除设备绑定(管理员端发起)
* <p>
* 清除设备表 {@code sys_sn.snMobile} 的绑定手机号,并下发推送通知设备端
* 在本地标记解绑状态,避免设备下次上报手机号时重新建立绑定。
*
* @param sn 设备序列号
* @return 是否成功
*/
boolean unbindMobile(String sn);
/**
* 打开应用
*
* @param sn 设备序列号
* @param packageName 应用包名
* @return 是否推送成功
*/
boolean launchApp(String sn, String packageName);
/**
* 清除应用数据
*
* @param sn 设备序列号
* @param packageName 应用包名
* @return 是否推送成功
*/
boolean clearAppData(String sn, String packageName);
/**
* 卸载应用
*
* @param sn 设备序列号
* @param packageName 应用包名
* @return 是否推送成功
*/
boolean uninstallApp(String sn, String packageName);
/**
* 停止应用(强制停止运行中的进程)
*
* @param sn 设备序列号
* @param packageName 应用包名
* @return 是否推送成功
*/
boolean stopApp(String sn, String packageName);
/**
* 新增开发者选项配置
*
* @param sn 设备序列号
* @param developerOptions 开发者选项开关0关闭1开启
* @return 是否成功
*/
boolean addDeveloperConfig(String sn, Integer developerOptions);
/**
* 删除开发者选项配置
*
* @param sn 设备序列号
* @return 是否成功
*/
boolean deleteDeveloperConfig(String sn);
}