1、参数一致性检查放在online函数

2、修改获取工作周期的指令bug
This commit is contained in:
weidong 2025-03-30 14:49:52 +08:00
parent 07ffaf7c11
commit 803f2475b6
6 changed files with 11 additions and 17 deletions

View File

@ -20,8 +20,7 @@ public interface BeidouClient {
@PostMapping("/device_active")
String onDeviceActive(@RequestParam(name = "deviceId") String deviceId,
@RequestParam(name = "tenantId") Integer tenantId,
@RequestParam(name = "lastOnlineTime") LocalDateTime lastOnlineTime);
@RequestParam(name = "tenantId") Integer tenantId);
@PostMapping("/device_stop")
String onDeviceStop(@RequestParam(name = "deviceId") String deviceId,

View File

@ -109,7 +109,7 @@ public class D331RtcmMessageExecutor implements Executor<D331RtcmMessage, Void>
ThreadManager.getFixedThreadPool().submit(() -> {
// 通知上线
try {
beidouClient.onDeviceActive(deviceBs.getDeviceId(), deviceBs.getTenantId(),lastCycleDevice.getLastRxTime());
beidouClient.onDeviceActive(deviceBs.getDeviceId(), deviceBs.getTenantId());
} catch (Exception e) {
logger.error(e.toString());
}

View File

@ -64,7 +64,7 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
ThreadManager.getFixedThreadPool().submit(() -> {
// 通知上线
try {
beidouClient.onDeviceActive(device.getDeviceId(), device.getTenantId(),lastCycleDevice.getLastRxTime());
beidouClient.onDeviceActive(device.getDeviceId(), device.getTenantId());
} catch (Exception e) {
}

View File

@ -82,8 +82,7 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
beidouClient.onLine(lastGnssStatus.getDeviceid(),
lastGnssStatus.getTenantid(), lastGnssStatus.getUpdatetime());
} else {
beidouClient.onDeviceActive(message.getId(), device.getTenantId(),
(lastGnssStatus==null)?null:lastGnssStatus.getUpdatetime());
beidouClient.onDeviceActive(message.getId(), device.getTenantId());
}
}
catch (Exception e){

View File

@ -15,7 +15,7 @@ import java.time.LocalDateTime;
@Controller
public class APIController extends BasicController{
final String getWorkCycleCmd = "d3120005009034D301";
final String getWorkCycleCmd = "d3120005";
SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
@Autowired
RtcmClient rtcmClient;
@ -113,7 +113,10 @@ public class APIController extends BasicController{
@PostMapping(value = "/api/device_online")
@ResponseBody
public String onLine(String deviceId, Integer tenantId, LocalDateTime lastOnlineTime) {
onDeviceActive(deviceId,tenantId,lastOnlineTime);
onDeviceActive(deviceId,tenantId);
// 检查参数一致性
rtcmClient.config(deviceId, getWorkCycleCmd+
HexUtil.Int2HexString(Integer.parseInt(deviceId))+"01");
// 检查是否自动补传
GnssDevice device = deviceMapper.queryByDeviceId(deviceId);
@ -147,7 +150,7 @@ public class APIController extends BasicController{
/****** device active *******/
@PostMapping(value = "/api/device_active")
@ResponseBody
public String onDeviceActive(String deviceId, Integer tenantId, LocalDateTime lastOnlineTime) {
public String onDeviceActive(String deviceId, Integer tenantId) {
// 检查有没有待配置的参数
GnssDevice device = deviceMapper.queryByDeviceId(deviceId);
@ -180,13 +183,6 @@ public class APIController extends BasicController{
saveMsg(deviceId, tenantId,cacheCmd.getMsgtype(), cacheCmd.getCmd(), true);
}
// 检查参数一致性
if(lastOnlineTime!=null){
if(lastOnlineTime.isBefore(LocalDateTime.now().minusMinutes(50))){
rtcmClient.config(deviceId, getWorkCycleCmd);
}
}
// 检查iccid
checkAndAskICCID(device);

View File

@ -99,7 +99,7 @@ public class GnssStatusController extends BasicController implements CommonExcel
public MPJQueryWrapper<GnssStatus> prepareQueryWrapper() {
return new MPJQueryWrapper<GnssStatus>()
.selectAll(GnssStatus.class)
.select("d.devicetype as devicetype,d.remark as remark")
.select("d.devicetype as devicetype,d.remark as remark,d.iccid as iccid")
.leftJoin("gnssdevices d on t.deviceid = d.deviceid")
.orderByDesc("t.updatetime");
}