diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java b/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java index 7b641e1..a82c300 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java @@ -18,6 +18,7 @@ public class Const { public static final String REDIS_JSON = "json"; // redis 按 json 存储对象 public static final double DEFAULT_LGTD = 115.265535; // 默认经度 浠水县 public static final double DEFAULT_LTTD = 30.451867; // 默认维度 浠水县 + public static final long SUP_OFFLINE_TIME = 5 * 60 * 1000L; // 砂站离线时间限制,单位 毫秒 public static final String TEMP_CODE_AGGR_STAT = "SMS_205434464"; // 累计销售汇总 public static final String TEMP_CODE_DAY_STAT = "SMS_205430436"; // 日销售汇总 diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/CheckExceptionDataJob.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/CheckExceptionDataJob.java index 9490049..9f94a84 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/CheckExceptionDataJob.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/CheckExceptionDataJob.java @@ -1,5 +1,6 @@ package com.cowr.service.ssjygl.jobs; +import com.cowr.common.Const; import com.cowr.service.ssjygl.main.Config; import com.cowr.service.ssjygl.main.SvrCacheData; import com.jfinal.kit.HttpKit; @@ -30,7 +31,7 @@ public class CheckExceptionDataJob implements Job { // 五分钟以内的才进行判断,超过5分钟的,就认为是离线了 // 离线的砂站会产生正常的未同步数据 - if (nowst - st < 5 * 60 * 1000) { + if (nowst - st < Const.SUP_OFFLINE_TIME) { onlineids.add(entry.getKey().toString()); } } diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/supermarket/SupermarketController.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/supermarket/SupermarketController.java index 215ecb8..9a919d2 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/supermarket/SupermarketController.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/supermarket/SupermarketController.java @@ -1,15 +1,21 @@ package com.cowr.service.ssjygl.supermarket; +import com.cowr.common.Const; import com.cowr.common.base.BaseController; import com.cowr.common.view.PageParam; import com.cowr.common.view.Result; import com.cowr.model.Supermarket; import com.cowr.model.Sysuser; +import com.cowr.service.ssjygl.main.SvrCacheData; import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService; import com.cowr.ssjygl.supermarket.SupermarketPKValidator; import com.cowr.ssjygl.supermarket.SupermarketService; import com.cowr.ssjygl.supermarket.SupermarketValidator; import com.jfinal.aop.Before; +import com.jfinal.plugin.activerecord.Page; +import com.jfinal.plugin.activerecord.Record; + +import java.util.List; /** * Generated by COWR Mon Apr 06 09:50:28 CST 2020 @@ -44,7 +50,30 @@ public class SupermarketController extends BaseController { PageParam pp = getBean(PageParam.class, "", true); String name = get("name"); Integer del = getInt("del"); - renderJson(Result.object(SupermarketService.me.find(pp, name, del))); + + Page page = SupermarketService.me.find(pp, name, del); + List list = page.getList(); + long nowst = System.currentTimeMillis(); + + for (Record record : list) { + Integer id = record.getInt("id"); + + if (SvrCacheData.SUP_HEARTBEAT.containsKey(id)) { + Record c = SvrCacheData.SUP_HEARTBEAT.get(id); + long st = c.getLong("tm"); + + // 五分钟以内的才进行判断,超过5分钟的,就认为是离线了 + if (nowst - st < Const.SUP_OFFLINE_TIME) { + record.set("status", "在线"); + } else { + record.set("status", "离线"); + } + } else { + record.set("status", "离线"); + } + } + + renderJson(Result.object(page)); } /**