Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mqttsnet
thinglinks
提交
659a9301
thinglinks
项目概览
mqttsnet
/
thinglinks
通知
1
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
thinglinks
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
659a9301
编写于
5月 05, 2022
作者:
xiaonannet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增设备监控
上级
bd59d1ae
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
129 addition
and
11 deletion
+129
-11
thinglinks-api/thinglinks-api-link/src/main/java/com/mqttsnet/thinglinks/link/api/domain/device/entity/model/DeviceModel.java
...inks/link/api/domain/device/entity/model/DeviceModel.java
+23
-0
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/controller/device/DeviceController.java
...t/thinglinks/link/controller/device/DeviceController.java
+15
-2
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/mapper/device/DeviceMapper.java
.../mqttsnet/thinglinks/link/mapper/device/DeviceMapper.java
+2
-0
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/service/device/DeviceService.java
...qttsnet/thinglinks/link/service/device/DeviceService.java
+5
-0
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/service/device/impl/DeviceServiceImpl.java
...hinglinks/link/service/device/impl/DeviceServiceImpl.java
+8
-0
thinglinks-modules/thinglinks-modules-link/src/main/resources/mapper/link/device/DeviceMapper.xml
...nk/src/main/resources/mapper/link/device/DeviceMapper.xml
+11
-0
thinglinks-ui/src/api/tdengine/shadow.js
thinglinks-ui/src/api/tdengine/shadow.js
+53
-0
thinglinks-ui/src/assets/images/common/green_point.png
thinglinks-ui/src/assets/images/common/green_point.png
+0
-0
thinglinks-ui/src/assets/images/common/red_point.png
thinglinks-ui/src/assets/images/common/red_point.png
+0
-0
thinglinks-ui/src/assets/images/common/yellow_point.png
thinglinks-ui/src/assets/images/common/yellow_point.png
+0
-0
thinglinks-ui/src/views/tdengine/shadow/detail.vue
thinglinks-ui/src/views/tdengine/shadow/detail.vue
+5
-5
thinglinks-ui/src/views/tdengine/shadow/guanfu.vue
thinglinks-ui/src/views/tdengine/shadow/guanfu.vue
+6
-2
thinglinks-ui/src/views/tdengine/shadow/index.vue
thinglinks-ui/src/views/tdengine/shadow/index.vue
+0
-0
thinglinks-ui/src/views/tdengine/shadow/lemp.vue
thinglinks-ui/src/views/tdengine/shadow/lemp.vue
+1
-2
未找到文件。
thinglinks-api/thinglinks-api-link/src/main/java/com/mqttsnet/thinglinks/link/api/domain/device/entity/model/DeviceModel.java
0 → 100644
浏览文件 @
659a9301
package
com.mqttsnet.thinglinks.link.api.domain.device.entity.model
;
import
com.mqttsnet.thinglinks.link.api.domain.device.entity.Device
;
import
java.io.Serializable
;
/**
* @Description: Device Entity class model
* @Author: ShiHuan SUN
* @E-mail: 13733918655@163.com
* @Website: http://thinglinks.mqttsnet.com
* @CreateDate: 2022/5/4$ 18:57$
* @UpdateUser: ShiHuan SUN
* @UpdateDate: 2022/5/4$ 18:57$
* @UpdateRemark: 修改内容
* @Version: V1.0
*/
public
class
DeviceModel
extends
Device
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
}
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/controller/device/DeviceController.java
浏览文件 @
659a9301
package
com.mqttsnet.thinglinks.link.controller.device
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mqttsnet.thinglinks.common.core.annotation.NoRepeatSubmit
;
import
com.mqttsnet.thinglinks.common.core.domain.R
;
import
com.mqttsnet.thinglinks.common.core.enums.DeviceConnectStatus
;
import
com.mqttsnet.thinglinks.common.core.utils.StringUtils
;
import
com.mqttsnet.thinglinks.common.core.utils.poi.ExcelUtil
;
import
com.mqttsnet.thinglinks.common.core.web.controller.BaseController
;
...
...
@@ -20,6 +23,7 @@ import com.mqttsnet.thinglinks.link.api.domain.product.entity.Product;
import
com.mqttsnet.thinglinks.link.service.product.ProductService
;
import
com.mqttsnet.thinglinks.system.api.domain.SysUser
;
import
com.mqttsnet.thinglinks.system.api.model.LoginUser
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
com.mqttsnet.thinglinks.link.service.device.DeviceService
;
...
...
@@ -45,11 +49,20 @@ public class DeviceController extends BaseController {
*/
@PreAuthorize
(
hasPermi
=
"link:device:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
Device
device
)
public
R
<
Map
<
String
,
Object
>>
list
(
Device
device
)
{
startPage
();
final
Map
<
String
,
Object
>
results
=
new
HashMap
<>();
List
<
Device
>
list
=
deviceService
.
selectDeviceList
(
device
);
return
getDataTable
(
list
);
//查询设备数据
results
.
put
(
"device"
,
getDataTable
(
list
));
//统计设备在线数量
results
.
put
(
"onlineCount"
,
deviceService
.
countDistinctClientIdByConnectStatus
(
DeviceConnectStatus
.
ONLINE
.
getValue
()));
//统计设备离线数量
results
.
put
(
"offlineCount"
,
deviceService
.
countDistinctClientIdByConnectStatus
(
DeviceConnectStatus
.
OFFLINE
.
getValue
()));
//统计设备初始化数量
results
.
put
(
"initCount"
,
deviceService
.
countDistinctClientIdByConnectStatus
(
DeviceConnectStatus
.
INIT
.
getValue
()));
return
R
.
ok
(
results
);
}
/**
...
...
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/mapper/device/DeviceMapper.java
浏览文件 @
659a9301
...
...
@@ -155,6 +155,8 @@ public interface DeviceMapper {
Device
findOneByClientIdOrDeviceIdentification
(
@Param
(
"clientId"
)
String
clientId
,
@Param
(
"deviceIdentification"
)
String
deviceIdentification
);
Long
countDistinctClientIdByConnectStatus
(
@Param
(
"connectStatus"
)
String
connectStatus
);
...
...
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/service/device/DeviceService.java
浏览文件 @
659a9301
...
...
@@ -131,5 +131,10 @@ public interface DeviceService {
* @return
*/
int
disconnect
(
Long
[]
ids
);
Long
countDistinctClientIdByConnectStatus
(
String
connectStatus
);
}
thinglinks-modules/thinglinks-modules-link/src/main/java/com/mqttsnet/thinglinks/link/service/device/impl/DeviceServiceImpl.java
浏览文件 @
659a9301
...
...
@@ -315,5 +315,13 @@ public class DeviceServiceImpl implements DeviceService {
return
0
;
}
@Override
public
Long
countDistinctClientIdByConnectStatus
(
String
connectStatus
){
return
deviceMapper
.
countDistinctClientIdByConnectStatus
(
connectStatus
);
}
}
thinglinks-modules/thinglinks-modules-link/src/main/resources/mapper/link/device/DeviceMapper.xml
浏览文件 @
659a9301
...
...
@@ -1255,4 +1255,15 @@
</if>
</where>
</select>
<!--Author By ShiHuan Sun E-mail: 13733918655@163.com on 2022-05-04-->
<select
id=
"countDistinctClientIdByConnectStatus"
resultType=
"java.lang.Long"
>
select count(distinct(client_id))
from device
<where>
<if
test=
"connectStatus != null"
>
and connect_status=#{connectStatus}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
thinglinks-ui/src/api/tdengine/shadow.js
0 → 100644
浏览文件 @
659a9301
import
request
from
'
@/utils/request
'
import
{
praseStrEmpty
}
from
"
@/utils/thinglinks
"
;
// 查询设备管理列表
export
function
listDevice
(
query
)
{
return
request
({
url
:
'
/link/device/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询设备管理详细
export
function
getDevice
(
id
)
{
return
request
({
url
:
'
/link/device/
'
+
praseStrEmpty
(
id
),
method
:
'
get
'
})
}
// 新增设备管理
export
function
addDevice
(
data
)
{
return
request
({
url
:
'
/link/device
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改设备管理
export
function
updateDevice
(
data
)
{
return
request
({
url
:
'
/link/device
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除设备管理
export
function
delDevice
(
id
)
{
return
request
({
url
:
'
/link/device/
'
+
id
,
method
:
'
delete
'
})
}
// 断开设备连接
export
function
disconnectDevice
(
id
)
{
return
request
({
url
:
'
/link/device/disconnect/
'
+
id
,
method
:
'
post
'
})
}
thinglinks-ui/src/assets/images/
C
ommon/green_point.png
→
thinglinks-ui/src/assets/images/
c
ommon/green_point.png
浏览文件 @
659a9301
文件已移动
thinglinks-ui/src/assets/images/
C
ommon/red_point.png
→
thinglinks-ui/src/assets/images/
c
ommon/red_point.png
浏览文件 @
659a9301
文件已移动
thinglinks-ui/src/assets/images/
C
ommon/yellow_point.png
→
thinglinks-ui/src/assets/images/
c
ommon/yellow_point.png
浏览文件 @
659a9301
文件已移动
thinglinks-ui/src/views/
link/terminal
/detail.vue
→
thinglinks-ui/src/views/
tdengine/shadow
/detail.vue
浏览文件 @
659a9301
...
...
@@ -36,7 +36,7 @@
</div>
</template>
<
script
>
import
{
dataList
}
from
"
@/api/
statistical/target
"
;
import
{
dataList
}
from
"
@/api/
tdengine/shadow
"
;
export
default
{
data
()
{
return
{
...
...
@@ -82,7 +82,7 @@ export default {
},
goBack
()
{
this
.
$router
.
push
({
path
:
"
/
StatisticalMonitor
/Terminal
"
,
path
:
"
/
shadow
/Terminal
"
,
query
:
{
activeNameBack
:
this
.
$route
.
query
.
activeName
,
clientIdBack
:
this
.
$route
.
query
.
clientId
,
...
...
@@ -182,7 +182,7 @@ export default {
vertical-align
:
middle
;
width
:
24px
;
height
:
24px
;
background
:
url("
../../.././assets/images/C
ommon/green_point.png")
no-repeat
background
:
url("
src/assets/images/c
ommon/green_point.png")
no-repeat
50%
50%
;
background-size
:
100%
;
margin-left
:
8px
;
...
...
@@ -192,7 +192,7 @@ export default {
vertical-align
:
middle
;
width
:
24px
;
height
:
24px
;
background
:
url("
../../.././assets/images/C
ommon/red_point.png")
no-repeat
50%
background
:
url("
src/assets/images/c
ommon/red_point.png")
no-repeat
50%
50%
;
background-size
:
100%
;
margin-left
:
8px
;
...
...
@@ -205,4 +205,4 @@ export default {
.el-form-item
{
margin-bottom
:
0px
!important
;
}
</
style
>
\ No newline at end of file
</
style
>
thinglinks-ui/src/views/
link/terminal
/guanfu.vue
→
thinglinks-ui/src/views/
tdengine/shadow
/guanfu.vue
浏览文件 @
659a9301
...
...
@@ -261,7 +261,7 @@ export default {
},
gotoDetailGuan
(
row
)
{
this
.
$router
.
push
({
path
:
"
/StatisticalMonitor/Terminal/terminaldetail
"
,
path
:
"
/
shadow/
StatisticalMonitor/Terminal/terminaldetail
"
,
query
:
{
activeName
:
"
1
"
,
row
:
row
,
...
...
@@ -361,4 +361,8 @@ export default {
color
:
#56b4b0
;
}
</
style
>
<
style
scoped
>
\ No newline at end of file
<
style
scoped
>
.el-form-item
{
margin-bottom
:
0px
!important
;
}
</
style
>
thinglinks-ui/src/views/
link/terminal
/index.vue
→
thinglinks-ui/src/views/
tdengine/shadow
/index.vue
浏览文件 @
659a9301
文件已移动
thinglinks-ui/src/views/
link/terminal
/lemp.vue
→
thinglinks-ui/src/views/
tdengine/shadow
/lemp.vue
浏览文件 @
659a9301
...
...
@@ -248,7 +248,7 @@ export default {
},
gotoDetail
(
row
)
{
this
.
$router
.
push
({
path
:
"
/StatisticalMonitor/Terminal/terminaldetail
"
,
path
:
"
/
shadow/
StatisticalMonitor/Terminal/terminaldetail
"
,
query
:
{
activeName
:
"
2
"
,
row
:
row
,
...
...
@@ -348,4 +348,3 @@ export default {
color
:
#56b4b0
;
}
</
style
>
<
style
scoped
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录