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
3c5c3bf7
Commit
3c5c3bf7
authored
Mar 03, 2024
by
李小惠
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.sothing.top/843502640/jyzb_platformV2
into develop-lxh
parents
340682d4
01b24c66
显示空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
179 行增加
和
183 行删除
+179
-183
WarehouseReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/WarehouseReq.java
+2
-1
JYZBConstant.java
jyzb-api/src/main/java/com/junmp/jyzb/api/constant/JYZBConstant.java
+4
-0
WsWarehouseReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/util/WsWarehouseReq.java
+41
-0
DeviceRedisCache.java
jyzb-biz/src/main/java/com/junmp/jyzb/cache/DeviceRedisCache.java
+19
-0
WarehouseController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/WarehouseController.java
+6
-1
WarehouseService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/WarehouseService.java
+7
-1
CabinetServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/CabinetServiceImpl.java
+0
-25
WarehouseServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/WarehouseServiceImpl.java
+25
-1
WarehouseWebSocketServer.java
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/WarehouseWebSocketServer.java
+56
-135
Base64Test.java
jyzb-biz/src/test/java/com/junmp/police/test/Base64Test.java
+0
-16
JyzbBootApplication.java
jyzb-boot/src/main/java/com/junmp/jyzb/boot/JyzbBootApplication.java
+12
-1
application-local.yml
jyzb-boot/src/main/resources/application-local.yml
+1
-1
application-prod.yml
jyzb-boot/src/main/resources/application-prod.yml
+5
-1
FlowTaskServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowTaskServiceImpl.java
+1
-0
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/WarehouseReq.java
View file @
3c5c3bf7
...
@@ -15,7 +15,8 @@ import java.util.Date;
...
@@ -15,7 +15,8 @@ import java.util.Date;
public
class
WarehouseReq
extends
BaseRequest
{
public
class
WarehouseReq
extends
BaseRequest
{
@NotBlank
(
message
=
"仓库主键不能为空"
,
groups
=
{
updateStatus
.
class
,
delete
.
class
,
detail
.
class
})
@NotBlank
(
message
=
"仓库主键不能为空"
,
groups
=
{
updateStatus
.
class
,
delete
.
class
,
detail
.
class
})
private
String
id
;
private
String
id
;
//查询仓库设备时使用
private
String
warehouseId
;
private
String
name
;
private
String
name
;
private
String
location
;
private
String
location
;
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/constant/JYZBConstant.java
View file @
3c5c3bf7
...
@@ -40,6 +40,10 @@ public interface JYZBConstant {
...
@@ -40,6 +40,10 @@ public interface JYZBConstant {
* 设备状态前缀
* 设备状态前缀
*/
*/
String
JYZB_ONLINE_PREFIX
=
"onlineState:"
;
String
JYZB_ONLINE_PREFIX
=
"onlineState:"
;
/**
* 设备状态前缀
*/
String
JYZB_DEVICE_PREFIX
=
"device:"
;
String
JYZB_JWT_KEY
=
"JWT"
;
String
JYZB_JWT_KEY
=
"JWT"
;
// String MINIO_ENDPOINT="http://192.168.3.121:9090";
// String MINIO_ENDPOINT="http://192.168.3.121:9090";
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/util/WsWarehouseReq.java
0 → 100644
View file @
3c5c3bf7
package
com
.
junmp
.
jyzb
.
api
.
util
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
WsWarehouseReq
{
@JsonProperty
(
"deviceId"
)
private
String
deviceId
;
@JsonProperty
(
"orgId"
)
private
String
orgId
;
@JsonProperty
(
"onlineState"
)
private
String
onlineState
;
@JsonProperty
(
"warehouseId"
)
private
String
warehouseId
;
@JsonProperty
(
"warehouseDevs"
)
private
List
<
warehouseDevs
>
warehouseDevs
;
@Data
// 内部类表示box
public
static
class
warehouseDevs
{
@JsonProperty
(
"devId"
)
private
String
devId
;
@JsonProperty
(
"devIP"
)
private
String
devIP
;
@JsonProperty
(
"devName"
)
private
String
devName
;
@JsonProperty
(
"devState"
)
private
String
devState
;
@JsonProperty
(
"devType"
)
private
String
devType
;
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/cache/DeviceRedisCache.java
0 → 100644
View file @
3c5c3bf7
package
com
.
junmp
.
jyzb
.
cache
;
import
com.junmp.jyzb.api.constant.JYZBConstant
;
import
com.junmp.v2.cache.AbstractRedisCache
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
@Component
public
class
DeviceRedisCache
extends
AbstractRedisCache
<
String
>
{
public
DeviceRedisCache
(
RedisTemplate
<
String
,
String
>
redisTemplate
)
{
super
(
redisTemplate
);
}
@Override
public
String
getCommonKeyPrefix
()
{
return
JYZBConstant
.
JYZB_DEVICE_PREFIX
;
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/controller/WarehouseController.java
View file @
3c5c3bf7
...
@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq;
...
@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.WarehouseReq;
import
com.junmp.jyzb.api.bean.req.UpdateShelfReq
;
import
com.junmp.jyzb.api.bean.req.UpdateShelfReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseReq
;
import
com.junmp.jyzb.api.util.WsWarehouseReq
;
import
com.junmp.jyzb.cache.TemperatureRedisCache
;
import
com.junmp.jyzb.cache.TemperatureRedisCache
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.entity.Temp.HumidityAndtemperature
;
import
com.junmp.jyzb.entity.Temp.HumidityAndtemperature
;
...
@@ -50,7 +51,11 @@ public class WarehouseController {
...
@@ -50,7 +51,11 @@ public class WarehouseController {
return
ApiRes
.
success
(
warehouseService
.
AddWarehouse
(
req
));
return
ApiRes
.
success
(
warehouseService
.
AddWarehouse
(
req
));
}
}
@PostMapping
(
path
=
"/CheckState"
,
name
=
"查询仓库设备状态"
)
@ApiOperation
(
"添加仓库"
)
public
ApiRes
<
WsWarehouseReq
>
CheckState
(
@RequestBody
@Validated
(
ValidationApi
.
add
.
class
)
WarehouseReq
req
)
{
return
ApiRes
.
success
(
warehouseService
.
CheckState
(
req
));
}
@PostMapping
(
path
=
"/DeleteWarehouse"
,
name
=
"删除仓库信息#logType=30"
)
@PostMapping
(
path
=
"/DeleteWarehouse"
,
name
=
"删除仓库信息#logType=30"
)
@ApiOperation
(
"删除仓库信息"
)
@ApiOperation
(
"删除仓库信息"
)
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/WarehouseService.java
View file @
3c5c3bf7
...
@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
...
@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import
com.junmp.jyzb.api.bean.query.WarehouseReq
;
import
com.junmp.jyzb.api.bean.query.WarehouseReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseReq
;
import
com.junmp.jyzb.api.bean.req.UpdateWarehouseReq
;
import
com.junmp.jyzb.api.bean.req.WarrantyReq
;
import
com.junmp.jyzb.api.bean.req.WarrantyReq
;
import
com.junmp.jyzb.api.util.WsWarehouseReq
;
import
com.junmp.jyzb.entity.Supplier
;
import
com.junmp.jyzb.entity.Supplier
;
import
com.junmp.jyzb.entity.Temp.HumidityAndtemperature
;
import
com.junmp.jyzb.entity.Temp.HumidityAndtemperature
;
import
com.junmp.jyzb.entity.Warehouse
;
import
com.junmp.jyzb.entity.Warehouse
;
...
@@ -20,7 +21,12 @@ import java.util.Map;
...
@@ -20,7 +21,12 @@ import java.util.Map;
public
interface
WarehouseService
extends
IService
<
Warehouse
>
{
public
interface
WarehouseService
extends
IService
<
Warehouse
>
{
//ResponseResult addWarehouse(Map<String, Object> msg);
/**
* 查询状态
*
* @param req
*/
WsWarehouseReq
CheckState
(
WarehouseReq
req
);
/**
/**
* 新增
* 新增
*
*
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/CabinetServiceImpl.java
View file @
3c5c3bf7
...
@@ -44,35 +44,10 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
...
@@ -44,35 +44,10 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
private
PubOrgService
pubOrgService
;
private
PubOrgService
pubOrgService
;
@Resource
@Resource
private
CabinetBoxService
cabinetBoxService
;
private
CabinetBoxService
cabinetBoxService
;
@Resource
private
PolicemanService
policemanService
;
@Resource
private
CabinetBoxPoliceService
cabinetBoxPoliceService
;
@Resource
private
CabinetBoxPoliceMapper
cabinetBoxPoliceMapper
;
@Autowired
@Autowired
private
RabbitMQSendMsg
MQ
;
private
RabbitMQSendMsg
MQ
;
private
List
<
Long
>
getAllOrgId
(
CabinetReq
req
,
String
includeLowerLevel
)
{
List
<
Long
>
allOrg
=
new
ArrayList
<>();
if
(
includeLowerLevel
.
equals
(
"false"
))
{
allOrg
.
add
(
req
.
getOrgId
());
}
else
if
(
includeLowerLevel
.
equals
(
"true"
))
{
//查询某组织机构的本级及下级
allOrg
=
pubOrgService
.
getLowerOrg
(
req
.
getOrgId
());
}
return
allOrg
;
}
private
List
<
Cabinet
>
getAllCabinetByOrg
(
List
<
Long
>
allOrgId
)
{
List
<
Cabinet
>
allCabinet
=
new
ArrayList
<>();
allCabinet
=
cabinetMapper
.
getAllCabinetByOrgList
(
allOrgId
);
return
allCabinet
;
}
/**
/**
* 添加单警柜
* 添加单警柜
*
*
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/WarehouseServiceImpl.java
View file @
3c5c3bf7
...
@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl;
...
@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -18,6 +19,8 @@ import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
...
@@ -18,6 +19,8 @@ import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import
com.junmp.jyzb.api.bean.req.WarrantyReq
;
import
com.junmp.jyzb.api.bean.req.WarrantyReq
;
import
com.junmp.jyzb.api.bean.vo.InOrderInfoVo
;
import
com.junmp.jyzb.api.bean.vo.InOrderInfoVo
;
import
com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum
;
import
com.junmp.jyzb.api.util.WsWarehouseReq
;
import
com.junmp.jyzb.cache.DeviceRedisCache
;
import
com.junmp.jyzb.cache.TemperatureRedisCache
;
import
com.junmp.jyzb.cache.TemperatureRedisCache
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum
;
...
@@ -63,12 +66,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
...
@@ -63,12 +66,33 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
@Autowired
@Autowired
private
RabbitMQSendMsg
MQ
;
private
RabbitMQSendMsg
MQ
;
@Resource
private
DeviceRedisCache
redisCache
;
@Resource
@Resource
private
OfficeExcelApi
officeExcelApi
;
private
OfficeExcelApi
officeExcelApi
;
@Override
public
WsWarehouseReq
CheckState
(
WarehouseReq
req
)
{
WsWarehouseReq
warehouseReq
=
new
WsWarehouseReq
();
String
deviceData
=
redisCache
.
get
(
req
.
getWarehouseId
());
if
(
ObjectUtil
.
isNull
(
deviceData
))
{
warehouseReq
.
setWarehouseId
(
req
.
getWarehouseId
());
warehouseReq
.
setOnlineState
(
"false"
);
}
else
{
warehouseReq
.
setOnlineState
(
"true"
);
warehouseReq
=
JSON
.
parseObject
(
deviceData
,
WsWarehouseReq
.
class
);
}
return
warehouseReq
;
}
@Override
@Override
public
String
AddWarehouse
(
UpdateWarehouseReq
req
)
{
public
String
AddWarehouse
(
UpdateWarehouseReq
req
)
{
List
<
Warehouse
>
list
=
list
(
new
LambdaQueryWrapper
<
Warehouse
>().
eq
(
Warehouse:
:
getName
,
req
.
getName
()));
List
<
Warehouse
>
list
=
list
(
new
LambdaQueryWrapper
<
Warehouse
>().
eq
(
Warehouse:
:
getName
,
req
.
getName
()));
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/WarehouseWebSocketServer.java
View file @
3c5c3bf7
...
@@ -8,10 +8,18 @@ import com.alibaba.fastjson2.JSON;
...
@@ -8,10 +8,18 @@ import com.alibaba.fastjson2.JSON;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.junmp.iot.server.ws.WebSocketServerListener
;
import
com.junmp.iot.server.ws.impl.DefaultWebSocketServerProtocol
;
import
com.junmp.junmpProcess.redis.FlowRedisCache
;
import
com.junmp.jyzb.api.util.WsCabinetReq
;
import
com.junmp.jyzb.api.util.WsWarehouseReq
;
import
com.junmp.jyzb.cache.DeviceRedisCache
;
import
com.junmp.jyzb.cache.OnlineRedisCache
;
import
com.junmp.jyzb.cache.OnlineRedisCache
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.jyzb.entity.CabinetBox
;
import
com.junmp.jyzb.entity.Temp.OnlineState
;
import
com.junmp.jyzb.entity.Temp.OnlineState
;
import
com.junmp.jyzb.service.CabinetService
;
import
com.junmp.jyzb.service.CabinetService
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.v2.ws.api.enums.ClientMsgType
;
import
com.junmp.v2.ws.api.enums.ClientMsgType
;
import
com.junmp.v2.ws.api.enums.ServerMsgType
;
import
com.junmp.v2.ws.api.enums.ServerMsgType
;
import
com.junmp.v2.ws.api.enums.SysMsgTypeEnum
;
import
com.junmp.v2.ws.api.enums.SysMsgTypeEnum
;
...
@@ -22,6 +30,8 @@ import com.junmp.v2.ws.channel.WsSessionContainer;
...
@@ -22,6 +30,8 @@ import com.junmp.v2.ws.channel.WsSessionContainer;
import
com.junmp.v2.ws.message.WsMessageHandle
;
import
com.junmp.v2.ws.message.WsMessageHandle
;
import
com.junmp.v2.ws.session.WsSessionHandle
;
import
com.junmp.v2.ws.session.WsSessionHandle
;
import
io.jsonwebtoken.JwtException
;
import
io.jsonwebtoken.JwtException
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -32,164 +42,74 @@ import javax.websocket.server.PathParam;
...
@@ -32,164 +42,74 @@ import javax.websocket.server.PathParam;
import
javax.websocket.server.ServerEndpoint
;
import
javax.websocket.server.ServerEndpoint
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.Instant
;
import
java.time.Instant
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.stream.Collectors
;
@Component
@Component
@S
erverEndpoint
(
"/warehouse/{data}"
)
@S
lf4j
public
class
WarehouseWebSocketServer
{
public
class
WarehouseWebSocketServer
implements
WebSocketServerListener
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
com
.
junmp
.
v2
.
ws
.
server
.
ScreenWebSocketServer
.
class
);
//
private static final Logger log = LoggerFactory.getLogger(com.junmp.v2.ws.server.ScreenWebSocketServer.class);
@Resource
@Resource
public
CabinetService
cabinetService
;
public
CabinetService
cabinetService
;
@Resource
@Resource
private
OnlineRedisCache
onlineR
edisCache
;
private
DeviceRedisCache
r
edisCache
;
public
WarehouseWebSocketServer
()
{
@Override
public
String
uri
()
{
return
"/device/ws"
;
}
}
@OnOpen
@SneakyThrows
public
void
onOpen
(
Session
session
,
@PathParam
(
"data"
)
String
data
)
{
@Override
String
userId
=
null
;
public
void
onText
(
DefaultWebSocketServerProtocol
protocol
)
{
try
{
// 获取当前时间的时间戳
Instant
now
=
Instant
.
now
();
// 转换为long类型
long
timestamp
=
now
.
toEpochMilli
();
Cabinet
cabinet
=
cabinetService
.
getOne
(
new
LambdaQueryWrapper
<
Cabinet
>()
.
eq
(
Cabinet:
:
getCabinetNum
,
data
));
cabinet
.
setOnlineState
(
1
);
cabinet
.
setUpdateTime
(
DateTime
.
now
());
// cabinetService.updateById(cabinet);
// //将数据放入redis
// onlineRedisCache.addSessionValue(session.getId(),type,typeId,timestamp);
}
catch
(
JwtException
var15
)
{
log
.
error
(
"建立连接异常>>"
+
var15
.
getMessage
());
try
{
session
.
close
();
log
.
warn
(
"因连接失败,会话自动关闭"
);
}
catch
(
IOException
var14
)
{
var14
.
printStackTrace
();
log
.
error
(
"会话关闭异常>>"
+
var14
.
getMessage
());
}
}
WsSessionContainer
wsContainer
=
new
WsSessionContainer
(
session
);
WsSession
<
WsSessionContainer
>
socketSession
=
new
WsSession
();
WsMsgDto
replyMsg
=
new
WsMsgDto
();
boolean
var13
=
false
;
try
{
try
{
var13
=
true
;
replyMsg
.
setServerMsgType
(
ServerMsgType
.
REPLY_MSG_TYPE
.
getCode
());
// replyMsg.setToUserId(userId);
replyMsg
.
setData
(
session
.
getId
());
socketSession
.
setSessionId
(
session
.
getId
());
socketSession
.
setUserId
(
userId
);
socketSession
.
setWsApi
(
wsContainer
);
socketSession
.
setToken
(
data
);
// socketSession.setData();
socketSession
.
setConnectionTime
(
System
.
currentTimeMillis
());
WsSessionHandle
.
addWsSession
(
socketSession
);
var13
=
false
;
}
finally
{
if
(
var13
)
{
wsContainer
.
writeAndFlush
(
replyMsg
);
WsCallbackApi
wsCallbackApi
=
WsMessageHandle
.
getWsCallback
(
SysMsgTypeEnum
.
LISTENER_ON_OPEN
.
getCode
());
if
(
ObjectUtil
.
isNotEmpty
(
wsCallbackApi
))
{
wsCallbackApi
.
callback
(
SysMsgTypeEnum
.
LISTENER_ON_OPEN
.
getCode
(),
(
Object
)
null
,
socketSession
);
}
log
.
info
(
"已建立连接"
);
}
}
wsContainer
.
writeAndFlush
(
replyMsg
);
WsCallbackApi
wsCallbackApi
=
WsMessageHandle
.
getWsCallback
(
SysMsgTypeEnum
.
LISTENER_ON_OPEN
.
getCode
());
if
(
ObjectUtil
.
isNotEmpty
(
wsCallbackApi
))
{
wsCallbackApi
.
callback
(
SysMsgTypeEnum
.
LISTENER_ON_OPEN
.
getCode
(),
(
Object
)
null
,
socketSession
);
}
log
.
info
(
"已建立连接"
);
}
@OnMessage
String
text
=
protocol
.
readText
();
public
void
onMessage
(
String
message
,
Session
channel
)
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
WsMsgDto
wsMsgDto
=
(
WsMsgDto
)
JSON
.
parseObject
(
message
,
WsMsgDto
.
class
);
WsWarehouseReq
deviceData
=
objectMapper
.
readValue
(
text
,
WsWarehouseReq
.
class
);
WsSession
<
WsSessionContainer
>
wsSession
=
WsSessionHandle
.
getSessionBySessionId
(
channel
.
getId
());
String
warehouseId
=
deviceData
.
getWarehouseId
();
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
)
&&
ClientMsgType
.
USER_HEART
.
getCode
().
equals
(
wsMsgDto
.
getClientMsgType
()))
{
String
redisExist
=
redisCache
.
get
(
warehouseId
);
log
.
info
(
StrUtil
.
format
(
"来自与客户端[{}]的心跳消息。"
,
new
Object
[]{
wsMsgDto
.
getFromUserId
()}));
if
(
redisExist
!=
null
)
//已有存在数据
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
))
{
{
wsSession
.
setLastActiveTime
(
System
.
currentTimeMillis
());
}
}
else
if
(!
ObjectUtil
.
isEmpty
(
wsMsgDto
.
getFromUserId
()))
{
String
jsonData
=
objectMapper
.
writeValueAsString
(
deviceData
);
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
))
{
redisCache
.
put
(
warehouseId
,
jsonData
);
wsSession
.
setLastActiveTime
(
System
.
currentTimeMillis
());
WsCallbackApi
callbackApi
;
if
(
ClientMsgType
.
OPEN_AI_TYPE
.
getCode
().
equals
(
wsMsgDto
.
getClientMsgType
()))
{
log
.
info
(
StrUtil
.
format
(
"来自与客户端[{}]调用OpenAi的消息。"
,
new
Object
[]{
wsMsgDto
.
getFromUserId
()}));
callbackApi
=
(
WsCallbackApi
)
SpringUtil
.
getBean
(
WsCallbackApi
.
class
);
if
(
ObjectUtil
.
isNull
(
callbackApi
))
{
log
.
warn
(
"回调WsCallbackApi未注册."
);
}
else
{
callbackApi
.
callback
(
wsMsgDto
.
getClientMsgType
(),
wsMsgDto
.
getData
(),
wsSession
);
}
}
else
{
callbackApi
=
WsMessageHandle
.
getWsCallback
(
wsMsgDto
.
getClientMsgType
());
if
(
ObjectUtil
.
isNotEmpty
(
callbackApi
))
{
callbackApi
.
callback
(
wsMsgDto
.
getClientMsgType
(),
wsMsgDto
,
wsSession
);
}
else
{
log
.
warn
(
"未知的消息类型"
);
channel
.
getAsyncRemote
().
sendText
(
"{\"serverMsgType\":\"未知的消息类型\"}"
);
}
}
}
}
else
{
String
channel
=
protocol
.
requestMessage
().
getChannelId
();
String
jsonData
=
objectMapper
.
writeValueAsString
(
deviceData
);
redisCache
.
put
(
warehouseId
,
jsonData
);
redisCache
.
put
(
channel
,
warehouseId
);
}
}
protocol
.
response
(
"true"
);
}
}
catch
(
Exception
e
)
@OnClose
public
void
onClose
(
Session
session
)
{
try
{
WsSession
<
WsSessionContainer
>
wsSession
=
WsSessionHandle
.
getSessionBySessionId
(
session
.
getId
());
WsCallbackApi
wsCallbackApi
=
WsMessageHandle
.
getWsCallback
(
SysMsgTypeEnum
.
LISTENER_ON_CLOSE
.
getCode
());
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
)
&&
ObjectUtil
.
isNotEmpty
(
wsCallbackApi
))
{
OnlineState
os
=
onlineRedisCache
.
getDataValue
(
wsSession
.
getSessionId
());
String
type
=
os
.
getType
();
String
typeId
=
os
.
getTypeId
();
if
(
type
.
equals
(
"cabinet"
))
//警柜断开连接
{
{
Cabinet
cabinet
=
cabinetService
.
getOne
(
new
LambdaQueryWrapper
<
Cabinet
>()
protocol
.
response
(
"false"
);
.
eq
(
Cabinet:
:
getCabinetNum
,
typeId
));
cabinet
.
setOnlineState
(
0
);
cabinet
.
setUpdateTime
(
DateTime
.
now
());
cabinetService
.
updateById
(
cabinet
);
onlineRedisCache
.
remove
(
wsSession
.
getSessionId
());
}
else
if
(
type
.
equals
(
"warehouse"
))
{
//仓库主机已连接
}
}
wsCallbackApi
.
callback
(
SysMsgTypeEnum
.
LISTENER_ON_CLOSE
.
getCode
(),
(
Object
)
null
,
wsSession
);
}
}
@Override
public
void
onClose
(
DefaultWebSocketServerProtocol
protocol
)
{
}
finally
{
String
channel
=
protocol
.
requestMessage
().
getChannelId
();
WsSessionHandle
.
delById
(
session
.
getId
());
String
warehouseId
=
redisCache
.
get
(
channel
);
log
.
warn
(
"会话已关闭"
);
redisCache
.
remove
(
channel
);
redisCache
.
remove
(
warehouseId
);
WebSocketServerListener
.
super
.
onClose
(
protocol
);
}
}
@Override
public
void
onBinary
(
DefaultWebSocketServerProtocol
protocol
)
{
WebSocketServerListener
.
super
.
onBinary
(
protocol
);
}
}
@OnError
public
void
onError
(
Session
session
,
Throwable
error
)
{
WsSession
<
WsSessionContainer
>
wsSession
=
WsSessionHandle
.
getSessionBySessionId
(
session
.
getId
());
WsCallbackApi
wsCallbackApi
=
WsMessageHandle
.
getWsCallback
(
SysMsgTypeEnum
.
LISTENER_ON_ERROR
.
getCode
());
if
(
ObjectUtil
.
isNotEmpty
(
wsCallbackApi
))
{
wsCallbackApi
.
callback
(
SysMsgTypeEnum
.
LISTENER_ON_ERROR
.
getCode
(),
(
Object
)
null
,
wsSession
);
}
}
}
}
\ No newline at end of file
jyzb-biz/src/test/java/com/junmp/police/test/Base64Test.java
deleted
100644 → 0
View file @
340682d4
package
com
.
junmp
.
police
.
test
;
import
org.apache.tomcat.util.digester.DocumentProperties
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Base64
;
public
class
Base64Test
{
public
static
void
main
(
String
args
[]){
// String str = "abc";
// byte[] val = str.getBytes(StandardCharsets.UTF_8);
// String base64EncodedChunk = Base64.getEncoder().encodeToString(val);
// System.out.println(base64EncodedChunk);
}
}
jyzb-boot/src/main/java/com/junmp/jyzb/boot/JyzbBootApplication.java
View file @
3c5c3bf7
package
com
.
junmp
.
jyzb
.
boot
;
package
com
.
junmp
.
jyzb
.
boot
;
import
com.junmp.jyzb.cache.DeviceRedisCache
;
import
com.junmp.v2.db.starter.JpDataSourceAutoConfiguration
;
import
com.junmp.v2.db.starter.JpDataSourceAutoConfiguration
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
...
@@ -14,6 +15,10 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry;
...
@@ -14,6 +15,10 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.Collection
;
/**
/**
* <pre>
* <pre>
*
*
...
@@ -34,7 +39,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
...
@@ -34,7 +39,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
JpDataSourceAutoConfiguration
.
class
})
JpDataSourceAutoConfiguration
.
class
})
public
class
JyzbBootApplication
extends
SpringBootServletInitializer
{
public
class
JyzbBootApplication
extends
SpringBootServletInitializer
{
@Resource
private
DeviceRedisCache
redisCache
;
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
JyzbBootApplication
.
class
,
args
);
SpringApplication
.
run
(
JyzbBootApplication
.
class
,
args
);
...
@@ -56,6 +62,11 @@ public class JyzbBootApplication extends SpringBootServletInitializer {
...
@@ -56,6 +62,11 @@ public class JyzbBootApplication extends SpringBootServletInitializer {
}
}
};
};
}
}
@PostConstruct
public
void
clearRedisCacheOnStartup
()
{
Collection
<
String
>
allKeys
=
redisCache
.
getAllKeys
();
allKeys
.
forEach
(
p
->
redisCache
.
remove
(
p
));
}
}
}
jyzb-boot/src/main/resources/application-local.yml
View file @
3c5c3bf7
...
@@ -10,7 +10,7 @@ thing:
...
@@ -10,7 +10,7 @@ thing:
server
:
server
:
websocket
:
websocket
:
start
:
true
start
:
true
port
:
10040
# 配置第三方请求
# 配置第三方请求
junmp
:
junmp
:
swagger
:
swagger
:
...
...
jyzb-boot/src/main/resources/application-prod.yml
View file @
3c5c3bf7
...
@@ -6,7 +6,11 @@ easy-es:
...
@@ -6,7 +6,11 @@ easy-es:
address
:
192.168.3.121:9200
address
:
192.168.3.121:9200
username
:
username
:
password
:
password
:
thing
:
server
:
websocket
:
start
:
true
port
:
10040
# 配置第三方请求
# 配置第三方请求
junmp
:
junmp
:
swagger
:
swagger
:
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowTaskServiceImpl.java
View file @
3c5c3bf7
...
@@ -210,6 +210,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
...
@@ -210,6 +210,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
}
String
objJson
=
redisCache
.
get
(
processInstanceId
);
String
objJson
=
redisCache
.
get
(
processInstanceId
);
redisCache
.
remove
(
processInstanceId
);
redisCache
.
remove
(
processInstanceId
);
List
<
MessageSendReq
>
msgs
=
JSONObject
.
parseArray
(
objJson
,
MessageSendReq
.
class
);
List
<
MessageSendReq
>
msgs
=
JSONObject
.
parseArray
(
objJson
,
MessageSendReq
.
class
);
if
(
CollectionUtil
.
isNotEmpty
(
msgs
)){
if
(
CollectionUtil
.
isNotEmpty
(
msgs
)){
msgs
.
forEach
(
msg
->
msgs
.
forEach
(
msg
->
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论