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
825d5e06
Commit
825d5e06
authored
Jan 09, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改通知去重复
parent
bf32f372
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
83 additions
and
43 deletions
+83
-43
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/service/impl/MettingRecordServiceImpl.java
...module/metting/service/impl/MettingRecordServiceImpl.java
+83
-43
No files found.
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/service/impl/MettingRecordServiceImpl.java
View file @
825d5e06
...
@@ -55,7 +55,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -55,7 +55,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
private
RoomDeviceService
roomDeviceService
;
private
RoomDeviceService
roomDeviceService
;
@Autowired
@Autowired
private
BasicSetService
basicSetService
;
private
BasicSetService
basicSetService
;
/*
@Override
@Override
protected void validData(MettingRecordEntity entity, Context context) throws AppException {
protected void validData(MettingRecordEntity entity, Context context) throws AppException {
super.validData(entity, context);
super.validData(entity, context);
...
@@ -64,10 +64,29 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -64,10 +64,29 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
if (!ObjectUtils.isEmpty(meetTimeStart) && !ObjectUtils.isEmpty(meetTimeEnd)) {
if (!ObjectUtils.isEmpty(meetTimeStart) && !ObjectUtils.isEmpty(meetTimeEnd)) {
//开始时间不能大于结束时间
//开始时间不能大于结束时间
int compare = DateUtil.compare(meetTimeStart, meetTimeEnd);
int compare = DateUtil.compare(meetTimeStart, meetTimeEnd);
if
(
compare
>
0
)
{
if
(compare > 0)
{
throw new AppException("会议开始时间不能大于结束时间!");
throw new AppException("会议开始时间不能大于结束时间!");
}
}
Boolean bool = checkExistStartMeetTime(entity);
if (bool) {
throw new AppException("当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!");
}
}
UploadDeviceReq uploadDeviceReq = new UploadDeviceReq();
RoomEntity roomEntity = roomService.get(entity.getRoomId(), context);
if (!ObjectUtils.isEmpty(roomEntity)) {
uploadDeviceReq.setDeviceCodeList(roomDeviceService.find(new RoomDeviceQuery().roomId(roomEntity.getId())).stream().map(i -> i.getDeviceCode()).collect(Collectors.toList()));
uploadDeviceReq.setAction("refreshMetting");
messageFeign.downMsg(uploadDeviceReq);
}
}*/
private
Boolean
checkExistStartMeetTime
(
MettingRecordEntity
entity
)
{
boolean
bool
=
false
;
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
MettingRecordQuery
mettingRecordQuery
=
new
MettingRecordQuery
();
MettingRecordQuery
mettingRecordQuery
=
new
MettingRecordQuery
();
//mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
//mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
mettingRecordQuery
.
setMeetStatusList
(
Arrays
.
asList
(
MeetStatusEnum
.
等待中
.
getValue
(),
MeetStatusEnum
.
进行中
.
getValue
()));
mettingRecordQuery
.
setMeetStatusList
(
Arrays
.
asList
(
MeetStatusEnum
.
等待中
.
getValue
(),
MeetStatusEnum
.
进行中
.
getValue
()));
...
@@ -83,37 +102,24 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -83,37 +102,24 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
}
}
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
//校验时间段是否有重合
//校验时间段是否有重合
boolean
bool
=
false
;
for
(
MettingRecordEntity
mettingRecord
:
list
)
{
for
(
MettingRecordEntity
mettingRecord
:
list
)
{
//格式化分钟
//格式化分钟
Date
meetTimeStart1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeStart
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
Date
meetTimeStart1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeStart
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
Date
meetTimeEnd1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeEnd
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
Date
meetTimeEnd1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeEnd
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
// DateRange range1 = DateUtil.range(meetTimeStart, meetTimeEnd, DateField.MINUTE);
//DateRange range2 = DateUtil.range(meetTimeStart1, meetTimeEnd1, DateField.MINUTE);
boolean
in
=
belongCalendar
(
meetTimeStart
,
meetTimeStart1
,
meetTimeEnd1
);
boolean
in
=
belongCalendar
(
meetTimeStart
,
meetTimeStart1
,
meetTimeEnd1
);
boolean
in1
=
belongCalendar
(
meetTimeEnd
,
meetTimeStart1
,
meetTimeEnd1
);
boolean
in1
=
belongCalendar
(
meetTimeEnd
,
meetTimeStart1
,
meetTimeEnd1
);
// Boolean aBoolean = checkTimesHasOverlap(meetTimeStart, meetTimeEnd, meetTimeStart1, meetTimeEnd1);
if
(
in
||
in1
)
{
if
(
in
||
in1
)
{
bool
=
true
;
bool
=
true
;
log
.
info
(
"meetTimeStart:{},meetTimeEnd:{}, meetTimeStart1:{}, meetTimeEnd1:{}"
,
log
.
info
(
"meetTimeStart:{},meetTimeEnd:{}, meetTimeStart1:{}, meetTimeEnd1:{}"
,
DateUtil
.
date
(
meetTimeStart
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeStart
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeStart1
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd1
).
toTimeStr
());
DateUtil
.
date
(
meetTimeStart1
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd1
).
toTimeStr
());
break
;
break
;
}
}
}
}
if
(
bool
)
{
throw
new
AppException
(
"当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!"
);
}
}
}
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
RoomEntity
roomEntity
=
roomService
.
get
(
entity
.
getRoomId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
uploadDeviceReq
.
setDeviceCodeList
(
roomDeviceService
.
find
(
new
RoomDeviceQuery
().
roomId
(
roomEntity
.
getId
())).
stream
().
map
(
i
->
i
.
getDeviceCode
()).
collect
(
Collectors
.
toList
()));
uploadDeviceReq
.
setAction
(
"refreshMetting"
);
messageFeign
.
downMsg
(
uploadDeviceReq
);
}
}
return
bool
;
}
}
...
@@ -150,6 +156,12 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -150,6 +156,12 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
@Override
@Override
protected
void
saveBefore
(
MettingRecordEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveBefore
(
MettingRecordEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
super
.
saveBefore
(
entity
,
context
);
checkStartAndEndTime
(
entity
);
Boolean
bool
=
checkExistStartMeetTime
(
entity
);
if
(
bool
)
{
throw
new
AppException
(
"当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!"
);
}
int
compare
=
DateUtil
.
compare
(
new
Date
(),
entity
.
getMeetTimeEnd
());
int
compare
=
DateUtil
.
compare
(
new
Date
(),
entity
.
getMeetTimeEnd
());
if
(
compare
>
0
)
{
if
(
compare
>
0
)
{
...
@@ -168,17 +180,44 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -168,17 +180,44 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
uploadDeviceReq
.
setDeviceCodeList
(
Arrays
.
asList
(
roomDeviceEntity
.
getDeviceCode
()));
uploadDeviceReq
.
setDeviceCodeList
(
Arrays
.
asList
(
roomDeviceEntity
.
getDeviceCode
()));
uploadDeviceReq
.
setAction
(
"refreshMetting"
);
uploadDeviceReq
.
setAction
(
"refreshMetting"
);
log
.
info
(
"refreshMetting send
msg :{}"
,
roomDeviceEntity
.
getDeviceCode
(
));
log
.
info
(
"refreshMetting send
deviceList :{}"
,
JSON
.
toJSONString
(
Arrays
.
asList
(
roomDeviceEntity
.
getDeviceCode
())
));
messageFeign
.
downMsg
(
uploadDeviceReq
);
messageFeign
.
downMsg
(
uploadDeviceReq
);
}
}
}
}
}
}
/**
* 检测会议开始与结束时间
*
* @param entity
*/
private
void
checkStartAndEndTime
(
MettingRecordEntity
entity
)
{
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
if
(!
ObjectUtils
.
isEmpty
(
meetTimeStart
)
&&
!
ObjectUtils
.
isEmpty
(
meetTimeEnd
))
{
//开始时间不能大于结束时间
int
compare
=
DateUtil
.
compare
(
meetTimeStart
,
meetTimeEnd
);
if
(
compare
>
0
)
{
throw
new
AppException
(
"会议开始时间不能大于结束时间!"
);
}
}
}
@Override
@Override
protected
void
updateBefore
(
MettingRecordEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
updateBefore
(
MettingRecordEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateBefore
(
entity
,
context
);
super
.
updateBefore
(
entity
,
context
);
checkStartAndEndTime
(
entity
);
/*
Boolean bool = checkExistStartMeetTime(entity);
if (bool) {
throw new AppException("当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!");
}
*/
//判断是否是手动结束会议
//判断是否是手动结束会议
MettingRecordEntity
mettingRecordEntity
=
this
.
get
(
entity
.
getId
());
MettingRecordEntity
mettingRecordEntity
=
this
.
get
(
entity
.
getId
());
if
(
mettingRecordEntity
.
getMeetStatus
()
==
MeetStatusEnum
.
进行中
.
getValue
()
&&
entity
.
getMeetStatus
()
==
MeetStatusEnum
.
已结束
.
getValue
())
{
if
(
mettingRecordEntity
.
getMeetStatus
()
==
MeetStatusEnum
.
进行中
.
getValue
()
&&
entity
.
getMeetStatus
()
==
MeetStatusEnum
.
已结束
.
getValue
())
{
...
@@ -186,10 +225,11 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -186,10 +225,11 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
RoomEntity
roomEntity
=
roomService
.
get
(
mettingRecordEntity
.
getRoomId
(),
context
);
RoomEntity
roomEntity
=
roomService
.
get
(
mettingRecordEntity
.
getRoomId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
uploadDeviceReq
.
setDeviceCodeList
(
roomDeviceService
.
find
(
new
RoomDeviceQuery
().
roomId
(
roomEntity
.
getId
())).
stream
().
map
(
i
->
i
.
getDeviceCode
()).
collect
(
Collectors
.
toList
()));
List
<
String
>
deviceList
=
roomDeviceService
.
find
(
new
RoomDeviceQuery
().
roomId
(
roomEntity
.
getId
())).
stream
().
map
(
i
->
i
.
getDeviceCode
()).
collect
(
Collectors
.
toList
());
uploadDeviceReq
.
setDeviceCodeList
(
deviceList
);
uploadDeviceReq
.
setAction
(
"refreshMetting"
);
uploadDeviceReq
.
setAction
(
"refreshMetting"
);
Rest
<
String
>
rest
=
messageFeign
.
downMsg
(
uploadDeviceReq
);
Rest
<
String
>
rest
=
messageFeign
.
downMsg
(
uploadDeviceReq
);
log
.
info
(
"手动结束会议记录后发送消息:{}"
,
JSON
.
toJSONString
(
re
st
));
log
.
info
(
"手动结束会议记录后发送消息:{}"
,
JSON
.
toJSONString
(
deviceLi
st
));
}
}
}
}
}
}
...
@@ -204,7 +244,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
...
@@ -204,7 +244,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
log
.
info
(
"删除会议记录:{}"
,
mettingRecordEntities
.
size
());
log
.
info
(
"删除会议记录:{}"
,
mettingRecordEntities
.
size
());
mettingRecordEntities
.
forEach
(
entity
->
{
mettingRecordEntities
.
forEach
(
entity
->
{
if
(
entity
.
getMeetStatus
()==
MeetStatusEnum
.
进行中
.
getValue
())
{
if
(
entity
.
getMeetStatus
()
==
MeetStatusEnum
.
进行中
.
getValue
())
{
throw
new
AppException
(
"会议进行中,无法删除"
);
throw
new
AppException
(
"会议进行中,无法删除"
);
}
}
...
...
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