Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart-office-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-office-platform
Commits
e4627ea1
Commit
e4627ea1
authored
May 29, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改同步用户
parent
32efcfdd
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
2297 additions
and
46 deletions
+2297
-46
doc/智慧办公系统.docx
doc/智慧办公系统.docx
+0
-0
smart-office-manager-ui/admin/src/views/room/drawershow.vue
smart-office-manager-ui/admin/src/views/room/drawershow.vue
+22
-3
smart-office-manager-ui/admin/src/views/room/list.vue
smart-office-manager-ui/admin/src/views/room/list.vue
+38
-1
smart-office-manager-ui/admin/vue.config.js
smart-office-manager-ui/admin/vue.config.js
+1
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/DeviceService.java
.../com/mortals/xhx/module/device/service/DeviceService.java
+2
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceServiceImpl.java
...als/xhx/module/device/service/impl/DeviceServiceImpl.java
+2
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/web/MettingRecordController.java
...rtals/xhx/module/metting/web/MettingRecordController.java
+7
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/room/dao/RoomDeviceDao.java
...n/java/com/mortals/xhx/module/room/dao/RoomDeviceDao.java
+17
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/dao/ibatis/RoomDeviceDaoImpl.java
...mortals/xhx/module/room/dao/ibatis/RoomDeviceDaoImpl.java
+21
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomDeviceEntity.java
...a/com/mortals/xhx/module/room/model/RoomDeviceEntity.java
+73
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomDeviceQuery.java
...va/com/mortals/xhx/module/room/model/RoomDeviceQuery.java
+1104
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomEntity.java
...in/java/com/mortals/xhx/module/room/model/RoomEntity.java
+15
-8
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomQuery.java
...ain/java/com/mortals/xhx/module/room/model/RoomQuery.java
+2
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/vo/RoomDeviceVo.java
...va/com/mortals/xhx/module/room/model/vo/RoomDeviceVo.java
+36
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/vo/RoomVo.java
...ain/java/com/mortals/xhx/module/room/model/vo/RoomVo.java
+4
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/RoomDeviceService.java
...om/mortals/xhx/module/room/service/RoomDeviceService.java
+16
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomDeviceServiceImpl.java
...s/xhx/module/room/service/impl/RoomDeviceServiceImpl.java
+21
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
...mortals/xhx/module/room/service/impl/RoomServiceImpl.java
+75
-18
smart-office-manager/src/main/java/com/mortals/xhx/module/room/web/RoomController.java
.../java/com/mortals/xhx/module/room/web/RoomController.java
+13
-7
smart-office-manager/src/main/java/com/mortals/xhx/module/room/web/RoomDeviceController.java
...com/mortals/xhx/module/room/web/RoomDeviceController.java
+49
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
...com/mortals/xhx/module/workman/web/WorkmanController.java
+6
-1
smart-office-manager/src/main/resources/sqlmap/module/room/RoomDeviceMapper.xml
...rc/main/resources/sqlmap/module/room/RoomDeviceMapper.xml
+675
-0
smart-office-manager/src/main/resources/sqlmap/module/room/RoomMapper.xml
...ager/src/main/resources/sqlmap/module/room/RoomMapper.xml
+28
-1
smart-office-manager/src/test/java/com/mortals/httpclient/http-client.env.json
...src/test/java/com/mortals/httpclient/http-client.env.json
+6
-0
smart-office-manager/src/test/java/com/mortals/httpclient/room/RoomDeviceController.http
...ava/com/mortals/httpclient/room/RoomDeviceController.http
+63
-0
smart-office-manager/src/test/java/com/mortals/httpclient/workman/WorkmanController.http
...ava/com/mortals/httpclient/workman/WorkmanController.http
+1
-2
No files found.
doc/智慧办公系统.docx
View file @
e4627ea1
No preview for this file type
smart-office-manager-ui/admin/src/views/room/drawershow.vue
View file @
e4627ea1
...
...
@@ -9,8 +9,8 @@
<el-row>
<Field
:span=
"20"
label=
"房间名称"
prop=
"roomName"
v-model=
"form.roomName"
placeholder=
"请输入房间名称"
/>
<Field
:span=
"20"
label=
"房间编码"
prop=
"roomCode"
v-model=
"form.roomCode"
placeholder=
"请输入房间编码"
/>
<Field
:span=
"20"
label=
"房间类型"
prop=
"roomType"
v-model=
"form.roomType"
type=
"select"
:enumData=
"dict.roomType"
placeholder=
"请选择房间类型"
/>
<Field
:span=
"20"
label=
"关联设备"
prop=
"deviceId"
v-model=
"
form.deviceId"
type=
"select"
:enumData=
"dict.deviceId
"
placeholder=
"请选择绑定的电子门牌的设备ID"
/>
<Field
:span=
"20"
label=
"房间类型"
prop=
"roomType"
v-model=
"form.roomType"
type=
"select"
:enumData=
"dict.roomType"
placeholder=
"请选择房间类型"
/>
<Field
:span=
"20"
label=
"关联设备"
prop=
"deviceId"
v-model=
"
deviceIds"
type=
"select"
:multiple=
"true"
:enumData=
"dict.deviceIds
"
placeholder=
"请选择绑定的电子门牌的设备ID"
/>
<Field
:span=
"20"
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
...
...
@@ -34,6 +34,8 @@
},
data
()
{
return
{
roomDeviceList
:
[],
deviceIds
:[],
// 遮罩层
loading
:
true
,
// 弹出层标题
...
...
@@ -47,6 +49,7 @@
],
toDate
:[
],
toArrays
:[],
// 表单校验
rules
:
{
roomName
:
[
...
...
@@ -97,13 +100,29 @@
cancel
()
{
this
.
open
=
false
;
},
// 渲染前置处理
beforeRender
(
data
)
{
this
.
deviceIds
=
[]
if
(
data
.
entity
.
roomDeviceList
&&
data
.
entity
.
roomDeviceList
.
length
>
0
){
this
.
deviceIds
=
data
.
entity
.
roomDeviceList
.
map
(
i
=>
i
.
deviceId
+
""
)
}
return
data
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
beforeSubmit
(
data
)
{
data
.
deviceName
=
this
.
dict
.
deviceId
[
data
.
deviceId
]
// data.deviceName=this.dict.deviceId[data.deviceId]
console
.
log
(
this
.
deviceIds
)
let
roomDeviceList
=
this
.
deviceIds
.
map
(
i
=>
{
let
obj
=
{}
obj
.
deviceId
=
i
return
obj
})
data
.
roomDeviceList
=
roomDeviceList
;
return
data
},
...
...
smart-office-manager-ui/admin/src/views/room/list.vue
View file @
e4627ea1
...
...
@@ -21,6 +21,24 @@
created
()
{
},
methods
:
{
renderTable
(
tableData
)
{
return
(
<
el
-
table
stripe
data
=
{
tableData
}
class
=
"
total-table
"
>
{
this
.
columnSet
.
map
((
item
)
=>
this
.
renderTableColumn
(
item
))}
<
/el-table
>
);
},
renderTableColumn
(
options
)
{
return
(
<
el
-
table
-
column
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
formatter
=
{
options
.
formatter
}
>
<
/el-table-column
>
);
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
...
...
@@ -37,6 +55,11 @@
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:[
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
,
width
:
150
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
width
:
150
}
],
config
:
{
search
:
[
{
...
...
@@ -56,7 +79,21 @@
{
label
:
"
房间类型
"
,
prop
:
"
roomType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
绑定设备
"
,
prop
:
"
deviceName
"
},
{
label
:
"
绑定设备
"
,
width
:
120
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
let
widthsize
=
this
.
columnSet
.
reduce
((
pre
,
cur
)
=>
{
return
pre
+
Number
(
cur
.
width
);
},
50
);
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
roomDeviceList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
},
},
{
label
:
"
员工人数
"
,
prop
:
"
countPerson
"
,
formatter
:
this
.
formatter
},
...
...
smart-office-manager-ui/admin/vue.config.js
View file @
e4627ea1
...
...
@@ -17,7 +17,7 @@ module.exports = {
hot
:
true
,
//自动保存
proxy
:
{
'
/office
'
:
{
target
:
'
http://1
92.168.0.98:1
1085
'
,
target
:
'
http://1
27.0.0.1:2
1085
'
,
changeOrigin
:
true
,
secure
:
false
,
cookieDomainRewrite
:
'
localhost
'
,
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/DeviceService.java
View file @
e4627ea1
package
com.mortals.xhx.module.device.service
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.dao.DeviceDao
;
...
...
@@ -11,7 +12,7 @@ import com.mortals.xhx.module.device.dao.DeviceDao;
* @author zxfei
* @date 2023-05-22
*/
public
interface
DeviceService
extends
ICRUD
Service
<
DeviceEntity
,
Long
>
{
public
interface
DeviceService
extends
ICRUD
CacheService
<
DeviceEntity
,
Long
>
{
DeviceDao
getDao
();
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceServiceImpl.java
View file @
e4627ea1
...
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.module.device.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.xhx.common.code.DeviceMethodEnum
;
import
com.mortals.xhx.common.code.DeviceStatusEnum
;
import
com.mortals.xhx.common.code.EnabledEnum
;
...
...
@@ -36,7 +37,7 @@ import java.util.List;
*/
@Service
(
"deviceService"
)
@Slf4j
public
class
DeviceServiceImpl
extends
AbstractCRUDServiceImpl
<
DeviceDao
,
DeviceEntity
,
Long
>
implements
DeviceService
{
public
class
DeviceServiceImpl
extends
AbstractCRUD
Cache
ServiceImpl
<
DeviceDao
,
DeviceEntity
,
Long
>
implements
DeviceService
{
@Autowired
private
IDeviceFeign
deviceFeign
;
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/web/MettingRecordController.java
View file @
e4627ea1
...
...
@@ -9,8 +9,11 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.metting.model.MettingRecordEntity
;
import
com.mortals.xhx.module.metting.service.MettingRecordService
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.model.RoomDeviceQuery
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -36,6 +39,8 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
private
ParamService
paramService
;
@Autowired
private
RoomService
roomService
;
@Autowired
private
RoomDeviceService
roomDeviceService
;
public
MettingRecordController
()
{
...
...
@@ -63,7 +68,8 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeviceCode
()))
{
//根据设备编码 查询房间room
RoomEntity
roomEntity
=
roomService
.
selectOne
(
new
RoomQuery
().
deviceCode
(
query
.
getDeviceCode
()));
RoomDeviceEntity
roomEntity
=
roomDeviceService
.
selectOne
(
new
RoomDeviceQuery
().
deviceCode
(
query
.
getDeviceCode
()));
//RoomEntity roomEntity = roomService.selectOne(new RoomQuery().deviceCode(query.getDeviceCode()));
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
query
.
setRoomId
(
roomEntity
.
getId
());
}
else
{
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/room/dao/RoomDeviceDao.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
java.util.List
;
/**
* 房间设备信息Dao
* 房间设备信息 DAO接口
*
* @author zxfei
* @date 2023-05-29
*/
public
interface
RoomDeviceDao
extends
ICRUDDao
<
RoomDeviceEntity
,
Long
>{
}
smart-office-manager/src/main/java/com/mortals/xhx/module/room/dao/ibatis/RoomDeviceDaoImpl.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.dao.ibatis
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.room.dao.RoomDeviceDao
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
/**
* 房间设备信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-29
*/
@Repository
(
"roomDeviceDao"
)
public
class
RoomDeviceDaoImpl
extends
BaseCRUDDaoMybatis
<
RoomDeviceEntity
,
Long
>
implements
RoomDeviceDao
{
}
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomDeviceEntity.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.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.room.model.vo.RoomDeviceVo
;
import
lombok.Data
;
/**
* 房间设备信息实体对象
*
* @author zxfei
* @date 2023-05-29
*/
@Data
public
class
RoomDeviceEntity
extends
RoomDeviceVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 房间id
*/
private
Long
roomId
;
/**
* 房间名称
*/
private
String
roomName
;
/**
* 设备id
*/
private
Long
deviceId
;
/**
* 设备编码
*/
private
String
deviceCode
;
/**
* 设备名称
*/
private
String
deviceName
;
/**
* 备注
*/
private
String
remark
;
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
RoomDeviceEntity
)
{
RoomDeviceEntity
tmp
=
(
RoomDeviceEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
void
initAttrValue
(){
this
.
roomId
=
-
1L
;
this
.
roomName
=
""
;
this
.
deviceId
=
-
1L
;
this
.
deviceCode
=
""
;
this
.
deviceName
=
""
;
this
.
remark
=
""
;
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomDeviceQuery.java
0 → 100644
View file @
e4627ea1
This diff is collapsed.
Click to expand it.
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomEntity.java
View file @
e4627ea1
package
com.mortals.xhx.module.room.model
;
import
java.util.List
;
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.room.model.vo.RoomVo
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
lombok.Data
;
/**
* 房间管理实体对象
*
* @author zxfei
* @date 2023-05-2
5
* @date 2023-05-2
9
*/
@Data
public
class
RoomEntity
extends
RoomVo
{
...
...
@@ -51,12 +50,21 @@ public class RoomEntity extends RoomVo {
* 绑定的设备编码
*/
private
String
deviceCode
;
/**
* 房间设备信息信息
*/
private
List
<
RoomDeviceEntity
>
roomDeviceList
=
new
ArrayList
<>();;
public
List
<
RoomDeviceEntity
>
getRoomDeviceList
(){
return
roomDeviceList
;
}
public
void
setRoomDeviceList
(
List
<
RoomDeviceEntity
>
roomDeviceList
){
this
.
roomDeviceList
=
roomDeviceList
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
...
...
@@ -69,7 +77,7 @@ public class RoomEntity extends RoomVo {
return
false
;
}
public
void
initAttrValue
()
{
public
void
initAttrValue
(){
this
.
roomName
=
""
;
...
...
@@ -77,10 +85,9 @@ public class RoomEntity extends RoomVo {
this
.
roomType
=
0
;
this
.
deviceId
=
null
;
this
.
deviceId
=
-
1L
;
this
.
deviceName
=
""
;
this
.
deviceCode
=
""
;
this
.
countPerson
=
0L
;
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomQuery.java
View file @
e4627ea1
package
com.mortals.xhx.module.room.model
;
import
java.util.List
;
import
java.util.List
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
/**
* 房间管理查询对象
*
* @author zxfei
* @date 2023-05-2
5
* @date 2023-05-2
9
*/
public
class
RoomQuery
extends
RoomEntity
{
/** 开始 主键ID,主键,自增长 */
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/vo/RoomDeviceVo.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
import
com.mortals.framework.annotation.Excel
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 房间设备信息视图对象
*
* @author zxfei
* @date 2023-05-29
*/
@Data
public
class
RoomDeviceVo
extends
BaseEntityLong
{
/**
* 房间名称
*/
@Excel
(
name
=
"房间名称"
)
private
String
roomName
;
/**
* 设备编码
*/
@Excel
(
name
=
"设备编码"
)
private
String
deviceCode
;
/**
* 设备名称
*/
@Excel
(
name
=
"设备名称"
)
private
String
deviceName
;
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/vo/RoomVo.java
View file @
e4627ea1
...
...
@@ -22,5 +22,9 @@ public class RoomVo extends BaseEntityLong {
@Excel
(
name
=
"房间名称"
)
private
String
roomName
;
private
List
<
Long
>
deviceIdList
;
private
List
<
String
>
deviceCodeList
;
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/RoomDeviceService.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.dao.RoomDeviceDao
;
/**
* RoomDeviceService
*
* 房间设备信息 service接口
*
* @author zxfei
* @date 2023-05-29
*/
public
interface
RoomDeviceService
extends
ICRUDService
<
RoomDeviceEntity
,
Long
>{
RoomDeviceDao
getDao
();
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomDeviceServiceImpl.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.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.room.dao.RoomDeviceDao
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
import
lombok.extern.slf4j.Slf4j
;
/**
* RoomDeviceService
* 房间设备信息 service实现
*
* @author zxfei
* @date 2023-05-29
*/
@Service
(
"roomDeviceService"
)
@Slf4j
public
class
RoomDeviceServiceImpl
extends
AbstractCRUDServiceImpl
<
RoomDeviceDao
,
RoomDeviceEntity
,
Long
>
implements
RoomDeviceService
{
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
View file @
e4627ea1
package
com.mortals.xhx.module.room.service.impl
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -9,33 +10,89 @@ import com.mortals.framework.model.Context;
import
com.mortals.xhx.module.room.dao.RoomDao
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.model.RoomDeviceQuery
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
import
org.springframework.util.ObjectUtils
;
import
java.util.Date
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
lombok.extern.slf4j.Slf4j
;
/**
* RoomService
* 房间管理 service实现
*
* @author zxfei
* @date 2023-05-22
*/
* RoomService
* 房间管理 service实现
*
* @author zxfei
* @date 2023-05-29
*/
@Service
(
"roomService"
)
@Slf4j
public
class
RoomServiceImpl
extends
AbstractCRUDServiceImpl
<
RoomDao
,
RoomEntity
,
Long
>
implements
RoomService
{
@Autowired
private
RoomDeviceService
roomDeviceService
;
@Autowired
private
DeviceService
deviceService
;
@Override
protected
void
saveAfter
(
RoomEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getRoomDeviceList
()))
{
entity
.
getRoomDeviceList
().
stream
().
peek
(
item
->
{
item
.
setRoomId
(
entity
.
getId
());
item
.
setRoomName
(
entity
.
getRoomName
());
DeviceEntity
deviceCache
=
deviceService
.
getCache
(
item
.
getDeviceId
().
toString
());
item
.
setDeviceId
(
item
.
getDeviceId
());
item
.
setDeviceCode
(
deviceCache
==
null
?
""
:
deviceCache
.
getDeviceCode
());
item
.
setDeviceName
(
deviceCache
==
null
?
""
:
deviceCache
.
getDeviceName
());
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
}).
count
();
roomDeviceService
.
save
(
entity
.
getRoomDeviceList
());
}
super
.
saveAfter
(
entity
,
context
);
}
@Override
protected
void
validData
(
RoomEntity
entity
,
Context
context
)
throws
AppException
{
super
.
validData
(
entity
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getDeviceId
())){
DeviceEntity
deviceEntity
=
deviceService
.
get
(
entity
.
getDeviceId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
deviceEntity
)){
entity
.
setDeviceCode
(
deviceEntity
.
getDeviceCode
());
entity
.
setDeviceName
(
deviceEntity
.
getDeviceName
());
}
protected
void
updateAfter
(
RoomEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getRoomDeviceList
()))
{
List
<
Long
>
deviceIdList
=
entity
.
getRoomDeviceList
().
stream
().
map
(
i
->
i
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
RoomDeviceQuery
roomDeviceQuery
=
new
RoomDeviceQuery
();
roomDeviceQuery
.
setDeviceIdList
(
deviceIdList
);
Long
[]
roomDeviceIds
=
roomDeviceService
.
find
(
roomDeviceQuery
).
stream
().
map
(
RoomDeviceEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roomDeviceService
.
remove
(
roomDeviceIds
,
context
);
roomDeviceIds
=
roomDeviceService
.
find
(
new
RoomDeviceQuery
().
roomId
(
entity
.
getId
())).
stream
().
map
(
RoomDeviceEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roomDeviceService
.
remove
(
roomDeviceIds
,
context
);
entity
.
getRoomDeviceList
().
stream
().
peek
(
item
->
{
item
.
setRoomId
(
entity
.
getId
());
item
.
setRoomName
(
entity
.
getRoomName
());
DeviceEntity
deviceCache
=
deviceService
.
getCache
(
item
.
getDeviceId
().
toString
());
item
.
setDeviceId
(
item
.
getDeviceId
());
item
.
setDeviceCode
(
deviceCache
==
null
?
""
:
deviceCache
.
getDeviceCode
());
item
.
setDeviceName
(
deviceCache
==
null
?
""
:
deviceCache
.
getDeviceName
());
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
item
.
setUpdateUserId
(
this
.
getContextUserId
(
context
));
item
.
setUpdateTime
(
new
Date
());
}).
count
();
roomDeviceService
.
save
(
entity
.
getRoomDeviceList
());
}
super
.
updateAfter
(
entity
,
context
);
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
List
<
RoomDeviceEntity
>
roomDevicelist
=
roomDeviceService
.
find
(
new
RoomDeviceQuery
().
roomIdList
(
Arrays
.
asList
(
ids
)));
roomDeviceService
.
removeList
(
roomDevicelist
,
context
);
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/web/RoomController.java
View file @
e4627ea1
...
...
@@ -6,7 +6,9 @@ import com.mortals.xhx.common.code.DeviceTypeEnum;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
com.mortals.xhx.module.room.model.RoomDeviceQuery
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -42,6 +44,8 @@ public class RoomController extends BaseCRUDJsonBodyMappingController<RoomServic
private
ParamService
paramService
;
@Autowired
private
DeviceService
deviceService
;
@Autowired
private
RoomDeviceService
roomDeviceService
;
public
RoomController
(){
...
...
@@ -52,18 +56,20 @@ public class RoomController extends BaseCRUDJsonBodyMappingController<RoomServic
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"roomType"
,
paramService
.
getParamBySecondOrganize
(
"Room"
,
"roomType"
));
this
.
addDict
(
model
,
"device"
,
deviceService
.
find
(
new
DeviceQuery
()));
Set
<
Long
>
deviceLedSet
=
this
.
service
.
find
(
new
RoomQuery
()).
stream
().
filter
(
f
->
f
.
getDeviceId
()
!=
null
).
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toSet
());
Set
<
Long
>
deviceLedSet
=
roomDeviceService
.
find
(
new
RoomDeviceQuery
()).
stream
().
filter
(
f
->
f
.
getDeviceId
()
!=
null
).
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toSet
());
// Set<Long> deviceLedSet = this.service.find(new RoomQuery()).stream().filter(f -> f.getDeviceId() != null).map(item -> item.getDeviceId()).collect(Collectors.toSet());
Map
<
String
,
String
>
ledMap
=
deviceService
.
find
(
new
DeviceQuery
()).
stream
().
filter
(
f
->
!
deviceLedSet
.
contains
(
f
.
getId
()))
.
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getDeviceName
(),
(
o
,
n
)
->
n
));
RoomEntity
roomEntity
=
(
RoomEntity
)
model
.
get
(
KEY_RESULT_ENTITY
);
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
if
(
roomEntity
.
getDeviceId
()
!=
null
)
{
//关联led大屏设备 排除已经存在的设备
ledMap
.
put
(
roomEntity
.
getDeviceId
().
toString
(),
roomEntity
.
getDeviceName
());
}
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
)&&!
roomEntity
.
newEntity
())
{
ledMap
=
deviceService
.
find
(
new
DeviceQuery
()).
stream
()
.
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getDeviceName
(),
(
o
,
n
)
->
n
));
}
this
.
addDict
(
model
,
"deviceId"
,
ledMap
);
this
.
addDict
(
model
,
"deviceId
s
"
,
ledMap
);
super
.
init
(
model
,
context
);
}
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/room/web/RoomDeviceController.java
0 → 100644
View file @
e4627ea1
package
com.mortals.xhx.module.room.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.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
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-29
*/
@RestController
@RequestMapping
(
"room/device"
)
public
class
RoomDeviceController
extends
BaseCRUDJsonBodyMappingController
<
RoomDeviceService
,
RoomDeviceEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
public
RoomDeviceController
(){
super
.
setModuleDesc
(
"房间设备信息"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
View file @
e4627ea1
...
...
@@ -10,8 +10,11 @@ import com.mortals.xhx.feign.device.IDeviceMessageFeign;
import
com.mortals.xhx.module.basic.model.BasicStatusQuery
;
import
com.mortals.xhx.module.basic.service.BasicStatusService
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.room.model.RoomDeviceEntity
;
import
com.mortals.xhx.module.room.model.RoomDeviceQuery
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.service.RoomDeviceService
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
com.mortals.xhx.module.workman.model.WorkmanQuery
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -57,6 +60,8 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
private
RoomService
roomService
;
@Autowired
private
BasicStatusService
statusService
;
@Autowired
private
RoomDeviceService
roomDeviceService
;
public
WorkmanController
()
{
...
...
@@ -78,7 +83,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeviceCode
()))
{
//根据设备编码 查询房间room
Room
Entity
roomEntity
=
roomService
.
selectOne
(
new
Room
Query
().
deviceCode
(
query
.
getDeviceCode
()));
Room
DeviceEntity
roomEntity
=
roomDeviceService
.
selectOne
(
new
RoomDevice
Query
().
deviceCode
(
query
.
getDeviceCode
()));
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
query
.
setRoomId
(
roomEntity
.
getId
());
}
else
{
...
...
smart-office-manager/src/main/resources/sqlmap/module/room/RoomDeviceMapper.xml
0 → 100644
View file @
e4627ea1
This diff is collapsed.
Click to expand it.
smart-office-manager/src/main/resources/sqlmap/module/room/RoomMapper.xml
View file @
e4627ea1
...
...
@@ -18,7 +18,20 @@
<result
property=
"updateUserId"
column=
"updateUserId"
/>
<result
property=
"updateTime"
column=
"updateTime"
/>
<result
property=
"deviceCode"
column=
"deviceCode"
/>
<collection
property=
"roomDeviceList"
column=
"id"
ofType=
"RoomDeviceEntity"
javaType=
"ArrayList"
select=
"getRoomDeviceByRoomId"
></collection>
</resultMap>
<resultMap
type=
"RoomDeviceEntity"
id=
"RoomDeviceEntity-Map"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"roomId"
column=
"roomId"
/>
<result
property=
"roomName"
column=
"roomName"
/>
<result
property=
"deviceId"
column=
"deviceId"
/>
<result
property=
"deviceCode"
column=
"deviceCode"
/>
<result
property=
"deviceName"
column=
"deviceName"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"createUserId"
column=
"createUserId"
/>
<result
property=
"createTime"
column=
"createTime"
/>
<result
property=
"updateUserId"
column=
"updateUserId"
/>
<result
property=
"updateTime"
column=
"updateTime"
/>
</resultMap>
...
...
@@ -66,6 +79,12 @@
</if>
</trim>
</sql>
<!-- 子表所有列 -->
<sql
id=
"_columns_sub"
>
<trim
suffixOverrides=
","
suffix=
""
>
b.id,b.roomId,b.roomName,b.deviceId,b.deviceCode,b.deviceName,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert
id=
"insert"
parameterType=
"RoomEntity"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into mortals_xhx_room
...
...
@@ -322,6 +341,14 @@
</trim>
<include
refid=
"_orderCols_"
/>
</select>
<!-- 获取子列表 -->
<select
id=
"getRoomDeviceByRoomId"
parameterType=
"java.lang.Long"
resultMap=
"RoomDeviceEntity-Map"
>
select
<include
refid=
"_columns_sub"
/>
from mortals_xhx_room_device as b
<trim
suffixOverrides=
"where"
suffix=
""
>
where b.roomId = #{id}
</trim>
</select>
...
...
smart-office-manager/src/test/java/com/mortals/httpclient/http-client.env.json
View file @
e4627ea1
...
...
@@ -14,5 +14,11 @@
"portal"
:
{
"baseUrl"
:
"http://192.168.0.98:11072/zwfw"
,
"baseLogin"
:
"http://192.168.0.98:11078/base"
},
"yibin"
:
{
"baseUrl"
:
"http://10.12.185.213:11085/office"
},
"yibin-web"
:
{
"baseUrl"
:
"http://112.19.80.237:11085/office"
}
}
\ No newline at end of file
smart-office-manager/src/test/java/com/mortals/httpclient/room/RoomDeviceController.http
0 → 100644
View file @
e4627ea1
###登录
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}}/room/device/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###房间设备信息更新与保存
POST {{baseUrl}}/room/device/save
Authorization: {{authToken}}
Content-Type: application/json
{
"roomId":853,
"roomName":"tqkgqw",
"deviceId":180,
"deviceCode":"t14kl7",
"deviceName":"i709re",
"remark":"rems5z",
}
> {%
client.global.set("RoomDevice_id", JSON.parse(response.body).data.id);
%}
###房间设备信息查看
GET {{baseUrl}}/room/device/info?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
###房间设备信息编辑
GET {{baseUrl}}/room/device/edit?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
###房间设备信息删除
GET {{baseUrl}}/room/device/delete?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
smart-office-manager/src/test/java/com/mortals/httpclient/workman/WorkmanController.http
View file @
e4627ea1
...
...
@@ -19,8 +19,7 @@ Content-Type: application/json
{
"page":1,
"size":10,
"deviceCode": "18-93-7f-b7-f9-4a"
"size":10
}
...
...
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