Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart_gov_platform
Commits
a5cd0909
Commit
a5cd0909
authored
May 07, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加设备黑名单应用
parent
7c8a7d87
Changes
14
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
2415 additions
and
50 deletions
+2415
-50
base-manager/db/add.sql
base-manager/db/add.sql
+19
-0
base-manager/doc/api.md
base-manager/doc/api.md
+250
-0
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
.../main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
+10
-2
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
...m/mortals/xhx/module/app/service/impl/AppServiceImpl.java
+72
-48
base-manager/src/main/java/com/mortals/xhx/module/device/dao/DeviceBlackappDao.java
.../com/mortals/xhx/module/device/dao/DeviceBlackappDao.java
+17
-0
base-manager/src/main/java/com/mortals/xhx/module/device/dao/ibatis/DeviceBlackappDaoImpl.java
...s/xhx/module/device/dao/ibatis/DeviceBlackappDaoImpl.java
+21
-0
base-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceBlackappEntity.java
...mortals/xhx/module/device/model/DeviceBlackappEntity.java
+79
-0
base-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceBlackappQuery.java
.../mortals/xhx/module/device/model/DeviceBlackappQuery.java
+1104
-0
base-manager/src/main/java/com/mortals/xhx/module/device/model/vo/DeviceBlackappVo.java
.../mortals/xhx/module/device/model/vo/DeviceBlackappVo.java
+18
-0
base-manager/src/main/java/com/mortals/xhx/module/device/service/DeviceBlackappService.java
...tals/xhx/module/device/service/DeviceBlackappService.java
+16
-0
base-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceBlackappServiceImpl.java
...module/device/service/impl/DeviceBlackappServiceImpl.java
+21
-0
base-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceBlackappController.java
...rtals/xhx/module/device/web/DeviceBlackappController.java
+49
-0
base-manager/src/main/resources/sqlmap/module/device/DeviceBlackappMapper.xml
...n/resources/sqlmap/module/device/DeviceBlackappMapper.xml
+675
-0
base-manager/src/test/java/com/mortals/httpclient/device/DeviceBlackappController.http
...m/mortals/httpclient/device/DeviceBlackappController.http
+64
-0
No files found.
base-manager/db/add.sql
View file @
a5cd0909
...
@@ -136,3 +136,22 @@ CREATE TABLE `mortals_xhx_device` (
...
@@ -136,3 +136,22 @@ CREATE TABLE `mortals_xhx_device` (
`updateTime`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`updateTime`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'设备'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'设备'
;
-- ----------------------------
-- 设备应用黑名单表
-- ----------------------------
DROP
TABLE
IF
EXISTS
`mortals_xhx_device_blackapp`
;
CREATE
TABLE
mortals_xhx_device_blackapp
(
`id`
bigint
(
20
)
AUTO_INCREMENT
COMMENT
'主键,自增长'
,
`siteId`
bigint
(
20
)
COMMENT
'站点ID'
,
`deviceId`
bigint
(
20
)
COMMENT
'设备id'
,
`deviceCode`
varchar
(
255
)
COMMENT
'设备编码'
,
`deviceName`
varchar
(
255
)
COMMENT
'设备名称'
,
`appId`
bigint
(
20
)
COMMENT
'应用id'
,
`appCode`
varchar
(
255
)
COMMENT
'应用编码'
,
`appName`
varchar
(
255
)
COMMENT
'应用名称'
,
`createTime`
datetime
COMMENT
'创建时间'
,
`createUserId`
bigint
(
20
)
COMMENT
'创建用户'
,
`updateTime`
datetime
COMMENT
'修改时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'设备应用黑名单'
;
base-manager/doc/api.md
View file @
a5cd0909
...
@@ -13205,6 +13205,256 @@ data|object|数据对象
...
@@ -13205,6 +13205,256 @@ data|object|数据对象
```
```
## 设备
### 查询设备列表
**请求URL:**
device/list
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
查询设备
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
deviceId|Long|否|设备id
deviceName|String|否|设备名称,字段前后添加%%模糊查询
deviceCode|String|否|设备编码,字段前后添加%%模糊查询
deviceSrc|Integer|否|设备来源(0.子设备,1.网关设备,2.直连设备)
deviceStatus|Integer|否|设备状态 (0.未激活,1.离线,2.在线)
**请求样例:**
```
{
"deviceId":7996,
"deviceName":"w7i721",
"deviceCode":"vzxi39",
"deviceSrc":9076,
"deviceStatus":472,
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 
per_page|Integer|每页条数
 
total|Integer|总条数
 
last_page|Integer|总页数
 
current_page|Integer|当前页
 
data|array|结果集列表|数组
  
id|Long|主键ID,主键,自增长
  
deviceId|Long|设备id
  
deviceName|String|设备名称
  
deviceCode|String|设备编码
  
deviceMac|String|设备的MAC地址
  
siteId|Long|站点Id
  
siteCode|String|站点编号,来源基础服务平台
  
siteName|String|站点名称
  
productCode|String|产品编码
  
productName|String|产品名称
  
deviceSrc|Integer|设备来源(0.子设备,1.网关设备,2.直连设备)
  
lon|String|经度
  
lati|String|纬度
  
leadingOfficial|String|负责人
  
leadingOfficialTelephone|String|联系电话
  
deviceStatus|Integer|设备状态 (0.未激活,1.离线,2.在线)
  
deviceRemark|String|备注
  
source|Integer|设备来源(0.旧设备,1.新设备)
  
createUserId|Long|创建用户
  
createTime|Date|创建时间
  
updateUserId|Long|更新用户
  
updateTime|Date|更新时间
dict|object|字典对象
 
deviceSrc|object|字典属性对象,详见附录
 
deviceStatus|object|字典属性对象,详见附录
 
source|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
## 设备应用黑名单
### 查询设备应用黑名单列表
**请求URL:**
device/blackapp/list
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
查询设备应用黑名单
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 
per_page|Integer|每页条数
 
total|Integer|总条数
 
last_page|Integer|总页数
 
current_page|Integer|当前页
 
data|array|结果集列表|数组
  
id|Long|主键,自增长
  
siteId|Long|站点ID
  
deviceId|Long|设备id
  
deviceCode|String|设备编码
  
deviceName|String|设备名称
  
appId|Long|应用id
  
appCode|String|应用编码
  
appName|String|应用名称
  
createTime|Date|创建时间
  
createUserId|Long|创建用户
  
updateTime|Date|修改时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 保存更新设备应用黑名单
**请求URL:**
device/blackapp/save
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
保存或更新设备应用黑名单:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
siteId|Long|否|站点ID
deviceId|Long|否|设备id
deviceCode|String|否|设备编码
deviceName|String|否|设备名称
appId|Long|否|应用id
appCode|String|否|应用编码
appName|String|否|应用名称
**请求样例:**
```
{
"siteId":475,
"deviceId":6607,
"deviceCode":"gvi4oq",
"deviceName":"yp2e81",
"appId":6569,
"appCode":"saq4z7",
"appName":"azzcsh",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 
id|Long|保存后主键id
 
entity|object|保存更新实体
  
id|Long|主键,自增长
  
siteId|Long|站点ID
  
deviceId|Long|设备id
  
deviceCode|String|设备编码
  
deviceName|String|设备名称
  
appId|Long|应用id
  
appCode|String|应用编码
  
appName|String|应用名称
  
createTime|Date|创建时间
  
createUserId|Long|创建用户
  
updateTime|Date|修改时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除设备应用黑名单
**请求URL:**
device/blackapp/delete
**请求方式:**
GET
**内容类型:**
application/json;charset=utf-8
**简要描述:**
删除设备应用黑名单
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/device/blackapp/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 字典附录
## 字典附录
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
View file @
a5cd0909
...
@@ -19,9 +19,13 @@ public class AppVo extends BaseEntityLong {
...
@@ -19,9 +19,13 @@ public class AppVo extends BaseEntityLong {
* 适用站点范围数量
* 适用站点范围数量
*/
*/
private
Integer
applianceSiteScope
;
private
Integer
applianceSiteScope
;
/**
* 站点列表
*/
private
List
<
Long
>
siteIdList
;
private
List
<
Long
>
siteIdList
;
/**
*
*/
private
List
<
Long
>
idList
;
private
List
<
Long
>
idList
;
/**
/**
* 自主应用访问地址
* 自主应用访问地址
...
@@ -36,5 +40,9 @@ public class AppVo extends BaseEntityLong {
...
@@ -36,5 +40,9 @@ public class AppVo extends BaseEntityLong {
private
String
serverName
;
private
String
serverName
;
private
Integer
serverPort
;
private
Integer
serverPort
;
/**
* 设备编码
*/
private
String
deviceCode
;
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
View file @
a5cd0909
...
@@ -26,6 +26,9 @@ import com.mortals.xhx.common.utils.ZipUtils;
...
@@ -26,6 +26,9 @@ import com.mortals.xhx.common.utils.ZipUtils;
import
com.mortals.xhx.feign.app.device.IAppFeign
;
import
com.mortals.xhx.feign.app.device.IAppFeign
;
import
com.mortals.xhx.module.app.model.*
;
import
com.mortals.xhx.module.app.model.*
;
import
com.mortals.xhx.module.app.service.*
;
import
com.mortals.xhx.module.app.service.*
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
com.mortals.xhx.module.device.model.DeviceBlackappQuery
;
import
com.mortals.xhx.module.device.service.DeviceBlackappService
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.utils.EncodeUtil
;
import
com.mortals.xhx.utils.EncodeUtil
;
...
@@ -72,40 +75,28 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
...
@@ -72,40 +75,28 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
private
AppVersionService
appVersionService
;
private
AppVersionService
appVersionService
;
@Autowired
@Autowired
private
IAppFeign
appFeign
;
private
IAppFeign
appFeign
;
@Autowired
private
DeviceBlackappService
deviceBlackappService
;
/**
* @param params
* @param pageInfo
* @param context
* @return
* @throws AppException
*/
@Override
@Override
protected
void
findAfter
(
AppEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AppEntity
>
list
)
throws
AppException
{
protected
AppEntity
findBefore
(
AppEntity
params
,
PageInfo
pageInfo
,
Context
context
)
throws
AppException
{
//排序
return
super
.
findBefore
(
params
,
pageInfo
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdList
()))
{
log
.
info
(
"请求的排序id列表:{}"
,
JSON
.
toJSONString
(
params
.
getIdList
()));
try
{
//去除idlist中不存在的
Set
<
Long
>
idSet
=
list
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toSet
());
List
<
Long
>
idList
=
params
.
getIdList
();
Iterator
<
Long
>
ite
=
idList
.
iterator
();
while
(
ite
.
hasNext
())
{
Long
next
=
ite
.
next
();
if
(!
idSet
.
contains
(
next
))
{
ite
.
remove
();
}
}
//根据idList进行排序
for
(
int
i
=
0
;
i
<
idList
.
size
();
i
++)
{
Long
id
=
idList
.
get
(
i
);
for
(
int
j
=
0
;
j
<
list
.
size
();
j
++)
{
if
(
id
.
equals
(
list
.
get
(
j
).
getId
()))
{
//判断位置是否一直
if
(
i
!=
j
)
{
//交换
Collections
.
swap
(
list
,
i
,
j
);
}
}
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"排序异常!"
,
e
);
}
}
}
@Override
protected
void
findAfter
(
AppEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AppEntity
>
list
)
throws
AppException
{
//判断是否存在设备编码。存在 查询设备编码应用黑名单
checkDeviceBlackApp
(
params
,
list
);
//根据指定的idlist顺序进行排序
sortAppByIdList
(
params
,
list
);
//统计站点
//统计站点
list
.
forEach
(
item
->
{
list
.
forEach
(
item
->
{
List
<
AppEntity
>
appEntityList
=
this
.
find
(
new
AppQuery
().
appCode
(
item
.
getAppCode
()),
context
);
List
<
AppEntity
>
appEntityList
=
this
.
find
(
new
AppQuery
().
appCode
(
item
.
getAppCode
()),
context
);
...
@@ -113,16 +104,10 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
...
@@ -113,16 +104,10 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
item
.
setSiteIdList
(
appEntityList
.
stream
().
map
(
AppEntity:
:
getSiteId
).
collect
(
Collectors
.
toList
()));
item
.
setSiteIdList
(
appEntityList
.
stream
().
map
(
AppEntity:
:
getSiteId
).
collect
(
Collectors
.
toList
()));
//构建访问地址
//构建访问地址
SiteEntity
siteEntity
=
siteService
.
getCache
(
item
.
getSiteId
().
toString
());
SiteEntity
siteEntity
=
siteService
.
getCache
(
item
.
getSiteId
().
toString
());
// String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
String
domainUrl
=
""
;
String
domainUrl
=
""
;
if
(!
ObjectUtils
.
isEmpty
(
params
.
getServerName
())
&&
Validator
.
isIpv4
(
params
.
getServerName
()))
{
if
(!
ObjectUtils
.
isEmpty
(
params
.
getServerName
())
&&
Validator
.
isIpv4
(
params
.
getServerName
()))
{
//domainUrl = UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078).build();
domainUrl
=
String
.
format
(
"http://%s:%d"
,
params
.
getServerName
(),
params
.
getServerPort
()
>
0
?
params
.
getServerPort
()
:
11078
);
//domainUrl = StrUtil.sub(domainUrl, 0, domainUrl.length() - 1);
domainUrl
=
String
.
format
(
"http://%s:%d"
,
params
.
getServerName
(),
params
.
getServerPort
()
>
0
?
params
.
getServerPort
()
:
11078
);
}
else
{
}
else
{
// domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
boolean
isDomain
=
ReUtil
.
isMatch
(
"^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$"
,
params
.
getServerName
());
boolean
isDomain
=
ReUtil
.
isMatch
(
"^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$"
,
params
.
getServerName
());
if
(
isDomain
)
{
if
(
isDomain
)
{
domainUrl
=
String
.
format
(
"https://%s"
,
params
.
getServerName
());
domainUrl
=
String
.
format
(
"https://%s"
,
params
.
getServerName
());
...
@@ -137,14 +122,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
...
@@ -137,14 +122,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if
(!
ObjectUtils
.
isEmpty
(
domainUrl
))
{
if
(!
ObjectUtils
.
isEmpty
(
domainUrl
))
{
String
custUrl
=
String
.
format
(
"%s/%s/%s/%s/%s/"
,
domainUrl
,
CUSTAPP_ROOT_PATH
,
siteEntity
.
getSiteCode
(),
item
.
getAppCode
(),
item
.
getVersion
().
toString
());
String
custUrl
=
String
.
format
(
"%s/%s/%s/%s/%s/"
,
domainUrl
,
CUSTAPP_ROOT_PATH
,
siteEntity
.
getSiteCode
(),
item
.
getAppCode
(),
item
.
getVersion
().
toString
());
item
.
setCustUrl
(
custUrl
);
item
.
setCustUrl
(
custUrl
);
// item.setCustUrl(UrlBuilder.ofHttp(domainUrl)
// .addPath(CUSTAPP_ROOT_PATH)
// .addPath(siteEntity.getSiteCode())
// .addPath(item.getAppCode())
// .addPath(item.getVersion().toString())
// .build());
}
else
{
}
else
{
item
.
setCustUrl
(
CUSTAPP_ROOT_PATH
+
"/"
+
siteEntity
.
getSiteCode
()
+
"/"
+
item
.
getAppCode
()
+
"/"
+
item
.
getVersion
()+
"/"
);
item
.
setCustUrl
(
CUSTAPP_ROOT_PATH
+
"/"
+
siteEntity
.
getSiteCode
()
+
"/"
+
item
.
getAppCode
()
+
"/"
+
item
.
getVersion
()
+
"/"
);
}
}
}
else
{
}
else
{
...
@@ -154,9 +133,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
...
@@ -154,9 +133,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if
(!
ObjectUtils
.
isEmpty
(
domainUrl
))
{
if
(!
ObjectUtils
.
isEmpty
(
domainUrl
))
{
String
appIconUrl
=
String
.
format
(
"%s/%s"
,
domainUrl
,
item
.
getAppIconPath
());
String
appIconUrl
=
String
.
format
(
"%s/%s"
,
domainUrl
,
item
.
getAppIconPath
());
item
.
setAppIconUrl
(
appIconUrl
);
item
.
setAppIconUrl
(
appIconUrl
);
/*
item.setAppIconUrl(UrlBuilder.ofHttp(domainUrl)
.addPath(item.getAppIconPath()).build());*/
}
else
{
}
else
{
item
.
setAppIconUrl
(
item
.
getAppIconPath
());
item
.
setAppIconUrl
(
item
.
getAppIconPath
());
}
}
...
@@ -165,6 +141,54 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
...
@@ -165,6 +141,54 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
super
.
findAfter
(
params
,
pageInfo
,
context
,
list
);
}
}
private
void
sortAppByIdList
(
AppEntity
params
,
List
<
AppEntity
>
list
)
{
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdList
()))
{
log
.
info
(
"请求的排序id列表:{}"
,
JSON
.
toJSONString
(
params
.
getIdList
()));
try
{
//去除idlist中不存在的
Set
<
Long
>
idSet
=
list
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toSet
());
List
<
Long
>
idList
=
params
.
getIdList
();
Iterator
<
Long
>
ite
=
idList
.
iterator
();
while
(
ite
.
hasNext
())
{
Long
next
=
ite
.
next
();
if
(!
idSet
.
contains
(
next
))
{
ite
.
remove
();
}
}
//根据idList进行排序
for
(
int
i
=
0
;
i
<
idList
.
size
();
i
++)
{
Long
id
=
idList
.
get
(
i
);
for
(
int
j
=
0
;
j
<
list
.
size
();
j
++)
{
if
(
id
.
equals
(
list
.
get
(
j
).
getId
()))
{
//判断位置是否一直
if
(
i
!=
j
)
{
//交换
Collections
.
swap
(
list
,
i
,
j
);
}
}
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"排序异常!"
,
e
);
}
}
}
private
void
checkDeviceBlackApp
(
AppEntity
params
,
List
<
AppEntity
>
list
)
{
if
(!
ObjectUtils
.
isEmpty
(
params
.
getDeviceCode
()))
{
Set
<
Long
>
blackAppSet
=
deviceBlackappService
.
find
(
new
DeviceBlackappQuery
().
deviceCode
(
params
.
getDeviceCode
())).
stream
().
map
(
i
->
i
.
getAppId
()).
collect
(
Collectors
.
toSet
());
if
(!
ObjectUtils
.
isEmpty
(
blackAppSet
))
{
Iterator
<
AppEntity
>
iterator
=
list
.
iterator
();
while
(
iterator
.
hasNext
())
{
AppEntity
next
=
iterator
.
next
();
if
(!
blackAppSet
.
contains
(
next
.
getId
()))
{
iterator
.
remove
();
}
}
}
}
}
@Override
@Override
public
Rest
<
String
>
appDistribute
(
AppEntity
appEntity
,
Context
context
)
{
public
Rest
<
String
>
appDistribute
(
AppEntity
appEntity
,
Context
context
)
{
SiteEntity
siteCache
=
siteService
.
getCache
(
appEntity
.
getSiteId
().
toString
());
SiteEntity
siteCache
=
siteService
.
getCache
(
appEntity
.
getSiteId
().
toString
());
...
...
base-manager/src/main/java/com/mortals/xhx/module/device/dao/DeviceBlackappDao.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
java.util.List
;
/**
* 设备应用黑名单Dao
* 设备应用黑名单 DAO接口
*
* @author zxfei
* @date 2023-05-07
*/
public
interface
DeviceBlackappDao
extends
ICRUDDao
<
DeviceBlackappEntity
,
Long
>{
}
base-manager/src/main/java/com/mortals/xhx/module/device/dao/ibatis/DeviceBlackappDaoImpl.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.dao.ibatis
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.device.dao.DeviceBlackappDao
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
/**
* 设备应用黑名单DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-07
*/
@Repository
(
"deviceBlackappDao"
)
public
class
DeviceBlackappDaoImpl
extends
BaseCRUDDaoMybatis
<
DeviceBlackappEntity
,
Long
>
implements
DeviceBlackappDao
{
}
base-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceBlackappEntity.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.model
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.device.model.vo.DeviceBlackappVo
;
import
lombok.Data
;
/**
* 设备应用黑名单实体对象
*
* @author zxfei
* @date 2023-05-07
*/
@Data
public
class
DeviceBlackappEntity
extends
DeviceBlackappVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 站点ID
*/
private
Long
siteId
;
/**
* 设备id
*/
private
Long
deviceId
;
/**
* 设备编码
*/
private
String
deviceCode
;
/**
* 设备名称
*/
private
String
deviceName
;
/**
* 应用id
*/
private
Long
appId
;
/**
* 应用编码
*/
private
String
appCode
;
/**
* 应用名称
*/
private
String
appName
;
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
DeviceBlackappEntity
)
{
DeviceBlackappEntity
tmp
=
(
DeviceBlackappEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
void
initAttrValue
(){
this
.
siteId
=
null
;
this
.
deviceId
=
null
;
this
.
deviceCode
=
""
;
this
.
deviceName
=
""
;
this
.
appId
=
null
;
this
.
appCode
=
""
;
this
.
appName
=
null
;
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/device/model/DeviceBlackappQuery.java
0 → 100644
View file @
a5cd0909
This diff is collapsed.
Click to expand it.
base-manager/src/main/java/com/mortals/xhx/module/device/model/vo/DeviceBlackappVo.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
/**
* 设备应用黑名单视图对象
*
* @author zxfei
* @date 2023-05-07
*/
@Data
public
class
DeviceBlackappVo
extends
BaseEntityLong
{
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/device/service/DeviceBlackappService.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
com.mortals.xhx.module.device.dao.DeviceBlackappDao
;
/**
* DeviceBlackappService
*
* 设备应用黑名单 service接口
*
* @author zxfei
* @date 2023-05-07
*/
public
interface
DeviceBlackappService
extends
ICRUDService
<
DeviceBlackappEntity
,
Long
>{
DeviceBlackappDao
getDao
();
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceBlackappServiceImpl.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.service.impl
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.device.dao.DeviceBlackappDao
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
com.mortals.xhx.module.device.service.DeviceBlackappService
;
import
lombok.extern.slf4j.Slf4j
;
/**
* DeviceBlackappService
* 设备应用黑名单 service实现
*
* @author zxfei
* @date 2023-05-07
*/
@Service
(
"deviceBlackappService"
)
@Slf4j
public
class
DeviceBlackappServiceImpl
extends
AbstractCRUDServiceImpl
<
DeviceBlackappDao
,
DeviceBlackappEntity
,
Long
>
implements
DeviceBlackappService
{
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceBlackappController.java
0 → 100644
View file @
a5cd0909
package
com.mortals.xhx.module.device.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.device.model.DeviceBlackappEntity
;
import
com.mortals.xhx.module.device.service.DeviceBlackappService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
*
* 设备应用黑名单
*
* @author zxfei
* @date 2023-05-07
*/
@RestController
@RequestMapping
(
"device/blackapp"
)
public
class
DeviceBlackappController
extends
BaseCRUDJsonBodyMappingController
<
DeviceBlackappService
,
DeviceBlackappEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
public
DeviceBlackappController
(){
super
.
setModuleDesc
(
"设备应用黑名单"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
base-manager/src/main/resources/sqlmap/module/device/DeviceBlackappMapper.xml
0 → 100644
View file @
a5cd0909
This diff is collapsed.
Click to expand it.
base-manager/src/test/java/com/mortals/httpclient/device/DeviceBlackappController.http
0 → 100644
View file @
a5cd0909
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###设备应用黑名单列表
POST {{baseUrl}}/device/blackapp/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###设备应用黑名单更新与保存
POST {{baseUrl}}/device/blackapp/save
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":118,
"deviceId":671,
"deviceCode":"0vcb6m",
"deviceName":"8mrep3",
"appId":502,
"appCode":"ncrywd",
"appName":"41cc9s",
}
> {%
client.global.set("DeviceBlackapp_id", JSON.parse(response.body).data.id);
%}
###设备应用黑名单查看
GET {{baseUrl}}/device/blackapp/info?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
###设备应用黑名单编辑
GET {{baseUrl}}/device/blackapp/edit?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
###设备应用黑名单删除
GET {{baseUrl}}/device/blackapp/delete?id={{DeviceBlackapp_id}}
Authorization: {{authToken}}
Accept: application/json
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment