Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

xiari 11 месяцев назад
Родитель
Сommit
30791cefb9

+ 9 - 5
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/TermBusiness.java

@@ -123,22 +123,26 @@ public class TermBusiness {
         final long lTermNo = termNo.longValue();
 
         // 2. 带缓存的终端信息获取
+        long startTime = System.currentTimeMillis();
         R<TermInfo> result = this.getTermInfoByTermNo(lTermNo);
         if(R.isError(result)) {
             return R.fail(result.getMsg());
         }
         TermInfo termInfo = result.getData();
+        log.info("[设备校时]-[获取设备:{}]-[耗时: {} ms]",termNo,System.currentTimeMillis()-startTime);
         // 3. 原子化时间检查与更新
         final long currentTime = System.currentTimeMillis();
+
         final Long lastCheck = lastCheckModify.get(termNo);
 
         if (lastCheck == null || currentTime > lastCheck) {
+            lastCheckModify.put(termNo, currentTime + CACHE_EXPIRATION_MS);
             // 使用原子操作避免并发问题
-            lastCheckModify.compute(termNo, (key, oldVal) ->
-                                                (oldVal == null || currentTime > oldVal) ?
-                                                    currentTime + CACHE_EXPIRATION_MS :
-                                                    oldVal
-            );
+            //lastCheckModify.compute(termNo, (key, oldVal) ->
+            //                                    (oldVal == null || currentTime > oldVal) ?
+            //                                        currentTime + CACHE_EXPIRATION_MS :
+            //                                        oldVal
+            //);
         }
         log.info("最后校时情况,设备:{},时间:{}", termNo, lastCheckModify.get(termNo));
         // 4. 构建响应数据