更新 HeartBeatService.java
parent
645c2ddd90
commit
ff590d8c05
|
|
@ -25,16 +25,21 @@ public class HeartBeatService {
|
||||||
if (!correctAccessToken.equals(accessToken)){
|
if (!correctAccessToken.equals(accessToken)){
|
||||||
return ServerResponseEntity.fail("Invalid accessToken");
|
return ServerResponseEntity.fail("Invalid accessToken");
|
||||||
}
|
}
|
||||||
DeviceInfoDAO deviceInfoDAO = getDeviceInfoByAndroidId(deviceInfo.getAndroidId());
|
DeviceInfoDAO deviceInfoDAO = getDeviceInfoBySN(deviceInfo.getSN());
|
||||||
if (deviceInfoDAO == null) {
|
if (deviceInfoDAO == null) {
|
||||||
// 设备信息不存在,可能是无效的设备
|
// 设备信息不存在,可能是无效的设备
|
||||||
addDeviceInfo(deviceInfo);
|
boolean isSuccess = addDeviceInfo(deviceInfo);
|
||||||
return ServerResponseEntity.success();
|
if (isSuccess){
|
||||||
|
return ServerResponseEntity.success();
|
||||||
|
} else {
|
||||||
|
logger.info("add to mysql error");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
updateClientStatus(deviceInfo);
|
updateClientStatus(deviceInfo);
|
||||||
return ServerResponseEntity.success();
|
return ServerResponseEntity.success();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
logger.error("update client status error.");
|
||||||
// 处理更新状态时的异常
|
// 处理更新状态时的异常
|
||||||
return ServerResponseEntity.fail("Error updating client status");
|
return ServerResponseEntity.fail("Error updating client status");
|
||||||
}
|
}
|
||||||
|
|
@ -46,7 +51,7 @@ public class HeartBeatService {
|
||||||
// 更新该客户端的最后活跃时间
|
// 更新该客户端的最后活跃时间
|
||||||
|
|
||||||
UpdateWrapper<DeviceInfoDAO> updateWrapper = new UpdateWrapper<>();
|
UpdateWrapper<DeviceInfoDAO> updateWrapper = new UpdateWrapper<>();
|
||||||
updateWrapper.eq("android_id", deviceInfo.getAndroidId());
|
updateWrapper.eq("sn", deviceInfo.getSN());
|
||||||
updateWrapper.set("last_online_time", currentTimeMillis); // 设置新的 accessToken
|
updateWrapper.set("last_online_time", currentTimeMillis); // 设置新的 accessToken
|
||||||
|
|
||||||
int result = deviceInfoDAOMapper.update(null, updateWrapper);
|
int result = deviceInfoDAOMapper.update(null, updateWrapper);
|
||||||
|
|
@ -56,6 +61,7 @@ public class HeartBeatService {
|
||||||
logger.warn("Update failed: No rows affected");
|
logger.warn("Update failed: No rows affected");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addDeviceInfo(DeviceInfo deviceInfo) {
|
public boolean addDeviceInfo(DeviceInfo deviceInfo) {
|
||||||
try {
|
try {
|
||||||
DeviceInfoDAO deviceInfoDAO = convertToDeviceInfoDAO(deviceInfo);
|
DeviceInfoDAO deviceInfoDAO = convertToDeviceInfoDAO(deviceInfo);
|
||||||
|
|
@ -71,12 +77,12 @@ public class HeartBeatService {
|
||||||
/**
|
/**
|
||||||
* 根据 androidId 查询 DeviceInfo。
|
* 根据 androidId 查询 DeviceInfo。
|
||||||
*
|
*
|
||||||
* @param androidId 要查询的 Android ID。
|
* @param SN 要查询的 SN。
|
||||||
* @return 与 androidId 对应的 DeviceInfoDAO 对象,如果没有找到,则返回 null。
|
* @return 与 androidId 对应的 DeviceInfoDAO 对象,如果没有找到,则返回 null。
|
||||||
*/
|
*/
|
||||||
public DeviceInfoDAO getDeviceInfoByAndroidId(String androidId) {
|
public DeviceInfoDAO getDeviceInfoBySN(String SN) {
|
||||||
QueryWrapper<DeviceInfoDAO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<DeviceInfoDAO> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("android_id", androidId);
|
queryWrapper.eq("sn", SN);
|
||||||
try {
|
try {
|
||||||
DeviceInfoDAO deviceInfoDAO = deviceInfoDAOMapper.selectOne(queryWrapper);
|
DeviceInfoDAO deviceInfoDAO = deviceInfoDAOMapper.selectOne(queryWrapper);
|
||||||
if (deviceInfoDAO != null) {
|
if (deviceInfoDAO != null) {
|
||||||
|
|
@ -100,9 +106,11 @@ public class HeartBeatService {
|
||||||
// 这里需要实现将 DeviceInfo 转换为 DeviceInfoDAO 的逻辑
|
// 这里需要实现将 DeviceInfo 转换为 DeviceInfoDAO 的逻辑
|
||||||
// 示例代码(根据实际字段调整):
|
// 示例代码(根据实际字段调整):
|
||||||
DeviceInfoDAO deviceInfoDAO = new DeviceInfoDAO();
|
DeviceInfoDAO deviceInfoDAO = new DeviceInfoDAO();
|
||||||
deviceInfoDAO.setAndroidId(deviceInfo.getAndroidId());
|
deviceInfoDAO.setIsMonitored(1);
|
||||||
deviceInfoDAO.setSerialNumber(deviceInfo.getSerialNumber());
|
deviceInfoDAO.setDeviceBrand(deviceInfo.getDeviceBrand());
|
||||||
|
deviceInfoDAO.setSN(deviceInfo.getSN());
|
||||||
deviceInfoDAO.setDeviceModel(deviceInfo.getDeviceModel());
|
deviceInfoDAO.setDeviceModel(deviceInfo.getDeviceModel());
|
||||||
|
deviceInfoDAO.setAndroidVersion(deviceInfo.getAndroidVersion());
|
||||||
deviceInfoDAO.setTimeOutPeriod(TIME_OUT_PERIOD);
|
deviceInfoDAO.setTimeOutPeriod(TIME_OUT_PERIOD);
|
||||||
deviceInfoDAO.setLastOnlineTime(System.currentTimeMillis());
|
deviceInfoDAO.setLastOnlineTime(System.currentTimeMillis());
|
||||||
deviceInfoDAO.setStatus(1);
|
deviceInfoDAO.setStatus(1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue