添加砂站客户端状态显示

dev
lisai17@sina.com 2020-11-19 16:42:14 +08:00
parent 7f13f2cc11
commit 42e57adaf9
3 changed files with 33 additions and 2 deletions

View File

@ -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"; // 日销售汇总

View File

@ -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());
}
}

View File

@ -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<Record> page = SupermarketService.me.find(pp, name, del);
List<Record> 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));
}
/**