From 4d0bbb93c6e5be3515157326089eff6ee4581ccc Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 13 八月 2024 17:41:53 +0800
Subject: [PATCH] 最新版本
---
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 4baca41..7a3ccc1 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -464,7 +464,7 @@
queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName);
queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName);
queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName);
-
+ queryWrapper.select(" CASE WHEN t.START_TIME > now() AND t.`STATUS` = 0 THEN 1 WHEN ( (t.END_TIME < now() AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus ");
queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId);
queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator);
queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
@@ -476,6 +476,28 @@
queryWrapper.eq(pageWrap.getModel().getStatus() != null, Bookings::getStatus, pageWrap.getModel().getStatus());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getRealName()), SystemUser::getRealname, pageWrap.getModel().getRealName());
queryWrapper.eq(pageWrap.getModel().getDepartmentId() != null, Company::getId, pageWrap.getModel().getDepartmentId());
+
+
+ queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
+ " ( now() < t.START_TIME and t.status = 0 ) "
+ )
+ .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.TWO),
+ " ( now() >= t.START_TIME and t.END_TIME >= now() and t.status = 0 ) "
+ )
+ .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.THREE),
+ " ( ( now() > t.END_TIME and t.`STATUS` = 0 ) or t.`STATUS` = 2 ) "
+ )
+ .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FOUR),
+ " now() < t.START_TIME AND SUBDATE( t.START_TIME, INTERVAL 120 MINUTE ) < NOW() "
+ )
+ .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE),
+ " t.STATUS = 1 "
+ );
if (pageWrap.getModel().getStartTime() != null) {
queryWrapper.ge(Bookings::getStartTime, pageWrap.getModel().getStartTime());
@@ -492,12 +514,14 @@
SimpleDateFormat format1 = new SimpleDateFormat("HH:mm");
IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper);
result.getRecords().stream().forEach(s -> {
- if(s.getStartTime().getTime()>System.currentTimeMillis()&&s.getStatus().equals(Constants.ZERO)){
- s.setMeetingStatus(Constants.ONE);
- }else if(s.getEndTime().getTime()<System.currentTimeMillis()||Constants.equalsInteger(s.getStatus(),Constants.ONE) || Constants.equalsInteger(s.getStatus(),Constants.TWO) ){
- s.setMeetingStatus(Constants.THREE);
- }else{
- s.setMeetingStatus(Constants.TWO);
+
+ if(s.getMeetingStatus().equals(Constants.ZERO)){
+ if(s.getMeetingStatus()==Constants.ONE){
+ //寮�濮嬪墠120鍒嗛挓 澶т簬褰撳墠鏃堕棿 鍒欐樉绀哄嵆灏嗗紑濮�
+ if(DateUtil.afterMinutesDate(s.getStartTime(),-120).getTime()>System.currentTimeMillis()){
+ s.setMeetingStatus(4);
+ }
+ }
}
MPJLambdaWrapper<Multifile> bookquery = new MPJLambdaWrapper<>();
bookquery.eq(Multifile::getIsdeleted, MeetConstants.ZERO);
@@ -792,20 +816,20 @@
.eq("b.STATUS",MeetConstants.ZERO)
.eq("a.ISDELETED",MeetConstants.ZERO)
.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
- &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
- " now() > a.START_TIME and a.status = 0 "
+ &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
+ " ( now() < a.START_TIME and a.status = 0 ) "
)
.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
&&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.TWO),
- " now() >= a.START_TIME and a.END_TIME >= now() "
+ " ( now() >= a.START_TIME and a.END_TIME >= now() and a.status = 0 ) "
)
.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
&&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.THREE),
- " now() > a.END_TIME or a.status = 2 "
+ " ( ( now() > a.END_TIME and a.`STATUS` = 0 ) or a.`STATUS` = 2 ) "
)
.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
&&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FOUR),
- " now() > a.START_TIME and SUBDATE(NOW(), INTERVAL 120 MINUTE) > a.START_TIME "
+ " now() < a.START_TIME AND SUBDATE( a.START_TIME, INTERVAL 120 MINUTE ) < NOW() "
)
.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
&&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE),
@@ -813,7 +837,7 @@
)
// .orderByDesc(!Objects.isNull(pageWrap.getModel().getStatus())&&pageWrap.getModel().getStatus().equals(MeetConstants.TWO),"a.START_TIME")
// .orderByAsc(Objects.isNull(pageWrap.getModel().getStatus())||pageWrap.getModel().getStatus().equals(MeetConstants.ONE),"a.START_TIME")
- .orderByDesc( Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),"a.CREATE_DATE")
+ .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),"a.CREATE_DATE")
.orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),"a.START_TIME");
IPage<MeetingListResponse> page = bookingsMapper.myMeetingPage(pageWrap.toPage(), queryWrapper);
--
Gitblit v1.9.3