Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8c19f16b
由
LN
编写于
2022-02-15 16:57:50 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加设备上线离线消息
1 个父辈
ba3edcd9
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
141 行增加
和
17 行删除
src/main/java/com/neotel/smfcore/common/init/MainTimer.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/language/util/LanguageMsgService.java
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/common/init/MainTimer.java
查看文件 @
8c19f16
...
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.common.init;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.system.service.manager.IDataLogManager
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -58,6 +59,9 @@ public class MainTimer {
private
void
timerTask
(){
try
{
liteOrderCache
.
runTimer
();
//设备状态判断
DevicesStatusUtil
.
runTimer
();
}
catch
(
Exception
e
){
log
.
error
(
"定时器执行出错"
,
e
);
}
finally
{
...
...
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
8c19f16
...
...
@@ -98,6 +98,11 @@ public class StatusBean {
private
long
lastSaveTime
=
System
.
currentTimeMillis
();
/**
* 离线时间,用于判断是否已经处理过离线
*/
private
long
offlineTime
=-
1
;
/**
* 获取已经结束(缓存中存在,但新的报警列表不存在)的报警列表,同时将新的报警加入到缓存中
*/
public
List
<
AlarmInfo
>
getEndAlarmList
(
String
storageName
,
List
<
AlarmInfo
>
newAlarmList
){
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
8c19f16
...
...
@@ -23,6 +23,7 @@ import com.neotel.smfcore.core.device.enums.OP;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.handler.IDeviceHandler
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.message.util.DeviceMessageUtil
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
...
...
@@ -706,14 +707,25 @@ public class BaseDeviceHandler implements IDeviceHandler {
*/
protected
void
handleMsg
(
StatusBean
statusBean
)
{
try
{
//判断是否刚刚上线
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
statusBean
.
getCid
());
if
(
bean
==
null
||
bean
.
getBoxStatus
()
==
null
)
{
DeviceMessageUtil
.
addOnlineMessage
(
statusBean
.
getCid
(),
""
,
statusBean
.
getClientIp
());
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
""
,
""
,
""
,
null
);
}
else
if
(
bean
.
timeOut
()
&&
(
bean
.
getOfflineTime
()
>
-
1
))
{
DeviceMessageUtil
.
addOnlineMessage
(
statusBean
.
getCid
(),
""
,
statusBean
.
getClientIp
());
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
""
,
""
,
""
,
null
);
}
//展示到界面
String
msg
=
statusBean
.
getMsg
();
String
msgEn
=
statusBean
.
getMsgEn
();
String
msgCode
=
statusBean
.
getMsgCode
();
String
msgCode
=
statusBean
.
getMsgCode
();
if
(
ObjectUtil
.
isNotEmpty
(
msg
)||
ObjectUtil
.
isNotEmpty
(
msgCode
)){
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
msgCode
,
msg
,
msgEn
,
statusBean
.
getMsgParam
());
}
//
if(ObjectUtil.isNotEmpty(msg)||ObjectUtil.isNotEmpty(msgCode)){
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
msgCode
,
msg
,
msgEn
,
statusBean
.
getMsgParam
());
//
}
}
catch
(
Exception
e
)
{
log
.
error
(
"客户端故障消息处理出错"
,
e
);
}
...
...
src/main/java/com/neotel/smfcore/core/language/util/LanguageMsgService.java
查看文件 @
8c19f16
...
...
@@ -69,18 +69,18 @@ public class LanguageMsgService {
return
resourceMap
;
}
public
String
getResourcesPath
()
{
String
filePath
=
System
.
getProperty
(
"user.dir"
);
log
.
info
(
"user.dir="
+
filePath
);
// "\\WEB-INF\\classes\\META-INF\\resources";
// user.dir=C:\Program Files\Apache Software Foundation\Tomcat 9.0
// C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\smf-core\WEB-INF\classes\META-INF\resources
if
(
filePath
.
toLowerCase
().
contains
(
"tomcat"
)){
return
filePath
+
"\\webapps\\smf-core\\WEB-INF\\classes\\META-INF\\resources"
;
}
else
{
return
filePath
+
"\\src\\main\\resources"
;
}
}
//
public String getResourcesPath() {
//
String filePath = System.getProperty("user.dir");
//
log.info("user.dir=" + filePath);
//
// "\\WEB-INF\\classes\\META-INF\\resources";
//
//
user.dir=C:\Program Files\Apache Software Foundation\Tomcat 9.0
//
//
C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\smf-core\WEB-INF\classes\META-INF\resources
//
if(filePath.toLowerCase().contains("tomcat")){
//
return filePath+"\\webapps\\smf-core\\WEB-INF\\classes\\META-INF\\resources";
//
}else{
//
return filePath + "\\src\\main\\resources";
//
}
//
}
public
void
autoImportCsvFile
(){
// String filePath = getResourcesPath();
...
...
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.java
查看文件 @
8c19f16
...
...
@@ -3,9 +3,10 @@ package com.neotel.smfcore.core.system.util;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Maps
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.message.util.DeviceMessageUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -59,6 +60,21 @@ public class DevicesStatusUtil {
clientMsg
=
""
;
clientMsgEn
=
""
;
}
//判断消息是否有内容
if
(
ObjectUtil
.
isNotEmpty
(
msgCode
)||
ObjectUtil
.
isNotEmpty
(
clientMsg
)){
boolean
newMsg
=
true
;
//和上个消息是否一样
StatusBean
msgBean
=
clientMsgs
.
get
(
cid
);
if
(
msgBean
!=
null
){
if
(
msgBean
.
getMsgCode
().
equals
(
msgCode
)||
msgBean
.
getMsg
().
equals
(
clientMsg
)){
newMsg
=
false
;
}
}
if
(
newMsg
){
DeviceMessageUtil
.
addErrorMessage
(
cid
,
""
,
msgCode
,
clientMsg
,
msgParam
);
}
}
StatusBean
statusBean
=
new
StatusBean
();
statusBean
.
setMsg
(
clientMsg
);
statusBean
.
setMsgEn
(
clientMsgEn
);
...
...
@@ -135,4 +151,24 @@ public class DevicesStatusUtil {
}
public
static
void
runTimer
()
{
try
{
if
(
statusMap
==
null
){
return
;
}
List
<
String
>
cids
=
new
ArrayList
<>(
statusMap
.
keySet
());
for
(
String
cid
:
cids
)
{
StatusBean
bean
=
getStatusBean
(
cid
);
if
(
bean
!=
null
)
{
if
(
bean
.
getOfflineTime
()
==
-
1
&&
bean
.
timeOut
())
{
bean
.
setOfflineTime
(
System
.
currentTimeMillis
());
DeviceMessageUtil
.
addOfflineMessage
(
bean
.
getCid
(),
""
);
}
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"设备状态定时器执行出错:"
,
ex
);
}
}
}
src/main/resources/messages.properties
查看文件 @
8c19f16
...
...
@@ -210,3 +210,16 @@ smfcore.user.createDate=\u521B\u5EFA\u65E5\u671F
smfcore.user.code
=
\u
542F
\u7528\u7801
smfcore.enable
=
\u
542F
\u7528
smfcore.disabled
=
\u7981\u7528
smfcore.messages.online
=
\u
4E0A
\u
7EBF
smfcore.messages.offline
=
\u
79BB
\u
7EBF
smfcore.messages.device
=
\u
8BBE
\u5907
smfcore.messages.module
=
\u
6A21
\u5757
smfcore.messages.type
=
\u
7C7B
\u
578B
smfcore.messages.createDate
=
\u
521B
\u
5EFA
\u
65F6
\u
95F4
smfcore.messages.msg
=
\u5185\u
5BB9
smfcorre.message.info
=
\u
6D88
\u
606F
smfcorre.message.warning
=
\u
8B66
\u
544A
smfcorre.message.error
=
\u9519\u
8BEF
smfcore.messages.serverStart
=
\u
670D
\u
52A1
\u5668\u
542F
\u
52A8
smfcore.message
=
\u
6D88
\u
606F
\u
67E5
\u
8BE2
smfcore.inSuddenStop
=
\u6536\u5230\u6025\u
505C
\u
4FE1
\u
53F7
\u
FF0C
\u
62A5
\u
8B66
\u6025\u
505C
\ No newline at end of file
src/main/resources/messages_en_US.properties
查看文件 @
8c19f16
...
...
@@ -210,3 +210,17 @@ smfcore.user.createDate=Create Time
smfcore.user.code
=
Enable Code
smfcore.enable
=
Enable
smfcore.disabled
=
Disable
smfcore.messages.online
=
Go Online
smfcore.messages.offline
=
Offline
smfcore.messages.device
=
Equipment
smfcore.messages.module
=
Modules
smfcore.messages.type
=
Type
smfcore.messages.createDate
=
Create Time
smfcore.messages.msg
=
Content
smfcorre.message.info
=
\u
6D88
\u
606F
smfcorre.message.warning
=
Warning
smfcorre.message.error
=
Error
smfcore.messages.serverStart
=
Server start-up
smfcore.message
=
Message Search
smfcore.inSuddenStop
=
Emergency stop signal received
\u
FF0Calarm emergency stop
src/main/resources/messages_ja_JP.properties
查看文件 @
8c19f16
...
...
@@ -210,3 +210,17 @@ smfcore.user.createDate=\u4F5C\u6210\u65E5
smfcore.user.code
=
\u
30A4
\u
30CD
\u
30FC
\u
30D6
\u
30EB
\u
30B3
\u
30FC
\u
30C9
smfcore.enable
=
\u6709\u
52B9
\u
306B
\u3059\u
308B
smfcore.disabled
=
\u7121\u
52B9
\u5316
smfcore.messages.online
=
\u
30E9
\u
30A4
\u
30D6
\u
914D
\u
4FE1
smfcore.messages.offline
=
\u
30AA
\u
30D5
\u
30E9
\u
30A4
\u
30F3
smfcore.messages.device
=
\u
30C7
\u
30D0
\u
30A4
\u
30B9
smfcore.messages.module
=
\u
30E2
\u
30B8
\u
30E5
\u
30FC
\u
30EB
smfcore.messages.type
=
\u
30BF
\u
30A4
\u
30D7
smfcore.messages.createDate
=
\u
4F5C
\u6210\u6642\u9593
smfcore.messages.msg
=
\u5185\u
5BB9
smfcorre.message.info
=
\u
30CB
\u
30E5
\u
30FC
\u
30B9
smfcorre.message.warning
=
\u
8B66
\u
544A
smfcorre.message.error
=
\u
30A8
\u
30E9
\u
30FC
smfcore.messages.serverStart
=
\u
30B5
\u
30FC
\u
30D0
\u
30FC
\u
306E
\u
8D77
\u
52D5
smfcore.message
=
\u
30E1
\u
30C3
\u
30BB
\u
30FC
\u
30B8
\u
306E
\u
304A
\u
554F
\u3044\u5408\u
308F
\u
305B
smfcore.inSuddenStop
=
\u
7DCA
\u6025\u
505C
\u
6B62
\u
4FE1
\u
53F7
\u3092\u
53D7
\u
4FE1
\u3057\u3001\u
7DCA
\u6025\u
505C
\u
6B62
\u3092\u
8B66
\u
544A
\u3057\u
307E
\u3059
src/main/resources/messages_zh_CN.properties
查看文件 @
8c19f16
...
...
@@ -210,3 +210,16 @@ smfcore.user.createDate=\u521B\u5EFA\u65E5\u671F
smfcore.user.code
=
\u
542F
\u7528\u7801
smfcore.enable
=
\u
542F
\u7528
smfcore.disabled
=
\u7981\u7528
smfcore.messages.online
=
\u
8BBE
\u5907\u
4E0A
\u
7EBF
smfcore.messages.offline
=
\u
8BBE
\u5907\u
79BB
\u
7EBF
smfcore.messages.device
=
\u
8BBE
\u5907
smfcore.messages.module
=
\u
6A21
\u5757
smfcore.messages.type
=
\u
7C7B
\u
578B
smfcore.messages.createDate
=
\u
521B
\u
5EFA
\u
65F6
\u
95F4
smfcore.messages.msg
=
\u5185\u
5BB9
smfcorre.message.info
=
\u
6D88
\u
606F
smfcorre.message.warning
=
\u
8B66
\u
544A
smfcorre.message.error
=
\u9519\u
8BEF
smfcore.messages.serverStart
=
\u
670D
\u
52A1
\u5668\u
542F
\u
52A8
smfcore.message
=
\u
6D88
\u
606F
\u
67E5
\u
8BE2
smfcore.inSuddenStop
=
\u6536\u5230\u6025\u
505C
\u
4FE1
\u
53F7
\u
FF0C
\u
62A5
\u
8B66
\u6025\u
505C
src/main/resources/messages_zh_TW.properties
查看文件 @
8c19f16
...
...
@@ -210,3 +210,16 @@ smfcore.user.createDate=\u5275\u5EFA\u65E5\u671F
smfcore.user.code
=
\u
555F
\u7528\u
55CE
smfcore.enable
=
\u
555F
\u7528
smfcore.disabled
=
\u7981\u7528
smfcore.messages.online
=
\u
8A2D
\u5099\u
4E0A
\u
7DDA
smfcore.messages.offline
=
\u
8A2D
\u5099\u
96E2
\u
7DDA
smfcore.messages.device
=
\u
8A2D
\u5099
smfcore.messages.module
=
\u
6A21
\u
584A
smfcore.messages.type
=
\u
985E
\u
578B
smfcore.messages.createDate
=
\u5275\u
5EFA
\u6642\u9593
smfcore.messages.msg
=
\u5167\u
5BB9
smfcorre.message.info
=
\u
6D88
\u
606F
smfcorre.message.warning
=
\u
8B66
\u
544A
smfcorre.message.error
=
\u
932F
\u
8AA4
smfcore.messages.serverStart
=
\u
670D
\u
52D9
\u5668\u
555F
\u
52D5
smfcore.message
=
\u
6D88
\u
606F
\u
67E5
\u
8A62
smfcore.inSuddenStop
=
\u6536\u5230\u6025\u
505C
\u
4FE1
\u
865F
\u
FF0C
\u5831\u
8B66
\u6025\u
505C
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论