jiangping
2025-04-08 b1740c80205d9584738b1150f4122784c70bbe57
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -539,6 +539,7 @@
        IPage<Bookings> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        Integer minute =getNearStartMinut();
        queryWrapper.selectAll(Bookings.class);
        queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName);
@@ -576,22 +577,25 @@
        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());
        //status 状态 0已预约 1已撤销 2已结束
        //会议状态: 1=未开始;2=进行中;3=已结束 ; 4=即将开始; 5=已撤销
        queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                        &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
                " ( now() < t.START_TIME and t.status = 0 ) "
                " ( now() < t.START_TIME and t.status = 0  AND SUBDATE( now(), INTERVAL -"+minute+" MINUTE ) <  t.START_TIME ) "
        )
        .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 ) "
                " ( t.status = 0 and t.START_TIME_REAL is not null  ) "
        )
        .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  )  "
                " (   t.`STATUS` = 2  )  "
                //" ( ( 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() "
                " (t.status = 0  AND SUBDATE( now(), INTERVAL -"+minute+" MINUTE ) >  t.START_TIME and t.START_TIME_REAL is null ) "
                //" now() < t.START_TIME  AND SUBDATE( t.START_TIME, INTERVAL "+minute+" MINUTE ) < NOW() "
        )
        .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                        &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE),
@@ -612,7 +616,6 @@
        SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
        SimpleDateFormat format1 = new SimpleDateFormat("HH:mm");
        IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper);
        Integer minute =getNearStartMinut();
        result.getRecords().stream().forEach(s -> {
            dealMeetingStatusByModel(s,minute);
            MPJLambdaWrapper<Multifile> bookquery = new MPJLambdaWrapper<>();