Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iot-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SuperHive
back-end
iot-service
Commits
921c9e6c
Commit
921c9e6c
authored
Aug 10, 2020
by
huangcb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取设备类型时,增加返回字段:设备实例数量
parent
32e61303
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
67 additions
and
4 deletions
+67
-4
DeviceInstanceDao.java
...acenter/iot/module/devicemodel/dao/DeviceInstanceDao.java
+12
-0
DeviceInstanceService.java
...iot/module/devicemodel/service/DeviceInstanceService.java
+10
-0
DeviceInstanceServiceImpl.java
...e/devicemodel/service/impl/DeviceInstanceServiceImpl.java
+17
-4
DeviceTypeServiceImpl.java
...odule/devicemodel/service/impl/DeviceTypeServiceImpl.java
+14
-0
DeviceTypeVO.java
...sv/datacenter/iot/module/devicemodel/vo/DeviceTypeVO.java
+4
-0
DeviceInstanceDao.xml
src/main/resources/mapper/devicemodel/DeviceInstanceDao.xml
+10
-0
No files found.
src/main/java/com/esv/datacenter/iot/module/devicemodel/dao/DeviceInstanceDao.java
View file @
921c9e6c
...
...
@@ -6,6 +6,9 @@ import com.esv.datacenter.iot.module.devicemodel.entity.DeviceInstanceEntity;
import
com.esv.datacenter.iot.module.devicemodel.form.DeviceInstanceForm
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
import
java.util.Map
;
/**
* 设备实例表
*
...
...
@@ -26,4 +29,13 @@ public interface DeviceInstanceDao extends BaseMapper<DeviceInstanceEntity> {
**/
IPage
select4Page
(
IPage
page
,
DeviceInstanceForm
queryObj
);
/**
* @description 查询设备类型的实例数量
* @param queryObj:
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Long>>
* @author huangChaobin@esvtek.com
* @createTime 2020/08/10 17:28
**/
List
<
Map
<
String
,
Long
>>
selectInstanceCountByType
(
Map
<
String
,
Object
>
queryObj
);
}
src/main/java/com/esv/datacenter/iot/module/devicemodel/service/DeviceInstanceService.java
View file @
921c9e6c
...
...
@@ -7,6 +7,7 @@ import com.esv.datacenter.iot.module.devicemodel.form.DeviceInstanceForm;
import
com.esv.datacenter.iot.module.devicemodel.vo.DeviceInstanceVO
;
import
java.util.List
;
import
java.util.Map
;
/**
* 设备实例Service
...
...
@@ -89,5 +90,14 @@ public interface DeviceInstanceService extends IService<DeviceInstanceEntity> {
**/
List
<
DeviceInstanceVO
>
getInstanceListByTypeId
(
Long
deviceTypeId
);
/**
* @description 查询设备类型的实例数量
* @param deviceTypeId:
* @return java.util.Map<java.lang.String,java.lang.Long>
* @author huangChaobin@esvtek.com
* @createTime 2020/08/10 17:30
**/
Map
<
String
,
Long
>
getInstanceCountByType
(
Long
deviceTypeId
);
}
src/main/java/com/esv/datacenter/iot/module/devicemodel/service/impl/DeviceInstanceServiceImpl.java
View file @
921c9e6c
...
...
@@ -13,14 +13,11 @@ import com.esv.datacenter.iot.module.devicemodel.entity.DeviceInstanceEntity;
import
com.esv.datacenter.iot.module.devicemodel.form.DeviceInstanceForm
;
import
com.esv.datacenter.iot.module.devicemodel.service.DeviceInstanceService
;
import
com.esv.datacenter.iot.module.devicemodel.vo.DeviceInstanceVO
;
import
com.esv.datacenter.iot.module.devicemodel.vo.DeviceTypeVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.*
;
@Service
(
"deviceInstanceService"
)
...
...
@@ -118,4 +115,20 @@ public class DeviceInstanceServiceImpl extends ServiceImpl<DeviceInstanceDao, De
return
voList
;
}
@Override
public
Map
<
String
,
Long
>
getInstanceCountByType
(
Long
deviceTypeId
)
{
Map
<
String
,
Object
>
queryObj
=
new
HashMap
<>(
1
);
if
(
Objects
.
nonNull
(
deviceTypeId
))
{
queryObj
.
put
(
"deviceTypeId"
,
deviceTypeId
);
}
List
<
Map
<
String
,
Long
>>
instanceCountMapList
=
this
.
getBaseMapper
().
selectInstanceCountByType
(
queryObj
);
Map
<
String
,
Long
>
instanceCountMap
=
new
HashMap
<>(
instanceCountMapList
.
size
());
for
(
Map
<
String
,
Long
>
map
:
instanceCountMapList
)
{
instanceCountMap
.
put
(
String
.
valueOf
(
map
.
get
(
"device_type_id"
)),
map
.
get
(
"count"
));
}
return
instanceCountMap
;
}
}
\ No newline at end of file
src/main/java/com/esv/datacenter/iot/module/devicemodel/service/impl/DeviceTypeServiceImpl.java
View file @
921c9e6c
...
...
@@ -16,6 +16,7 @@ import com.esv.datacenter.iot.module.devicemodel.dao.DeviceTypeDao;
import
com.esv.datacenter.iot.module.devicemodel.entity.DeviceTypeEntity
;
import
com.esv.datacenter.iot.module.devicemodel.form.DeviceTypeForm
;
import
com.esv.datacenter.iot.module.devicemodel.service.DeviceDataMapService
;
import
com.esv.datacenter.iot.module.devicemodel.service.DeviceInstanceService
;
import
com.esv.datacenter.iot.module.devicemodel.service.DeviceTypeService
;
import
com.esv.datacenter.iot.module.devicemodel.vo.DeviceTypeBriefVO
;
import
com.esv.datacenter.iot.module.devicemodel.vo.DeviceTypeVO
;
...
...
@@ -26,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
...
...
@@ -36,6 +38,8 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeDao, DeviceType
private
DeviceDataMapService
deviceDataMapService
;
@Autowired
private
DataModelPropertyService
dataModelPropertyService
;
@Autowired
private
DeviceInstanceService
deviceInstanceService
;
@Override
public
Long
insertDeviceType
(
DeviceTypeForm
form
)
{
...
...
@@ -84,14 +88,24 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeDao, DeviceType
@Override
public
PageResultVO
getType4Page
(
DeviceTypeForm
form
)
{
// 分页查询设备类型
IPage
<
DeviceTypeEntity
>
page
=
new
Page
<>(
form
.
getPageNum
(),
form
.
getPageSize
());
this
.
baseMapper
.
select4Page
(
page
,
form
);
// 查询设备类型对应的实例数量
Map
<
String
,
Long
>
instanceCountMap
=
deviceInstanceService
.
getInstanceCountByType
(
null
);
List
<
DeviceTypeEntity
>
entityList
=
page
.
getRecords
();
List
<
DeviceTypeVO
>
voList
=
new
ArrayList
<>();
Long
instanceCount
;
for
(
DeviceTypeEntity
entity
:
entityList
)
{
DeviceTypeVO
vo
=
new
DeviceTypeVO
();
BeanUtils
.
copyProperties
(
entity
,
vo
);
instanceCount
=
instanceCountMap
.
get
(
String
.
valueOf
(
entity
.
getId
()));
if
(
Objects
.
isNull
(
instanceCount
))
{
instanceCount
=
0L
;
}
vo
.
setInstanceCount
(
instanceCount
);
vo
.
setCreateTime
(
entity
.
getCreateTime
().
getTime
());
vo
.
setUpdateTime
(
entity
.
getUpdateTime
().
getTime
());
voList
.
add
(
vo
);
...
...
src/main/java/com/esv/datacenter/iot/module/devicemodel/vo/DeviceTypeVO.java
View file @
921c9e6c
...
...
@@ -25,6 +25,10 @@ public class DeviceTypeVO {
* 描述
*/
private
String
description
;
/**
* 设备实例数量
*/
private
Long
instanceCount
;
/**
* 创建者
*/
...
...
src/main/resources/mapper/devicemodel/DeviceInstanceDao.xml
View file @
921c9e6c
...
...
@@ -41,4 +41,14 @@
ORDER BY a.name ASC
</select>
<select
id=
"selectInstanceCountByType"
parameterType=
"java.util.Map"
resultType=
"java.util.Map"
>
select device_type_id, count(id) as count
from device_instance
where deleted = false
<if
test=
"deviceTypeId != null"
>
and device_type_id = #{deviceTypeId}
</if>
group by device_type_id
</select>
</mapper>
\ No newline at end of file
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