Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
5894695d
Commit
5894695d
authored
Jan 24, 2024
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
设备监控警柜demo
parent
bbe3f593
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
58 行增加
和
6 行删除
+58
-6
WsCabinetReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/util/WsCabinetReq.java
+29
-0
Cabinet.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Cabinet.java
+4
-0
CabinetWebSocketServer.java
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/CabinetWebSocketServer.java
+23
-5
application-local.yml
jyzb-boot/src/main/resources/application-local.yml
+1
-0
application.yml
jyzb-boot/src/main/resources/application.yml
+1
-1
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/util/WsCabinetReq.java
0 → 100644
View file @
5894695d
package
com
.
junmp
.
jyzb
.
api
.
util
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
WsCabinetReq
{
@JsonProperty
(
"serialNum"
)
private
String
serialNum
;
@JsonProperty
(
"boxList"
)
private
List
<
Box
>
boxList
;
// 内部类表示box
public
static
class
Box
{
@JsonProperty
(
"boxNum"
)
private
String
boxNum
;
@JsonProperty
(
"state"
)
private
int
state
;
// getters and setters
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Cabinet.java
View file @
5894695d
...
...
@@ -125,6 +125,10 @@ public class Cabinet implements Serializable {
@ApiModelProperty
(
value
=
"箱数"
)
private
Integer
num
;
@ApiModelProperty
(
value
=
"socket连接信息"
)
@TableField
(
"channel_id"
)
private
String
channelId
;
@TableField
(
exist
=
false
)
private
String
policeName
;
@TableField
(
exist
=
false
)
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/CabinetWebSocketServer.java
View file @
5894695d
...
...
@@ -6,14 +6,17 @@ import cn.hutool.core.util.StrUtil;
import
cn.hutool.extra.spring.SpringUtil
;
import
com.alibaba.fastjson2.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.junmp.iot.server.ws.WebSocketServerListener
;
import
com.junmp.iot.server.ws.impl.DefaultWebSocketServerMessage
;
import
com.junmp.iot.server.ws.impl.DefaultWebSocketServerProtocol
;
import
com.junmp.jyzb.api.util.WsCabinetReq
;
import
com.junmp.jyzb.cache.OnlineRedisCache
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.jyzb.entity.Temp.OnlineState
;
import
com.junmp.jyzb.service.CabinetService
;
import
com.junmp.jyzb.service.impl.CabinetServiceImpl
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.v2.ws.api.enums.ClientMsgType
;
import
com.junmp.v2.ws.api.enums.ServerMsgType
;
import
com.junmp.v2.ws.api.enums.SysMsgTypeEnum
;
...
...
@@ -24,6 +27,7 @@ import com.junmp.v2.ws.channel.WsSessionContainer;
import
com.junmp.v2.ws.message.WsMessageHandle
;
import
com.junmp.v2.ws.session.WsSessionHandle
;
import
io.jsonwebtoken.JwtException
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -44,25 +48,39 @@ import java.time.Instant;
public
class
CabinetWebSocketServer
implements
WebSocketServerListener
{
@Resource
public
CabinetService
cabinetService
;
@Override
public
String
uri
()
{
return
"/cabinet/ws"
;
}
@SneakyThrows
@Override
public
void
onText
(
DefaultWebSocketServerProtocol
protocol
)
{
String
text
=
protocol
.
readText
();
log
.
info
(
"[接收客户端({})指令]|指令内容:{}"
,
protocol
.
getEquipCode
(),
text
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
WsCabinetReq
boxData
=
objectMapper
.
readValue
(
text
,
WsCabinetReq
.
class
);
String
channel
=
protocol
.
requestMessage
().
getChannelId
();
Cabinet
cabinet
=
cabinetService
.
getOne
(
new
LambdaQueryWrapper
<
Cabinet
>()
.
eq
(
Cabinet:
:
getCabinetNum
,
text
));
.
eq
(
Cabinet:
:
getCabinetNum
,
boxData
.
getSerialNum
()
));
cabinet
.
setOnlineState
(
1
);
cabinet
.
setUpdateTime
(
DateTime
.
now
());
DefaultWebSocketServerMessage
message
=
protocol
.
requestMessage
();
protocol
.
response
(
text
);
cabinet
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
cabinet
.
setChannelId
(
channel
);
cabinetService
.
updateById
(
cabinet
);
protocol
.
response
(
"true"
);
}
@Override
public
void
onClose
(
DefaultWebSocketServerProtocol
protocol
)
{
String
channel
=
protocol
.
requestMessage
().
getChannelId
();
Cabinet
cabinet
=
cabinetService
.
getOne
(
new
LambdaQueryWrapper
<
Cabinet
>()
.
eq
(
Cabinet:
:
getChannelId
,
channel
));
cabinet
.
setOnlineState
(
0
);
cabinet
.
setChannelId
(
""
);
cabinet
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
cabinetService
.
updateById
(
cabinet
);
WebSocketServerListener
.
super
.
onClose
(
protocol
);
}
...
...
jyzb-boot/src/main/resources/application-local.yml
View file @
5894695d
...
...
@@ -10,6 +10,7 @@ thing:
server
:
websocket
:
start
:
true
# 配置第三方请求
junmp
:
swagger
:
...
...
jyzb-boot/src/main/resources/application.yml
View file @
5894695d
...
...
@@ -32,7 +32,7 @@ spring:
virtual-host
:
/
profiles
:
#@spring.active@
active
:
prod
active
:
local
servlet
:
multipart
:
max-request-size
:
500MB
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论