k94314517
2025-03-26 e87b711cc267567d8374315dc99ef9780cb25dd8
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -374,6 +374,7 @@
        userAction.setRemark(info);
        userAction.setMemberId(id+"");
        userActionMapper.insert(userAction);
    }
    @Override
@@ -649,7 +650,7 @@
            //查询是否有权限
            s.setHasRole(getHasRoleByParam(s,userInfo,adminList));
          /*  //服务项
            /*  //服务项
            MPJLambdaWrapper<ProjectRel> prquery = new MPJLambdaWrapper<>();
            prquery.selectAll(ProjectRel.class);
            prquery.eq(ProjectRel::getIsdeleted, MeetConstants.ZERO);
@@ -1091,7 +1092,8 @@
    @Override
    public MeetingDetailResponse getMeetingDetail(Integer id,Integer sysUserId) {
        MeetingDetailResponse meetingDetailResponse = bookingsMapper.meetingDetail(id);
        if (Objects.isNull(meetingDetailResponse)) {
        if (Objects.isNull(meetingDetailResponse)
                || Constants.equalsInteger(meetingDetailResponse.getIsdeleted(),Constants.ONE) ) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "未查询到会议详情");
        }
        //预约人
@@ -1184,6 +1186,7 @@
    public Integer reservationMeeting(BookingsRequest bookingsRequest) {
        Bookings bookings = new Bookings();
        BeanUtils.copyProperties(bookingsRequest, bookings);
        bookings.setJoinNotice(bookingsRequest.getJoinNotice());
        if (Objects.isNull(bookingsRequest.getId())) {
            this.create(bookings);
            return bookings.getId();
@@ -1302,6 +1305,34 @@
    }
    /**
     * 自动开始会议
     */
    @Override
    public void autoStart(){
        List<Rooms> roomList = roomsMapper.selectList(new QueryWrapper<Rooms>().lambda().eq(Rooms::getIsdeleted,Constants.ZERO).eq(Rooms::getStatus,Constants.ZERO));
        for (Rooms rooms:roomList) {
            //查询当前会议室是否存在进行中的会议
            if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO)
                    .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal)
            )<=Constants.ZERO){
                //根据会议室获取可以开启的会议记录(第一条记录)
                Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda()
                        .eq(Bookings::getIsdeleted,Constants.ZERO)
                        .eq(Bookings::getStatus,Constants.ZERO)
                        .eq(Bookings::getRoomId,rooms.getId())
                        .apply(" now() > START_TIME and now < END_TIME ")
                        .isNull(Bookings::getStartTimeReal)
                        .orderByAsc(Bookings::getStartTime)
                        .last(" limit 1 ")
                );
                bookings.setStartTimeReal(new Date());
                bookings.setEditDate(new Date());
                bookingsMapper.updateById(bookings);
            }
        }
    }
    /**
     * 提前开始
     * @param businessOverDTO
     */
@@ -1355,7 +1386,7 @@
                    .ne(Bookings::getId,bookings.getId())
            )>Constants.ZERO){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"存在未开启会议,无法开始会议");
            };
            }
            if(bookingsMapper.selectCount(new QueryWrapper<Bookings>()
                    .lambda() 
@@ -1366,7 +1397,7 @@
                    .eq(Bookings::getRoomId,bookings.getRoomId())
            )>Constants.ZERO){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前开启时间与其他会议存在冲突,无法开始会议");
            };
            }
        }else{
            if(bookings.getStartTime().getTime() > System.currentTimeMillis()){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未到会议申请开始时间,无法开始");
@@ -1384,6 +1415,7 @@
                .set(Bookings::getDoneInfo,"其他会议开始,自动关闭")
                .apply(" ( END_TIME < now() or ( END_TIME > now() and START_TIME < now() and START_TIME_REAL is null  ) )")
                .eq(Bookings::getStatus,Constants.ZERO)
                .ne(Bookings::getId,bookings.getId())
                .eq(Bookings::getRoomId,bookings.getRoomId())
        );
@@ -1579,7 +1611,7 @@
                            .replace("{会议主题}",StringUtils.defaultString(bookings.getName(),""))
                            .replace("{会议室名称}",StringUtils.defaultString(bookings.getRoomName(),""))
                            .replace("{会议时间段}",StringUtils.defaultString(timeInfo,""))
                            .replace("{会议备注}",StringUtils.defaultString(smsEmail.getRemark(),"")));
                            .replace("{会议备注}",StringUtils.defaultString(bookings.getRemark(),"无")));
                    smsEmailList.add(smsEmail);
                }
            }
@@ -1605,6 +1637,7 @@
                            .replace("{参会人员姓名}",StringUtils.defaultString(systemUser.getRealname(),""))
                            .replace("{会议主题}",StringUtils.defaultString(bookings.getName(),""))
                            .replace("{会议室名称}",StringUtils.defaultString(bookings.getRoomName(),""))
                            .replace("{会议备注}",StringUtils.defaultString(bookings.getRemark(),"无"))
                            .replace("{会议时间段}",StringUtils.defaultString(timeInfo,"")));
                    smsEmailList.add(smsEmail);
                }