diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java index eec4f39c..dce8061c 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/APIController.java @@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.ResponseBody; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.List; +import java.util.Timer; +import java.util.TimerTask; @Controller public class APIController extends BasicController { @@ -170,12 +172,21 @@ public class APIController extends BasicController { GnssDevice device = deviceMapper.queryByDeviceId(deviceId); if (device == null) return null; + Timer timerSyn = new Timer(); + int delay = 500; + if (!device.getSyn()) { GnssGroup gnssGroup = groupMapper.selectById(device.getGroup_id()); if (gnssGroup != null) { String config = gnssGroup.getConfigCmd(device); if (config != null) { - rtcmClient.config(deviceId, config); + timerSyn.schedule(new TimerTask() { + @Override + public void run() { + rtcmClient.config(deviceId, config); + } + },delay); + delay += 1000; // 保存 saveMsg(deviceId, tenantId, 0xd311, config, true); } @@ -183,7 +194,13 @@ public class APIController extends BasicController { } List deviceCmds = device.getConfigCmd(); for(String deviceCmd:deviceCmds){ - rtcmClient.config(deviceId, deviceCmd); + timerSyn.schedule(new TimerTask() { + @Override + public void run() { + rtcmClient.config(deviceId, deviceCmd); + } + },delay); + delay += 1000; // 保存 saveMsg(deviceId, tenantId, 0xd312, deviceCmd, true); @@ -196,7 +213,13 @@ public class APIController extends BasicController { queryWrapper.last("limit 1"); DeviceCacheCmd cacheCmd = cacheCmdMapper.selectOne(queryWrapper); if (cacheCmd != null) { - rtcmClient.config(deviceId, cacheCmd.getCmd()); + timerSyn.schedule(new TimerTask() { + @Override + public void run() { + rtcmClient.config(deviceId, cacheCmd.getCmd()); + } + },delay); + delay += 1000; cacheCmd.setSyn(true); cacheCmd.setUpdatetime(LocalDateTime.now()); cacheCmdMapper.updateById(cacheCmd); @@ -205,7 +228,12 @@ public class APIController extends BasicController { } // 检查iccid - checkAndAskICCID(device); + timerSyn.schedule(new TimerTask() { + @Override + public void run() { + checkAndAskICCID(device); + } + },delay); return null; } diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java index 6374c025..72d410e5 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java @@ -253,6 +253,7 @@ public class GnssDeviceController extends BasicController{ device.setUpdateuser(getLoginUser(session)); device.setUpdatetime(old_device.getUpdatetime()); device.setSyn(old_device.getSyn()); + device.setChange_flag(old_device.getChange_flag()); String diff=ObjUtil.compare(old_device,device); if(!diff.isEmpty()) { opLogManager.addLog(getLoginUser(session), getTenantId(session),