From e992f6c13602feadd60f9df16c65ffccc1cdcb6a Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 05 七月 2024 18:22:35 +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