新增设备策略信息表 sys_sn_device_policy 及对应实体、Mapper、Converter、VO、Req 模型,并在设备端、家属端、管理端分别提供策略查询、全量更新和单独开关设置接口。同时修正设备菜单按钮权限命名(add/edit → create/update),并调整删除设备与解绑接口的权限和返回值。
212 lines
5.3 KiB
Java
212 lines
5.3 KiB
Java
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);
|
||
}
|