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
ea6ad660
Commit
ea6ad660
authored
May 25, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改同步用户
parent
483058fb
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
2852 additions
and
2113 deletions
+2852
-2113
common-lib/src/main/java/com/mortals/xhx/common/pdu/LoginForm.java
...b/src/main/java/com/mortals/xhx/common/pdu/LoginForm.java
+56
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceReq.java
...ain/java/com/mortals/xhx/common/pdu/device/DeviceReq.java
+138
-0
common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
.../main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
+36
-3
db/module.sql
db/module.sql
+5
-0
doc/api.md
doc/api.md
+79
-6
doc/智慧办公系统.docx
doc/智慧办公系统.docx
+0
-0
smart-office-manager-ui/admin/src/views/workman/drawershow.vue
...-office-manager-ui/admin/src/views/workman/drawershow.vue
+19
-1
smart-office-manager-ui/admin/src/views/workman/list.vue
smart-office-manager-ui/admin/src/views/workman/list.vue
+1
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceServiceImpl.java
...als/xhx/module/device/service/impl/DeviceServiceImpl.java
+33
-6
smart-office-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java
...a/com/mortals/xhx/module/device/web/DeviceController.java
+0
-2
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/model/vo/MettingRecordVo.java
.../mortals/xhx/module/metting/model/vo/MettingRecordVo.java
+2
-0
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/web/MettingRecordController.java
...rtals/xhx/module/metting/web/MettingRecordController.java
+10
-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
+41
-29
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomQuery.java
...ain/java/com/mortals/xhx/module/room/model/RoomQuery.java
+572
-516
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
...mortals/xhx/module/room/service/impl/RoomServiceImpl.java
+21
-1
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/WorkmanEntity.java
...a/com/mortals/xhx/module/workman/model/WorkmanEntity.java
+52
-40
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/WorkmanQuery.java
...va/com/mortals/xhx/module/workman/model/WorkmanQuery.java
+603
-491
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/vo/WorkmanVo.java
...va/com/mortals/xhx/module/workman/model/vo/WorkmanVo.java
+1
-10
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
...s/xhx/module/workman/service/impl/WorkmanServiceImpl.java
+26
-4
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
...com/mortals/xhx/module/workman/web/WorkmanController.java
+47
-14
smart-office-manager/src/main/resources/sqlmap/module/room/RoomMapper.xml
...ager/src/main/resources/sqlmap/module/room/RoomMapper.xml
+496
-456
smart-office-manager/src/main/resources/sqlmap/module/workman/WorkmanMapper.xml
...rc/main/resources/sqlmap/module/workman/WorkmanMapper.xml
+614
-534
No files found.
common-lib/src/main/java/com/mortals/xhx/common/pdu/LoginForm.java
0 → 100644
View file @
ea6ad660
package
com.mortals.xhx.common.pdu
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.web.BaseForm
;
public
class
LoginForm
extends
BaseForm
{
private
String
loginName
;
private
String
password
;
private
String
securityCode
;
public
String
getLoginName
()
{
return
loginName
;
}
public
void
setLoginName
(
String
loginName
)
{
this
.
loginName
=
loginName
;
}
public
String
getPassword
()
{
return
password
;
}
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
public
String
getSecurityCode
()
{
return
securityCode
;
}
public
void
setSecurityCode
(
String
securityCode
)
{
this
.
securityCode
=
securityCode
;
}
@Override
public
String
toString
()
{
return
"loginName:"
+
this
.
loginName
+
" password:"
+
this
.
password
;
}
@Override
public
boolean
validate
()
throws
AppException
{
if
(
loginName
==
null
||
loginName
.
trim
().
length
()
==
0
)
{
throw
new
AppException
(
"帐号不能为空!"
);
}
if
(
password
==
null
||
password
.
trim
().
length
()
==
0
)
{
throw
new
AppException
(
"密码不能为空!"
);
}
// if (securityCode == null || securityCode.trim().length() == 0) {
// throw new AppException("验证码不能为空!");
// }
return
super
.
validate
();
}
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceReq.java
0 → 100644
View file @
ea6ad660
package
com.mortals.xhx.common.pdu.device
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
public
class
DeviceReq
implements
Serializable
{
/**
* 1:新增,2:修改,3:删除,4:激活,5:启用,6:停用
*/
private
Integer
receiveMethod
;
/**
* 产品id
*/
private
Long
productId
;
/**
* 产品编码
*/
private
String
productCode
;
/**
* 设备生产厂商ID
*/
private
Long
deviceFirmId
;
/**
* 设备生产厂商名称
*/
private
String
deviceFirmname
;
/**
* 设备名称
*/
private
String
deviceName
;
/**
* 设备编码(暂定mac地址)
*/
private
String
deviceCode
;
/**
* 设备Mac
*/
private
String
deviceMac
;
/**
* 所属站点Id
*/
private
Long
siteId
;
/**
* 所属站点编码
*/
private
String
siteCode
;
/**
* 所属站点名称
*/
private
String
siteName
;
/**
* 设备备注信息
*/
private
String
deviceRemark
;
/**
* 设备
*/
private
String
homeUrl
;
/**
* 设备访问ip
*/
private
String
ip
;
/**
* 中心设备编码
*/
private
String
centernum
;
/**
* 端口
*/
private
String
port
;
/**
* 经度
*/
private
String
lon
;
/**
* 纬度
*/
private
String
lati
;
/**
* 楼层
*/
private
Integer
deviceInBuilding
;
/**
* 所属楼栋
*/
private
Integer
deviceInFloor
;
/**
* 负责人
*/
private
String
leadingOfficial
;
/**
* 联系电话
*/
private
String
leadingOfficialTelephone
;
/**
* 保修期至
*/
private
Date
defectsLiabilityPeriod
;
/**
* 设备状态 (0.未激活,1.离线,2.在线)
*/
private
Integer
deviceStatus
;
/**
* 设备来源(0.旧设备,1.新设备)
*/
private
Integer
source
;
/**
* 激活(0.否,1.是)
*/
private
Integer
active
;
/**
* 设备版本信息
*/
private
String
deviceVersion
;
}
common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceFeign.java
View file @
ea6ad660
package
com.mortals.xhx.feign.device
;
package
com.mortals.xhx.feign.device
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.LoginForm
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.device.DevicePdu
;
import
com.mortals.xhx.common.pdu.device.DevicePdu
;
import
com.mortals.xhx.common.pdu.device.DeviceReq
;
import
com.mortals.xhx.feign.IFeign
;
import
com.mortals.xhx.feign.IFeign
;
import
feign.hystrix.FallbackFactory
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -11,8 +13,10 @@ import org.springframework.stereotype.Component;
...
@@ -11,8 +13,10 @@ import org.springframework.stereotype.Component;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 设备 Feign接口
* 设备 Feign接口
*
* @author zxfei
* @author zxfei
* @date 2023-02-25
* @date 2023-02-25
*/
*/
...
@@ -47,9 +51,28 @@ public interface IDeviceFeign extends IFeign {
...
@@ -47,9 +51,28 @@ public interface IDeviceFeign extends IFeign {
* @return
* @return
*/
*/
@PostMapping
(
value
=
"/device/save"
)
@PostMapping
(
value
=
"/device/save"
)
Rest
<
RespData
<
DevicePdu
>>
save
(
@RequestBody
DevicePdu
devicePdu
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
Rest
<
RespData
<
DevicePdu
>>
save
(
@RequestBody
DevicePdu
devicePdu
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
/**
* 获取token
*
* @param loginForm
* @return
*/
@PostMapping
(
value
=
"/api/getToken"
)
Rest
<
String
>
getToken
(
@RequestBody
LoginForm
loginForm
);
/**
* 设备回调
*
* @param deviceReq
* @return
*/
@PostMapping
(
value
=
"/api/receive"
)
Rest
<
String
>
deviceCall
(
@RequestBody
DeviceReq
deviceReq
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
}
}
...
@@ -61,18 +84,28 @@ class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> {
...
@@ -61,18 +84,28 @@ class DeviceFeignFallbackFactory implements FallbackFactory<IDeviceFeign> {
return
new
IDeviceFeign
()
{
return
new
IDeviceFeign
()
{
@Override
@Override
public
Rest
<
RespData
<
List
<
DevicePdu
>>>
list
(
DevicePdu
devicePdu
)
{
public
Rest
<
RespData
<
List
<
DevicePdu
>>>
list
(
DevicePdu
devicePdu
)
{
return
Rest
.
fail
(
"暂时无法获取设备列表,请稍后再试!"
);
return
Rest
.
fail
(
"暂时无法获取设备列表,请稍后再试!"
);
}
}
@Override
@Override
public
Rest
<
DevicePdu
>
info
(
Long
id
)
{
public
Rest
<
DevicePdu
>
info
(
Long
id
)
{
return
Rest
.
fail
(
"暂时无法获取设备详细,请稍后再试!"
);
return
Rest
.
fail
(
"暂时无法获取设备详细,请稍后再试!"
);
}
}
@Override
@Override
public
Rest
<
RespData
<
DevicePdu
>>
save
(
DevicePdu
devicePdu
,
String
authorization
)
{
public
Rest
<
RespData
<
DevicePdu
>>
save
(
DevicePdu
devicePdu
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法保存设备,请稍后再试!"
);
return
Rest
.
fail
(
"暂时无法保存设备,请稍后再试!"
);
}
}
@Override
public
Rest
<
String
>
getToken
(
LoginForm
loginForm
)
{
return
Rest
.
fail
(
"暂时无法获取token,请稍后再试!"
);
}
@Override
public
Rest
<
String
>
deviceCall
(
DeviceReq
deviceReq
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法保存设备,请稍后再试!"
);
}
};
};
}
}
}
}
...
...
db/module.sql
View file @
ea6ad660
...
@@ -57,8 +57,10 @@ CREATE TABLE mortals_xhx_room(
...
@@ -57,8 +57,10 @@ CREATE TABLE mortals_xhx_room(
`createTime`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`createTime`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新用户'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新用户'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
`deviceCode`
varchar
(
64
)
COMMENT
'绑定的设备编码'
,
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'房间管理'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'房间管理'
;
-- ----------------------------
-- ----------------------------
-- 房间工作人员信息表
-- 房间工作人员信息表
-- ----------------------------
-- ----------------------------
...
@@ -96,8 +98,11 @@ CREATE TABLE mortals_xhx_workman(
...
@@ -96,8 +98,11 @@ CREATE TABLE mortals_xhx_workman(
`createTime`
datetime
COMMENT
'创建时间'
,
`createTime`
datetime
COMMENT
'创建时间'
,
`createUserId`
bigint
(
20
)
COMMENT
'创建用户'
,
`createUserId`
bigint
(
20
)
COMMENT
'创建用户'
,
`updateTime`
datetime
COMMENT
'修改时间'
,
`updateTime`
datetime
COMMENT
'修改时间'
,
`loginName`
varchar
(
64
)
COMMENT
'登录用户名'
,
`loginPwd`
varchar
(
64
)
COMMENT
'密码'
,
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'工作人员'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'工作人员'
;
-- ----------------------------
-- ----------------------------
-- 设备管理表
-- 设备管理表
-- ----------------------------
-- ----------------------------
...
...
doc/api.md
View file @
ea6ad660
...
@@ -2370,6 +2370,74 @@ msg|String|消息|-
...
@@ -2370,6 +2370,74 @@ msg|String|消息|-
```
```
## 终端服务
## 终端服务
### 工作人员登录
**请求URL:**
workman/doLogin
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
**请求参数:**
参数名称|类型|备注|必填|其它
---|---|---|---|---
loginName|String|用户名|是|-
loginPwd|String|密码|是|-
**请求样例:**
```
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
data|object|数据对象|-
**响应消息样例:**
```
```
### 工作人员密码修改
**请求URL:**
workman/change/password
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
**请求参数:**
参数名称|类型|备注|必填|其它
---|---|---|---|---
loginName|String|用户名|是|-
oldPwd|String|旧密码|是|-
newPwd|String|新密码|是|-
**请求样例:**
```
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
### 工作人员列表
### 工作人员列表
**请求URL:**
workman/list
**请求URL:**
workman/list
...
@@ -2382,16 +2450,19 @@ msg|String|消息|-
...
@@ -2382,16 +2450,19 @@ msg|String|消息|-
**请求参数:**
**请求参数:**
参数名称|类型|必填|描述
参数名称| 类型 |必填|描述
:---|:---|:---|:------
:---|:--------|:---|:------
page|Integer|否|当前页
page| Integer |否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
size| Integer |否|每页条数,值为-1,查询所有记录
deviceCode| String |否|设备编码
**请求样例:**
**请求样例:**
```
```
{
{
"page":1,
"page":1,
"size":10
"size":10,
"deviceCode":"123123"
}
}
```
```
...
@@ -2515,12 +2586,14 @@ data| object |数据对象
...
@@ -2515,12 +2586,14 @@ data| object |数据对象
:---|:---|:---|:------
:---|:---|:---|:------
page|Integer|否|当前页
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
size|Integer|否|每页条数,值为-1,查询所有记录
deviceCode| String |否|设备编码
**请求样例:**
**请求样例:**
```
```
{
{
"page":1,
"page":1,
"size":10
"size":10,
"deviceCode","adfdd"
}
}
```
```
...
...
doc/智慧办公系统.docx
View file @
ea6ad660
No preview for this file type
smart-office-manager-ui/admin/src/views/workman/drawershow.vue
View file @
ea6ad660
...
@@ -7,8 +7,10 @@
...
@@ -7,8 +7,10 @@
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
<Field
:span=
"20"
label=
"所属房间"
prop=
"roomId"
v-model=
"form.roomId"
:enumData=
"dict.roomId"
type=
"select"
placeholder=
"请输入所属房间"
/>
<Field
:span=
"20"
:disabled=
"pageInfo.type=='edit'"
label=
"登录名"
prop=
"loginName"
v-model=
"form.loginName"
placeholder=
"请输入登录名"
/>
<Field
:span=
"20"
:disabled=
"pageInfo.type=='edit'"
label=
"登录密码"
prop=
"loginPwd"
type=
"password"
v-model=
"form.loginPwd"
placeholder=
"请输入密码"
/>
<Field
:span=
"20"
label=
"所属房间"
prop=
"roomId"
v-model=
"form.roomId"
:enumData=
"dict.roomId"
type=
"select"
placeholder=
"请输入所属房间"
/>
<Field
:span=
"20"
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门"
/>
<Field
:span=
"20"
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门"
/>
<Field
:span=
"20"
label=
"姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入姓名"
/>
<Field
:span=
"20"
label=
"姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入姓名"
/>
<Field
:span=
"20"
label=
"性别"
prop=
"sex"
v-model=
"form.sex"
type=
"select"
:enumData=
"dict.sex"
placeholder=
"请选择性别"
/>
<Field
:span=
"20"
label=
"性别"
prop=
"sex"
v-model=
"form.sex"
type=
"select"
:enumData=
"dict.sex"
placeholder=
"请选择性别"
/>
...
@@ -62,6 +64,22 @@
...
@@ -62,6 +64,22 @@
],
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
loginName
:
[
{
required
:
true
,
message
:
"
请输入登录名称
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
loginPwd
:
[
{
required
:
true
,
message
:
"
请输入登录密码
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
roomId
:
[
{
required
:
true
,
message
:
"
请选择人员所属房间
"
,
trigger
:
"
blur
"
}
],
mobile
:
[
{
required
:
true
,
message
:
"
请输入手机号码
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
workStatus
:
[
workStatus
:
[
{
required
:
true
,
message
:
"
请输入工作状态,来源基础设置
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入工作状态,来源基础设置
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
...
...
smart-office-manager-ui/admin/src/views/workman/list.vue
View file @
ea6ad660
...
@@ -176,6 +176,7 @@
...
@@ -176,6 +176,7 @@
{
label
:
"
职位
"
,
prop
:
"
userPost
"
},
{
label
:
"
职位
"
,
prop
:
"
userPost
"
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
},
{
label
:
"
手机
"
,
prop
:
"
mobile
"
},
{
label
:
"
工作状态
"
,
prop
:
"
workStatus
"
},
{
label
:
"
工作状态
"
,
prop
:
"
workStatus
"
},
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/device/service/impl/DeviceServiceImpl.java
View file @
ea6ad660
package
com.mortals.xhx.module.device.service.impl
;
package
com.mortals.xhx.module.device.service.impl
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.LoginForm
;
import
com.mortals.xhx.common.pdu.device.DeviceReq
;
import
com.mortals.xhx.feign.device.IDeviceFeign
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
...
@@ -7,24 +14,35 @@ import com.mortals.xhx.module.device.dao.DeviceDao;
...
@@ -7,24 +14,35 @@ import com.mortals.xhx.module.device.dao.DeviceDao;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
/**
/**
* DeviceService
* DeviceService
* 设备管理 service实现
* 设备管理 service实现
*
*
* @author zxfei
* @author zxfei
* @date 2023-05-22
* @date 2023-05-22
*/
*/
@Service
(
"deviceService"
)
@Service
(
"deviceService"
)
@Slf4j
@Slf4j
public
class
DeviceServiceImpl
extends
AbstractCRUDServiceImpl
<
DeviceDao
,
DeviceEntity
,
Long
>
implements
DeviceService
{
public
class
DeviceServiceImpl
extends
AbstractCRUDServiceImpl
<
DeviceDao
,
DeviceEntity
,
Long
>
implements
DeviceService
{
@Autowired
private
IDeviceFeign
deviceFeign
;
@Override
@Override
protected
void
saveAfter
(
DeviceEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
DeviceEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveAfter
(
entity
,
context
);
super
.
saveAfter
(
entity
,
context
);
//todo 通知设备管理系统
//todo 通知设备管理系统
String
token
=
getToken
();
DeviceReq
deviceReq
=
new
DeviceReq
();
deviceReq
.
setReceiveMethod
(
1
);
deviceFeign
.
deviceCall
(
deviceReq
,
token
);
}
}
@Override
@Override
protected
void
updateAfter
(
DeviceEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
updateAfter
(
DeviceEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateAfter
(
entity
,
context
);
super
.
updateAfter
(
entity
,
context
);
...
@@ -40,4 +58,13 @@ public class DeviceServiceImpl extends AbstractCRUDServiceImpl<DeviceDao, Device
...
@@ -40,4 +58,13 @@ public class DeviceServiceImpl extends AbstractCRUDServiceImpl<DeviceDao, Device
public
void
deviceEnabled
(
Long
id
,
Integer
status
,
Context
context
)
{
public
void
deviceEnabled
(
Long
id
,
Integer
status
,
Context
context
)
{
}
}
private
String
getToken
()
{
LoginForm
loginForm
=
new
LoginForm
();
loginForm
.
setLoginName
(
"admin"
);
loginForm
.
setPassword
(
"xhx@yb123"
);
Rest
<
String
>
rest
=
deviceFeign
.
getToken
(
loginForm
);
String
token
=
rest
.
getData
();
return
token
;
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java
View file @
ea6ad660
...
@@ -56,8 +56,6 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe
...
@@ -56,8 +56,6 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe
this
.
addDict
(
model
,
"deviceInFloor"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"deviceInFloor"
));
this
.
addDict
(
model
,
"deviceInFloor"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"deviceInFloor"
));
this
.
addDict
(
model
,
"deviceStatus"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"deviceStatus"
));
this
.
addDict
(
model
,
"deviceStatus"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"deviceStatus"
));
this
.
addDict
(
model
,
"enabled"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"enabled"
));
this
.
addDict
(
model
,
"enabled"
,
paramService
.
getParamBySecondOrganize
(
"Device"
,
"enabled"
));
this
.
addDict
(
model
,
"roomId"
,
roomService
.
find
(
new
RoomQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getRoomName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"roomId"
,
roomService
.
find
(
new
RoomQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getRoomName
(),
(
o
,
n
)
->
n
)));
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
...
...
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/model/vo/MettingRecordVo.java
View file @
ea6ad660
...
@@ -22,4 +22,6 @@ public class MettingRecordVo extends BaseEntityLong {
...
@@ -22,4 +22,6 @@ public class MettingRecordVo extends BaseEntityLong {
/** 结束 会议日期 */
/** 结束 会议日期 */
private
String
meetDateEnd
;
private
String
meetDateEnd
;
private
String
deviceCode
;
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/web/MettingRecordController.java
View file @
ea6ad660
...
@@ -7,8 +7,10 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
...
@@ -7,8 +7,10 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.metting.model.MettingRecordEntity
;
import
com.mortals.xhx.module.metting.model.MettingRecordEntity
;
import
com.mortals.xhx.module.metting.service.MettingRecordService
;
import
com.mortals.xhx.module.metting.service.MettingRecordService
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -51,5 +53,13 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
...
@@ -51,5 +53,13 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
protected
void
doListBefore
(
MettingRecordEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
protected
void
doListBefore
(
MettingRecordEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
super
.
doListBefore
(
query
,
model
,
context
);
super
.
doListBefore
(
query
,
model
,
context
);
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeviceCode
()))
{
//根据设备编码 查询房间room
RoomEntity
roomEntity
=
roomService
.
selectOne
(
new
RoomQuery
().
deviceCode
(
query
.
getDeviceCode
()));
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
query
.
setRoomId
(
roomEntity
.
getId
());
}
}
}
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomEntity.java
View file @
ea6ad660
package
com.mortals.xhx.module.room.model
;
package
com.mortals.xhx.module.room.model
;
import
java.util.List
;
import
java.util.List
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.room.model.vo.RoomVo
;
import
com.mortals.xhx.module.room.model.vo.RoomVo
;
import
lombok.Data
;
import
lombok.Data
;
/**
/**
* 房间管理实体对象
* 房间管理实体对象
*
*
* @author zxfei
* @author zxfei
* @date 2023-05-22
* @date 2023-05-25
*/
*/
@Data
@Data
public
class
RoomEntity
extends
RoomVo
{
public
class
RoomEntity
extends
RoomVo
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 房间名称
* 房间名称
*/
*/
private
String
roomName
;
private
String
roomName
;
/**
/**
* 房间编码
* 房间编码
*/
*/
private
String
roomCode
;
private
String
roomCode
;
/**
/**
* 房间类型(0.会议室,1.办公室)
* 房间类型(0.会议室,1.办公室)
*/
*/
private
Integer
roomType
;
private
Integer
roomType
;
/**
/**
* 绑定的电子门牌的设备ID
* 绑定的电子门牌的设备ID
*/
*/
private
Long
deviceId
;
private
Long
deviceId
;
/**
/**
* 绑定的设备名称
* 绑定的设备名称
*/
*/
private
String
deviceName
;
private
String
deviceName
;
/**
/**
* 员工人数
* 员工人数
*/
*/
private
Long
countPerson
;
private
Long
countPerson
;
/**
/**
* 备注
* 备注
*/
*/
private
String
remark
;
private
String
remark
;
/**
* 绑定的设备编码
*/
private
String
deviceCode
;
@Override
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
return
this
.
getId
().
hashCode
();
}
}
@Override
@Override
public
boolean
equals
(
Object
obj
)
{
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
RoomEntity
)
{
if
(
obj
instanceof
RoomEntity
)
{
RoomEntity
tmp
=
(
RoomEntity
)
obj
;
RoomEntity
tmp
=
(
RoomEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
return
true
;
}
}
}
}
return
false
;
return
false
;
}
}
public
void
initAttrValue
(){
public
void
initAttrValue
()
{
this
.
roomName
=
""
;
this
.
roomNam
e
=
""
;
this
.
roomCod
e
=
""
;
this
.
roomCode
=
""
;
this
.
roomType
=
0
;
this
.
roomType
=
0
;
this
.
deviceId
=
null
;
this
.
deviceId
=
null
;
this
.
deviceName
=
""
;
this
.
deviceCode
=
""
;
this
.
deviceName
=
""
;
this
.
countPerson
=
0L
;
this
.
countPerson
=
0L
;
this
.
remark
=
""
;
this
.
remark
=
""
;
this
.
deviceCode
=
""
;
}
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/room/model/RoomQuery.java
View file @
ea6ad660
This diff is collapsed.
Click to expand it.
smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
View file @
ea6ad660
package
com.mortals.xhx.module.room.service.impl
;
package
com.mortals.xhx.module.room.service.impl
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
...
@@ -7,6 +10,8 @@ import com.mortals.xhx.module.room.dao.RoomDao;
...
@@ -7,6 +10,8 @@ import com.mortals.xhx.module.room.dao.RoomDao;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.util.ObjectUtils
;
/**
/**
* RoomService
* RoomService
* 房间管理 service实现
* 房间管理 service实现
...
@@ -17,5 +22,20 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -17,5 +22,20 @@ import lombok.extern.slf4j.Slf4j;
@Service
(
"roomService"
)
@Service
(
"roomService"
)
@Slf4j
@Slf4j
public
class
RoomServiceImpl
extends
AbstractCRUDServiceImpl
<
RoomDao
,
RoomEntity
,
Long
>
implements
RoomService
{
public
class
RoomServiceImpl
extends
AbstractCRUDServiceImpl
<
RoomDao
,
RoomEntity
,
Long
>
implements
RoomService
{
@Autowired
private
DeviceService
deviceService
;
@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
());
}
}
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/WorkmanEntity.java
View file @
ea6ad660
...
@@ -7,62 +7,70 @@ import com.mortals.framework.model.BaseEntityLong;
...
@@ -7,62 +7,70 @@ import com.mortals.framework.model.BaseEntityLong;
import
com.mortals.xhx.module.workman.model.vo.WorkmanVo
;
import
com.mortals.xhx.module.workman.model.vo.WorkmanVo
;
import
lombok.Data
;
import
lombok.Data
;
/**
/**
* 工作人员实体对象
* 工作人员实体对象
*
*
* @author zxfei
* @author zxfei
* @date 2023-05-22
* @date 2023-05-25
*/
*/
@Data
@Data
public
class
WorkmanEntity
extends
WorkmanVo
{
public
class
WorkmanEntity
extends
WorkmanVo
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 所属房间id
* 所属房间id
*/
*/
private
Long
roomId
;
private
Long
roomId
;
/**
/**
* 所属房间名称
* 所属房间名称
*/
*/
private
String
roomName
;
private
String
roomName
;
/**
/**
* 所属部门
* 所属部门
*/
*/
private
String
deptName
;
private
String
deptName
;
/**
/**
* 姓名
* 姓名
*/
*/
private
String
name
;
private
String
name
;
/**
/**
* 性别(0.男,1.女)
* 性别(0.男,1.女)
*/
*/
private
Integer
sex
;
private
Integer
sex
;
/**
/**
* 职务
* 职务
*/
*/
private
String
userPost
;
private
String
userPost
;
/**
/**
* 电话
* 电话
*/
*/
private
String
phone
;
private
String
phone
;
/**
/**
* 手机
* 手机
*/
*/
private
String
mobile
;
private
String
mobile
;
/**
/**
* 简介
* 简介
*/
*/
private
String
summary
;
private
String
summary
;
/**
/**
* 照片
* 照片
*/
*/
private
String
photoPath
;
private
String
photoPath
;
/**
/**
* 工作状态,来源基础设置
* 工作状态,来源基础设置
*/
*/
private
String
workStatus
;
private
String
workStatus
;
/**
* 登录用户名
*/
private
String
loginName
;
/**
* 密码
*/
private
String
loginPwd
;
@Override
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
return
this
.
getId
().
hashCode
();
}
}
@Override
@Override
public
boolean
equals
(
Object
obj
)
{
public
boolean
equals
(
Object
obj
)
{
...
@@ -70,7 +78,7 @@ public class WorkmanEntity extends WorkmanVo {
...
@@ -70,7 +78,7 @@ public class WorkmanEntity extends WorkmanVo {
if
(
obj
instanceof
WorkmanEntity
)
{
if
(
obj
instanceof
WorkmanEntity
)
{
WorkmanEntity
tmp
=
(
WorkmanEntity
)
obj
;
WorkmanEntity
tmp
=
(
WorkmanEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
return
true
;
}
}
}
}
return
false
;
return
false
;
...
@@ -78,26 +86,30 @@ public class WorkmanEntity extends WorkmanVo {
...
@@ -78,26 +86,30 @@ public class WorkmanEntity extends WorkmanVo {
public
void
initAttrValue
(){
public
void
initAttrValue
(){
this
.
roomId
=
-
1L
;
this
.
roomId
=
null
;
this
.
roomName
=
""
;
this
.
deptName
=
""
;
this
.
roomN
ame
=
""
;
this
.
n
ame
=
""
;
this
.
deptName
=
""
;
this
.
sex
=
0
;
this
.
name
=
""
;
this
.
userPost
=
""
;
this
.
sex
=
0
;
this
.
phone
=
""
;
this
.
userPost
=
""
;
this
.
mobile
=
""
;
this
.
phone
=
""
;
this
.
summary
=
""
;
this
.
mobile
=
""
;
this
.
photoPath
=
""
;
this
.
summary
=
""
;
this
.
workStatus
=
""
;
this
.
photoPath
=
""
;
this
.
loginName
=
""
;
this
.
workStatus
=
""
;
this
.
loginPwd
=
""
;
}
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/WorkmanQuery.java
View file @
ea6ad660
This diff is collapsed.
Click to expand it.
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/model/vo/WorkmanVo.java
View file @
ea6ad660
...
@@ -19,15 +19,6 @@ public class WorkmanVo extends BaseEntityLong {
...
@@ -19,15 +19,6 @@ public class WorkmanVo extends BaseEntityLong {
private
String
oldPwd
;
private
String
oldPwd
;
private
String
newPwd
;
private
String
newPwd
;
/**
private
String
deviceCode
;
* 登录用户名
*/
@Excel
(
name
=
"用户名"
)
private
String
loginName
;
/**
* 密码
*/
@Excel
(
name
=
"密码"
)
private
String
loginPwd
;
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
View file @
ea6ad660
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.module.workman.service.impl;
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.module.workman.service.impl;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.util.SecurityUtil
;
import
com.mortals.framework.util.SecurityUtil
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.module.gocome.model.GocomeRecordEntity
;
import
com.mortals.xhx.module.gocome.model.GocomeRecordEntity
;
import
com.mortals.xhx.module.gocome.service.GocomeRecordService
;
import
com.mortals.xhx.module.gocome.service.GocomeRecordService
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
...
@@ -37,6 +38,25 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
...
@@ -37,6 +38,25 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
private
RoomService
roomService
;
private
RoomService
roomService
;
@Override
protected
void
saveBefore
(
WorkmanEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
try
{
entity
.
setLoginPwd
(
SecurityUtil
.
md5DoubleEncoding
(
entity
.
getLoginPwd
()));
}
catch
(
Exception
e
)
{
throw
new
AppException
(
"密码转换异常"
);
}
}
else
{
entity
.
setLoginPwd
(
null
);
}
WorkmanEntity
workmanEntity
=
this
.
selectOne
(
new
WorkmanQuery
().
loginName
(
entity
.
getLoginName
()));
if
(!
ObjectUtils
.
isEmpty
(
workmanEntity
)){
throw
new
AppException
(
"当前登录用户名已存在!"
);
}
}
@Override
@Override
protected
void
saveAfter
(
WorkmanEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveAfter
(
WorkmanEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveAfter
(
entity
,
context
);
super
.
saveAfter
(
entity
,
context
);
...
@@ -64,9 +84,6 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
...
@@ -64,9 +84,6 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
AppException
(
"密码验认出错!"
,
e
);
throw
new
AppException
(
"密码验认出错!"
,
e
);
}
}
// WorkmanEntity update = new WorkmanEntity();
// update.setId(workmanEntity.getId());
// this.dao.update(update);
return
workmanEntity
;
return
workmanEntity
;
}
}
...
@@ -146,7 +163,12 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
...
@@ -146,7 +163,12 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
recordEntity
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
recordEntity
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
gocomeRecordService
.
save
(
recordEntity
,
context
);
gocomeRecordService
.
save
(
recordEntity
,
context
);
return
Rest
.
ok
();
return
Rest
.
ok
();
}
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
}
\ No newline at end of file
smart-office-manager/src/main/java/com/mortals/xhx/module/workman/web/WorkmanController.java
View file @
ea6ad660
package
com.mortals.xhx.module.workman.web
;
package
com.mortals.xhx.module.workman.web
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
...
@@ -8,16 +9,20 @@ import com.mortals.xhx.base.system.param.service.ParamService;
...
@@ -8,16 +9,20 @@ import com.mortals.xhx.base.system.param.service.ParamService;
import
com.mortals.xhx.module.basic.model.BasicStatusQuery
;
import
com.mortals.xhx.module.basic.model.BasicStatusQuery
;
import
com.mortals.xhx.module.basic.service.BasicStatusService
;
import
com.mortals.xhx.module.basic.service.BasicStatusService
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.room.model.RoomEntity
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.model.RoomQuery
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
com.mortals.xhx.module.room.service.RoomService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
import
com.mortals.xhx.module.workman.service.WorkmanService
;
import
com.mortals.xhx.module.workman.service.WorkmanService
;
...
@@ -26,21 +31,23 @@ import com.mortals.framework.util.StringUtils;
...
@@ -26,21 +31,23 @@ import com.mortals.framework.util.StringUtils;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
/**
*
* 工作人员
* 工作人员
*
*
* @author zxfei
* @author zxfei
* @date 2023-05-22
* @date 2023-05-22
*/
*/
@RestController
@RestController
@RequestMapping
(
"workman"
)
@RequestMapping
(
"workman"
)
@Slf4j
@Slf4j
public
class
WorkmanController
extends
BaseCRUDJsonBodyMappingController
<
WorkmanService
,
WorkmanEntity
,
Long
>
{
public
class
WorkmanController
extends
BaseCRUDJsonBodyMappingController
<
WorkmanService
,
WorkmanEntity
,
Long
>
{
@Autowired
@Autowired
private
ParamService
paramService
;
private
ParamService
paramService
;
...
@@ -50,32 +57,46 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
...
@@ -50,32 +57,46 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
private
BasicStatusService
statusService
;
private
BasicStatusService
statusService
;
public
WorkmanController
(){
public
WorkmanController
()
{
super
.
setModuleDesc
(
"工作人员"
);
super
.
setModuleDesc
(
"工作人员"
);
}
}
@Override
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"sex"
,
paramService
.
getParamBySecondOrganize
(
"Workman"
,
"sex"
));
this
.
addDict
(
model
,
"sex"
,
paramService
.
getParamBySecondOrganize
(
"Workman"
,
"sex"
));
this
.
addDict
(
model
,
"roomId"
,
roomService
.
find
(
new
RoomQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getRoomName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"roomId"
,
roomService
.
find
(
new
RoomQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getRoomName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"workStatus"
,
statusService
.
find
(
new
BasicStatusQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getStatusName
(),
y
->
y
.
getStatusName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"workStatus"
,
statusService
.
find
(
new
BasicStatusQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getStatusName
(),
y
->
y
.
getStatusName
(),
(
o
,
n
)
->
n
)));
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
}
}
@Override
protected
void
doListBefore
(
WorkmanEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
super
.
doListBefore
(
query
,
model
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
query
.
getDeviceCode
()))
{
//根据设备编码 查询房间room
RoomEntity
roomEntity
=
roomService
.
selectOne
(
new
RoomQuery
().
deviceCode
(
query
.
getDeviceCode
()));
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
query
.
setRoomId
(
roomEntity
.
getId
());
}
}
}
/**
/**
* 工作人员更新状态
* 工作人员更新状态
*/
*/
@PostMapping
(
value
=
"change/status"
)
@PostMapping
(
value
=
"change/status"
)
@UnAuth
public
Rest
<
Void
>
changeStatus
(
@RequestBody
WorkmanEntity
workmanEntity
)
{
public
Rest
<
Void
>
changeStatus
(
@RequestBody
WorkmanEntity
workmanEntity
)
{
String
busiDesc
=
this
.
getModuleDesc
()
+
"
设备激活
"
;
String
busiDesc
=
this
.
getModuleDesc
()
+
"
更新状态
"
;
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
try
{
try
{
this
.
service
.
changeStatus
(
workmanEntity
,
getContext
());
this
.
service
.
changeStatus
(
workmanEntity
,
getContext
());
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"
设备激活
消息"
,
e
);
log
.
error
(
"
工作人员更新状态
消息"
,
e
);
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
}
}
return
rest
;
return
rest
;
...
@@ -93,7 +114,6 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
...
@@ -93,7 +114,6 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
try
{
try
{
String
ip
=
super
.
getRequestIP
(
request
);
String
ip
=
super
.
getRequestIP
(
request
);
WorkmanEntity
workmanEntity
=
this
.
service
.
doLogin
(
query
.
getLoginName
(),
query
.
getLoginPwd
(),
ip
);
WorkmanEntity
workmanEntity
=
this
.
service
.
doLogin
(
query
.
getLoginName
(),
query
.
getLoginPwd
(),
ip
);
this
.
service
.
getDao
().
update
(
workmanEntity
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_MSG
,
"工作人员登录成功!"
);
ret
.
put
(
KEY_RESULT_MSG
,
"工作人员登录成功!"
);
ret
.
put
(
KEY_RESULT_DATA
,
workmanEntity
);
ret
.
put
(
KEY_RESULT_DATA
,
workmanEntity
);
...
@@ -149,5 +169,18 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
...
@@ -149,5 +169,18 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
}
}
@Override
protected
void
deleteBefore
(
Long
[]
ids
,
Context
context
)
throws
AppException
{
super
.
deleteBefore
(
ids
,
context
);
List
<
WorkmanEntity
>
workmanEntities
=
this
.
service
.
get
(
ids
,
context
);
for
(
WorkmanEntity
workmanEntity
:
workmanEntities
)
{
RoomQuery
roomQuery
=
new
RoomQuery
();
roomQuery
.
setId
(
workmanEntity
.
getRoomId
());
RoomEntity
roomEntity
=
roomService
.
selectOne
(
roomQuery
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
)){
roomEntity
.
setCountPerson
(
roomEntity
.
getCountPerson
()-
1
);
roomService
.
update
(
roomEntity
);
}
}
}
}
}
\ No newline at end of file
smart-office-manager/src/main/resources/sqlmap/module/room/RoomMapper.xml
View file @
ea6ad660
This diff is collapsed.
Click to expand it.
smart-office-manager/src/main/resources/sqlmap/module/workman/WorkmanMapper.xml
View file @
ea6ad660
This diff is collapsed.
Click to expand it.
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