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
c1549f9e
Commit
c1549f9e
authored
Jan 22, 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
30167ba0
0663c56b
全部展开
显示空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
571 行增加
和
9 行删除
+571
-9
pom.xml
jyzb-api/pom.xml
+4
-0
CabinetPoliceDto.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/CabinetPoliceDto.java
+17
-0
PoliceDetailDto.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/PoliceDetailDto.java
+19
-0
PolicemanReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/PolicemanReq.java
+1
-0
CabinetDataList.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetDataList.java
+18
-0
CabinetPolicemanReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetPolicemanReq.java
+44
-0
CabinetUploadReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetUploadReq.java
+22
-0
PoliceListReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/PoliceListReq.java
+26
-0
UpdatePolicemanReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdatePolicemanReq.java
+2
-0
OnOpenReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/wsReq/OnOpenReq.java
+26
-0
JYZBConstant.java
jyzb-api/src/main/java/com/junmp/jyzb/api/constant/JYZBConstant.java
+5
-0
UserExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/UserExceptionEnum.java
+5
-1
OnlineRedisCache.java
jyzb-biz/src/main/java/com/junmp/jyzb/cache/OnlineRedisCache.java
+71
-0
PoliceController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PoliceController.java
+33
-1
PubOrg.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/PubOrg.java
+12
-1
OnlineState.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Temp/OnlineState.java
+16
-0
PolicemanService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/PolicemanService.java
+9
-6
PolicemanServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
+0
-0
RabbitMQSendMsg.java
jyzb-biz/src/main/java/com/junmp/jyzb/utils/RabbitMQSendMsg.java
+6
-0
CustomScreenWebSocketServer.java
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/CustomScreenWebSocketServer.java
+218
-0
ActivitiConfig.java
jyzb-process/src/main/java/com/junmp/junmpProcess/config/ActivitiConfig.java
+1
-0
pom.xml
pom.xml
+16
-0
没有找到文件。
jyzb-api/pom.xml
View file @
c1549f9e
...
@@ -53,6 +53,10 @@
...
@@ -53,6 +53,10 @@
<version>
2.5.0
</version>
<version>
2.5.0
</version>
<scope>
compile
</scope>
<scope>
compile
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-annotations
</artifactId>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/CabinetPoliceDto.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CabinetPoliceDto
{
private
String
orgId
;
private
String
orgName
;
private
String
ActionUpdateTime
;
private
String
lastAction
;
private
List
<
PoliceDetailDto
>
policeList
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/PoliceDetailDto.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
PoliceDetailDto
{
private
String
id
;
private
String
name
;
private
String
finger
;
private
String
policeCode
;
private
String
photo
;
private
String
cabinetName
;
private
String
serialNum
;
private
List
<
String
>
boxList
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/PolicemanReq.java
View file @
c1549f9e
...
@@ -19,6 +19,7 @@ public class PolicemanReq extends BaseRequest {
...
@@ -19,6 +19,7 @@ public class PolicemanReq extends BaseRequest {
@NotBlank
(
message
=
"姓名不能为空"
)
@NotBlank
(
message
=
"姓名不能为空"
)
private
String
name
;
private
String
name
;
private
List
<
String
>
orgList
;
private
String
cabinetId
;
private
String
cabinetId
;
private
List
<
String
>
boxList
;
private
List
<
String
>
boxList
;
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetDataList.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
req
;
import
com.junmp.v2.common.bean.request.BaseRequest
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
CabinetDataList
{
private
String
orgId
;
List
<
PoliceListReq
>
policeList
;
}
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetPolicemanReq.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
req
;
import
com.junmp.v2.common.bean.request.BaseRequest
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.List
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
CabinetPolicemanReq
extends
BaseRequest
{
@NotBlank
(
message
=
"警员主键不能为空"
,
groups
=
{
edit
.
class
,
delete
.
class
,
detail
.
class
})
private
String
policeId
;
@NotBlank
(
message
=
"警员名字不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
name
;
private
String
cabinetOrgId
;
private
String
currentCabinetId
;
@NotNull
(
message
=
"组织机构id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
Long
orgId
;
@NotBlank
(
message
=
"警员编号不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
policeCode
;
@NotBlank
(
message
=
"人脸信息不能为空"
,
groups
=
{
detail
.
class
})
private
String
photo
;
@NotBlank
(
message
=
"主柜不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
serialNum
;
/**
* 指纹list
*/
private
String
finger
;
private
List
<
Long
>
RolesList
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetUploadReq.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
req
;
import
com.junmp.v2.common.bean.request.BaseRequest
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
CabinetUploadReq
extends
BaseRequest
{
private
String
cabinetOrgId
;
private
String
serialNum
;
private
List
<
CabinetDataList
>
dataList
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/PoliceListReq.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
req
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
PoliceListReq
{
private
String
policeID
;
private
String
policeCode
;
private
String
cabinetBoxId
;
private
String
photo
;
private
String
name
;
private
String
finger
;
// /**
// * 角色id列表
// */
private
List
<
Long
>
rolesList
;
}
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdatePolicemanReq.java
View file @
c1549f9e
...
@@ -19,7 +19,9 @@ public class UpdatePolicemanReq extends BaseRequest {
...
@@ -19,7 +19,9 @@ public class UpdatePolicemanReq extends BaseRequest {
@NotBlank
(
message
=
"警员名字不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
@NotBlank
(
message
=
"警员名字不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
name
;
private
String
name
;
private
String
cabinetOrgId
;
private
String
currentCabinetId
;
@NotNull
(
message
=
"组织机构id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
@NotNull
(
message
=
"组织机构id不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
Long
orgId
;
private
Long
orgId
;
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/wsReq/OnOpenReq.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
api
.
bean
.
req
.
wsReq
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
@Data
public
class
OnOpenReq
{
/**
*
*/
private
String
type
;
/**
*
*/
private
String
typeId
;
// 有参构造函数
public
OnOpenReq
(
@JsonProperty
(
"type"
)
String
type
,
@JsonProperty
(
"typeId"
)
String
typeId
)
{
this
.
type
=
type
;
this
.
typeId
=
typeId
;
}
}
jyzb-api/src/main/java/com/junmp/jyzb/api/constant/JYZBConstant.java
View file @
c1549f9e
...
@@ -35,5 +35,10 @@ public interface JYZBConstant {
...
@@ -35,5 +35,10 @@ public interface JYZBConstant {
*/
*/
String
JYZB_TEMP_PREFIX
=
"temp:"
;
String
JYZB_TEMP_PREFIX
=
"temp:"
;
/**
* 设备状态前缀
*/
String
JYZB_ONLINE_PREFIX
=
"onlineState:"
;
String
JYZB_JWT_KEY
=
"JWT"
;
String
JYZB_JWT_KEY
=
"JWT"
;
}
}
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/UserExceptionEnum.java
View file @
c1549f9e
...
@@ -9,7 +9,11 @@ public enum UserExceptionEnum implements IExceptionEnum {
...
@@ -9,7 +9,11 @@ public enum UserExceptionEnum implements IExceptionEnum {
/**
/**
* 账号已存在
* 账号已存在
*/
*/
USER_IS_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"账号已存在"
)
USER_IS_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"账号已存在"
),
/**
* 账号已存在
*/
POLICE_IS_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"警员已存在"
)
;
;
/**
/**
* 错误编码
* 错误编码
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/cache/OnlineRedisCache.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
cache
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.junmp.jyzb.api.constant.JYZBConstant
;
import
com.junmp.jyzb.entity.Temp.HumidityAndtemperature
;
import
com.junmp.jyzb.entity.Temp.OnlineState
;
import
com.junmp.v2.cache.AbstractRedisCache
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Set
;
@Component
public
class
OnlineRedisCache
extends
AbstractRedisCache
<
Object
>
{
public
OnlineRedisCache
(
RedisTemplate
<
String
,
Object
>
redisTemplate
)
{
super
(
redisTemplate
);
}
@Override
public
String
getCommonKeyPrefix
()
{
return
JYZBConstant
.
JYZB_ONLINE_PREFIX
;
}
public
void
addSessionValue
(
String
type
,
String
sessionId
,
String
typeId
,
long
temperature
)
{
OnlineState
data
=
new
OnlineState
();
data
.
setType
(
type
);
data
.
setTypeId
(
typeId
);
String
key
=
sessionId
;
String
jsonData
;
// 将OnlineState对象转换为JSON字符串
ObjectMapper
objectMapper
=
new
ObjectMapper
();
try
{
jsonData
=
objectMapper
.
writeValueAsString
(
data
);
}
catch
(
Exception
e
)
{
// 处理转换异常
e
.
printStackTrace
();
return
;
}
getRedisTemplate
().
opsForValue
().
set
(
key
,
jsonData
);
put
(
key
,
data
);
}
public
OnlineState
getDataValue
(
String
sessionId
)
{
boolean
exists
=
getRedisTemplate
().
hasKey
(
sessionId
);
if
(!
exists
)
{
// 处理不存在的情况
return
null
;
}
Set
<
Object
>
dataInRange
=
getRedisTemplate
().
opsForZSet
().
range
(
sessionId
,
0
,
-
1
);
// 如果集合非空,返回第一个元素,否则返回null
if
(!
dataInRange
.
isEmpty
())
{
Object
firstElement
=
dataInRange
.
iterator
().
next
();
// 检查类型是否为 OnlineState
if
(
firstElement
instanceof
OnlineState
)
{
return
(
OnlineState
)
firstElement
;
// 执行强制类型转换
}
else
{
// 处理类型不匹配的情况
return
null
;
}
}
else
{
return
null
;
}
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PoliceController.java
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
controller
;
package
com
.
junmp
.
jyzb
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.junmp.jyzb.api.bean.dto.CabinetPoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.PoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.PoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto
;
import
com.junmp.jyzb.api.bean.dto.PolicemanDto
;
import
com.junmp.jyzb.api.bean.dto.PolicemanDto
;
...
@@ -8,6 +9,8 @@ import com.junmp.jyzb.api.bean.dto.ReassignmentDto;
...
@@ -8,6 +9,8 @@ import com.junmp.jyzb.api.bean.dto.ReassignmentDto;
import
com.junmp.jyzb.api.bean.query.CabinetReq
;
import
com.junmp.jyzb.api.bean.query.CabinetReq
;
import
com.junmp.jyzb.api.bean.query.PolicemanReq
;
import
com.junmp.jyzb.api.bean.query.PolicemanReq
;
import
com.junmp.jyzb.api.bean.query.QueryReassignmentReq
;
import
com.junmp.jyzb.api.bean.query.QueryReassignmentReq
;
import
com.junmp.jyzb.api.bean.req.CabinetPolicemanReq
;
import
com.junmp.jyzb.api.bean.req.CabinetUploadReq
;
import
com.junmp.jyzb.api.bean.req.UpdatePolicemanReq
;
import
com.junmp.jyzb.api.bean.req.UpdatePolicemanReq
;
import
com.junmp.jyzb.api.bean.req.UpdateReassignmentReq
;
import
com.junmp.jyzb.api.bean.req.UpdateReassignmentReq
;
import
com.junmp.jyzb.entity.EquipmentSize
;
import
com.junmp.jyzb.entity.EquipmentSize
;
...
@@ -50,6 +53,12 @@ public class PoliceController {
...
@@ -50,6 +53,12 @@ public class PoliceController {
String
policeId
=
policemanService
.
AddPoliceman
(
req
);
String
policeId
=
policemanService
.
AddPoliceman
(
req
);
return
ApiRes
.
success
(
policeId
);
return
ApiRes
.
success
(
policeId
);
}
}
@PostMapping
(
path
=
"/AddPolicemanFromCab"
,
name
=
"添加警员信息(单警柜使用)#logType=30"
)
@ApiOperation
(
"添加警员信息"
)
public
ApiRes
<
String
>
AddPolicemanFromCab
(
@RequestBody
@Validated
(
ValidationApi
.
add
.
class
)
CabinetPolicemanReq
req
)
{
String
policeId
=
policemanService
.
AddPolicemanFromCab
(
req
);
return
ApiRes
.
success
(
policeId
);
}
//添加警员时先将没有组织机构号的警员查询出来
//添加警员时先将没有组织机构号的警员查询出来
@PostMapping
(
path
=
"/GetPoliceWithoutOrg"
,
name
=
"获取没有组织机构的警员信息#enable"
)
@PostMapping
(
path
=
"/GetPoliceWithoutOrg"
,
name
=
"获取没有组织机构的警员信息#enable"
)
@ApiOperation
(
"/获取没有组织机构的警员信息"
)
@ApiOperation
(
"/获取没有组织机构的警员信息"
)
...
@@ -94,6 +103,24 @@ public class PoliceController {
...
@@ -94,6 +103,24 @@ public class PoliceController {
}
}
return
ApiRes
.
success
(
b
);
return
ApiRes
.
success
(
b
);
}
}
@PostMapping
(
path
=
"/UploadPolicemanList"
,
name
=
"上传当前所有警员信息#logType=30"
)
@ApiOperation
(
"上传当前所有警员信息"
)
public
ApiRes
<
Boolean
>
UploadPolicemanList
(
@RequestBody
@Validated
(
ValidationApi
.
edit
.
class
)
CabinetUploadReq
req
)
{
boolean
b
=
policemanService
.
UploadPolicemanList
(
req
);
if
(!
b
){
return
ApiRes
.
failure
(
"修改失败"
);
}
return
ApiRes
.
success
(
b
);
}
@PostMapping
(
path
=
"/UpdatePoliceFromCab"
,
name
=
"修改警员信息(警柜使用)#logType=30"
)
@ApiOperation
(
"修改警员信息"
)
public
ApiRes
<
Boolean
>
UpdatePoliceFromCab
(
@RequestBody
@Validated
(
ValidationApi
.
edit
.
class
)
CabinetPolicemanReq
req
)
{
boolean
b
=
policemanService
.
UpdatePoliceFromCab
(
req
);
if
(!
b
){
return
ApiRes
.
failure
(
"修改失败"
);
}
return
ApiRes
.
success
(
b
);
}
//重置密码
//重置密码
@PostMapping
(
path
=
"/reSetPassword"
,
name
=
"重置密码#logType=30"
)
@PostMapping
(
path
=
"/reSetPassword"
,
name
=
"重置密码#logType=30"
)
@ApiOperation
(
"重置密码"
)
@ApiOperation
(
"重置密码"
)
...
@@ -117,7 +144,12 @@ public class PoliceController {
...
@@ -117,7 +144,12 @@ public class PoliceController {
List
<
PolicemanDto
>
policemanDtos
=
policemanService
.
GetAllPolicemanList
(
req
);
List
<
PolicemanDto
>
policemanDtos
=
policemanService
.
GetAllPolicemanList
(
req
);
return
ApiRes
.
success
(
policemanDtos
);
return
ApiRes
.
success
(
policemanDtos
);
}
}
@PostMapping
(
path
=
"/GetListByOrg"
,
name
=
"根据组织机构查询对应警员信息(警柜使用)#enable"
)
@ApiOperation
(
"根据组织机构查询对应警员信息(警柜使用)"
)
public
ApiRes
<
List
<
CabinetPoliceDto
>>
GetListByOrg
(
@RequestBody
PolicemanReq
req
){
List
<
CabinetPoliceDto
>
policemanDtos
=
policemanService
.
GetListByOrgAsync
(
req
);
return
ApiRes
.
success
(
policemanDtos
);
}
//根据组条件查询,只查询本级,不包含下级(page)--可以根据组织机构查询
//根据组条件查询,只查询本级,不包含下级(page)--可以根据组织机构查询
@PostMapping
(
path
=
"/ShowPolicePage"
,
name
=
"根据条件查询所有警员信息#enable"
)
@PostMapping
(
path
=
"/ShowPolicePage"
,
name
=
"根据条件查询所有警员信息#enable"
)
@ApiOperation
(
"根据条件查询所有警员信息(page)"
)
@ApiOperation
(
"根据条件查询所有警员信息(page)"
)
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/entity/PubOrg.java
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
entity
;
package
com
.
junmp
.
jyzb
.
entity
;
import
cn.hutool.core.date.DateTime
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
...
@@ -210,6 +211,15 @@ public class PubOrg implements Serializable {
...
@@ -210,6 +211,15 @@ public class PubOrg implements Serializable {
*/
*/
@TableField
(
value
=
"org_name"
)
@TableField
(
value
=
"org_name"
)
private
String
orgName
;
private
String
orgName
;
/**
* 最后的警员信息更新终端
*/
@TableField
(
value
=
"police_update_service"
)
private
String
policeUpdateService
;
/**
* 最后警员信息更新时间
*/
@TableField
(
value
=
"police_update_time"
)
private
Date
policeUpdateTime
;
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Temp/OnlineState.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
entity
.
Temp
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.context.annotation.Configuration
;
@Data
@Configuration
@NoArgsConstructor
public
class
OnlineState
{
//类型
private
String
type
;
//类型ID
private
String
typeId
;
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/PolicemanService.java
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
service
;
package
com
.
junmp
.
jyzb
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.junmp.jyzb.api.bean.dto.CabinetPoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.PoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.PoliceDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto
;
import
com.junmp.jyzb.api.bean.dto.FetchingDataDto.UserDto
;
import
com.junmp.jyzb.api.bean.dto.PolicemanDto
;
import
com.junmp.jyzb.api.bean.dto.PolicemanDto
;
...
@@ -9,9 +10,7 @@ import com.junmp.jyzb.api.bean.dto.UploadPolicePhotoDto;
...
@@ -9,9 +10,7 @@ import com.junmp.jyzb.api.bean.dto.UploadPolicePhotoDto;
import
com.junmp.jyzb.api.bean.query.CabinetReq
;
import
com.junmp.jyzb.api.bean.query.CabinetReq
;
import
com.junmp.jyzb.api.bean.query.PolicemanReq
;
import
com.junmp.jyzb.api.bean.query.PolicemanReq
;
import
com.junmp.jyzb.api.bean.query.QueryReassignmentReq
;
import
com.junmp.jyzb.api.bean.query.QueryReassignmentReq
;
import
com.junmp.jyzb.api.bean.req.UpdatePolicemanReq
;
import
com.junmp.jyzb.api.bean.req.*
;
import
com.junmp.jyzb.api.bean.req.UpdateReassignmentReq
;
import
com.junmp.jyzb.api.bean.req.UploadPolicePhotoReq
;
import
com.junmp.jyzb.entity.PoliceEquipment
;
import
com.junmp.jyzb.entity.PoliceEquipment
;
import
com.junmp.jyzb.entity.Policeman
;
import
com.junmp.jyzb.entity.Policeman
;
import
com.junmp.jyzb.entity.Reassignment
;
import
com.junmp.jyzb.entity.Reassignment
;
...
@@ -30,7 +29,8 @@ public interface PolicemanService extends IService<Policeman> {
...
@@ -30,7 +29,8 @@ public interface PolicemanService extends IService<Policeman> {
//添加警员
//添加警员
String
AddPoliceman
(
UpdatePolicemanReq
req
);
String
AddPoliceman
(
UpdatePolicemanReq
req
);
//添加警员,警柜使用
String
AddPolicemanFromCab
(
CabinetPolicemanReq
req
);
//获取单个警员信息
//获取单个警员信息
PolicemanDto
GetOnePolice
(
PolicemanReq
req
);
PolicemanDto
GetOnePolice
(
PolicemanReq
req
);
...
@@ -42,9 +42,9 @@ public interface PolicemanService extends IService<Policeman> {
...
@@ -42,9 +42,9 @@ public interface PolicemanService extends IService<Policeman> {
//修改警员信息
//修改警员信息
boolean
UpdatePolice
(
UpdatePolicemanReq
req
);
boolean
UpdatePolice
(
UpdatePolicemanReq
req
);
boolean
UpdatePoliceFromCab
(
CabinetPolicemanReq
req
);
boolean
UploadPolicemanList
(
CabinetUploadReq
req
);
boolean
AddFaceInfo
(
UpdatePolicemanReq
req
);
boolean
AddFaceInfo
(
UpdatePolicemanReq
req
);
...
@@ -54,6 +54,9 @@ public interface PolicemanService extends IService<Policeman> {
...
@@ -54,6 +54,9 @@ public interface PolicemanService extends IService<Policeman> {
//通过条件查询警员列表(list)
//通过条件查询警员列表(list)
List
<
PolicemanDto
>
GetAllPolicemanList
(
PolicemanReq
req
);
List
<
PolicemanDto
>
GetAllPolicemanList
(
PolicemanReq
req
);
//通过组织机构列表查询
List
<
CabinetPoliceDto
>
GetListByOrgAsync
(
PolicemanReq
req
);
//通过条件查询警员列表(page)
//通过条件查询警员列表(page)
PageResult
<
PolicemanDto
>
GetAllPolicemanPage
(
PolicemanReq
req
);
PageResult
<
PolicemanDto
>
GetAllPolicemanPage
(
PolicemanReq
req
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
View file @
c1549f9e
差异被折叠。
点击展开。
jyzb-biz/src/main/java/com/junmp/jyzb/utils/RabbitMQSendMsg.java
View file @
c1549f9e
...
@@ -24,6 +24,12 @@ public class RabbitMQSendMsg {
...
@@ -24,6 +24,12 @@ public class RabbitMQSendMsg {
rabbitAdmin
.
declareExchange
(
exchange
);
rabbitAdmin
.
declareExchange
(
exchange
);
rabbitAdmin
.
declareBinding
(
BindingBuilder
.
bind
(
queue
).
to
(
exchange
).
with
(
name
).
noargs
());
rabbitAdmin
.
declareBinding
(
BindingBuilder
.
bind
(
queue
).
to
(
exchange
).
with
(
name
).
noargs
());
String
jsonString
=
JSON
.
toJSONString
(
msg
);
String
jsonString
=
JSON
.
toJSONString
(
msg
);
// // 创建 MessageProperties 对象,并设置 TTL
// MessageProperties messageProperties = new MessageProperties();
// messageProperties.setExpiration(String.valueOf(ttlMillis));
//
// // 发送带有 TTL 的消息
// rabbitTemplate.send(exchangeName, name, new Message(jsonString.getBytes(), messageProperties));
rabbitTemplate
.
convertAndSend
(
exchangeName
,
name
,
jsonString
);
rabbitTemplate
.
convertAndSend
(
exchangeName
,
name
,
jsonString
);
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/websocket/CustomScreenWebSocketServer.java
0 → 100644
View file @
c1549f9e
package
com
.
junmp
.
jyzb
.
websocket
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.util.ObjectUtil
;
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.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.junmp.jyzb.api.bean.req.wsReq.OnOpenReq
;
import
com.junmp.jyzb.cache.OnlineRedisCache
;
import
com.junmp.jyzb.cache.TemperatureRedisCache
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.jyzb.entity.Reassignment
;
import
com.junmp.jyzb.entity.Temp.OnlineState
;
import
com.junmp.jyzb.service.CabinetService
;
import
com.junmp.v2.ws.api.enums.ClientMsgType
;
import
com.junmp.v2.ws.api.enums.ServerMsgType
;
import
com.junmp.v2.ws.api.enums.SysMsgTypeEnum
;
import
com.junmp.v2.ws.api.message.WsCallbackApi
;
import
com.junmp.v2.ws.api.session.bean.WsSession
;
import
com.junmp.v2.ws.bean.WsMsgDto
;
import
com.junmp.v2.ws.channel.WsSessionContainer
;
import
com.junmp.v2.ws.message.WsMessageHandle
;
import
com.junmp.v2.ws.server.ScreenWebSocketServer
;
import
com.junmp.v2.ws.session.WsSessionHandle
;
import
io.jsonwebtoken.JwtException
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.websocket.*
;
import
javax.websocket.server.PathParam
;
import
javax.websocket.server.ServerEndpoint
;
import
java.io.IOException
;
import
java.time.Instant
;
//@Component
//@ServerEndpoint("/notice1/{data}")
//public class CustomScreenWebSocketServer extends ScreenWebSocketServer {
// @Override
//
// public void onOpen(Session session, @PathParam("data") String data) {
// String aa=data;
// // Your custom logic here
// super.onOpen(session, data); // Call the original method if needed
// }
//}
@Component
@ServerEndpoint
(
"/notice1/{data}"
)
public
class
CustomScreenWebSocketServer
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
com
.
junmp
.
v2
.
ws
.
server
.
ScreenWebSocketServer
.
class
);
@Resource
public
CabinetService
cabinetService
;
@Resource
private
OnlineRedisCache
onlineRedisCache
;
public
CustomScreenWebSocketServer
()
{
}
@OnOpen
public
void
onOpen
(
Session
session
,
@PathParam
(
"data"
)
String
data
)
{
String
userId
=
null
;
try
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
OnOpenReq
onOpenObject
=
objectMapper
.
readValue
(
data
,
OnOpenReq
.
class
);
String
type
=
onOpenObject
.
getType
();
String
typeId
=
onOpenObject
.
getTypeId
();
// 获取当前时间的时间戳
Instant
now
=
Instant
.
now
();
// 转换为long类型
long
timestamp
=
now
.
toEpochMilli
();
if
(
type
.
equals
(
"cabinet"
))
//警柜已连接
{
Cabinet
cabinet
=
cabinetService
.
getOne
(
new
LambdaQueryWrapper
<
Cabinet
>()
.
eq
(
Cabinet:
:
getCabinetNum
,
typeId
));
cabinet
.
setOnlineState
(
1
);
cabinet
.
setUpdateTime
(
DateTime
.
now
());
// cabinetService.updateById(cabinet);
// //将数据放入redis
// onlineRedisCache.addSessionValue(session.getId(),type,typeId,timestamp);
}
else
if
(
type
.
equals
(
"warehouse"
))
{
//仓库主机已连接
}
}
catch
(
JwtException
|
JsonProcessingException
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
{
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
public
void
onMessage
(
String
message
,
Session
channel
)
{
WsMsgDto
wsMsgDto
=
(
WsMsgDto
)
JSON
.
parseObject
(
message
,
WsMsgDto
.
class
);
WsSession
<
WsSessionContainer
>
wsSession
=
WsSessionHandle
.
getSessionBySessionId
(
channel
.
getId
());
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
)
&&
ClientMsgType
.
USER_HEART
.
getCode
().
equals
(
wsMsgDto
.
getClientMsgType
()))
{
log
.
info
(
StrUtil
.
format
(
"来自与客户端[{}]的心跳消息。"
,
new
Object
[]{
wsMsgDto
.
getFromUserId
()}));
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
))
{
wsSession
.
setLastActiveTime
(
System
.
currentTimeMillis
());
}
}
else
if
(!
ObjectUtil
.
isEmpty
(
wsMsgDto
.
getFromUserId
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
wsSession
))
{
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\":\"未知的消息类型\"}"
);
}
}
}
}
}
@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
>()
.
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
);
}
}
finally
{
WsSessionHandle
.
delById
(
session
.
getId
());
log
.
warn
(
"会话已关闭"
);
}
}
@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
);
}
}
}
jyzb-process/src/main/java/com/junmp/junmpProcess/config/ActivitiConfig.java
View file @
c1549f9e
...
@@ -43,6 +43,7 @@ public class ActivitiConfig {
...
@@ -43,6 +43,7 @@ public class ActivitiConfig {
config
.
setDataSource
(
dataSource
);
config
.
setDataSource
(
dataSource
);
config
.
setTransactionManager
(
transactionManager
);
config
.
setTransactionManager
(
transactionManager
);
config
.
setDisableIdmEngine
(
true
);
config
.
setDisableIdmEngine
(
true
);
config
.
setAsyncExecutorNumberOfRetries
(
0
);
config
.
setDatabaseType
(
ProcessEngineConfigurationImpl
.
DATABASE_TYPE_MYSQL
);
config
.
setDatabaseType
(
ProcessEngineConfigurationImpl
.
DATABASE_TYPE_MYSQL
);
config
.
setDatabaseSchemaUpdate
(
ProcessEngineConfiguration
.
DB_SCHEMA_UPDATE_FALSE
);
config
.
setDatabaseSchemaUpdate
(
ProcessEngineConfiguration
.
DB_SCHEMA_UPDATE_FALSE
);
config
.
setDelegateExpressionFieldInjectionMode
(
DelegateExpressionFieldInjectionMode
.
MIXED
);
config
.
setDelegateExpressionFieldInjectionMode
(
DelegateExpressionFieldInjectionMode
.
MIXED
);
...
...
pom.xml
View file @
c1549f9e
...
@@ -290,6 +290,22 @@
...
@@ -290,6 +290,22 @@
<version>
${junmp.v2.version}
</version>
<version>
${junmp.v2.version}
</version>
</dependency>
</dependency>
<!--ws模块-->
<dependency>
<groupId>
com.junmp.v2
</groupId>
<artifactId>
ws-api
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.junmp.v2
</groupId>
<artifactId>
ws-sdk
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.junmp.v2
</groupId>
<artifactId>
ws-boot-starter
</artifactId>
<version>
${project.version}
</version>
</dependency>
<!--消息推送-->
<!--消息推送-->
<dependency>
<dependency>
<groupId>
com.junmp.v2
</groupId>
<groupId>
com.junmp.v2
</groupId>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论