jiangping
2025-05-19 d17bd13e7ba8d781d55020999d0bcfc000562c20
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -644,11 +644,11 @@
            s.setSysList(userrelList);
            //会议室管理员
            MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>();
            urquery.selectAll(UserRel.class);
            urquery.eq(UserRel::getObjType, MeetConstants.ZERO);
            urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
            urquery.eq(UserRel::getObjId, s.getRoomId());
            List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, urquery);
            param.selectAll(UserRel.class);
            param.eq(UserRel::getObjType, MeetConstants.ZERO);
            param.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
            param.eq(UserRel::getObjId, s.getRoomId());
            List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param);
            s.setAdminList(adminList);
            //查询是否有权限
@@ -674,7 +674,7 @@
        if(Constants.equalsInteger(userInfo.getId(),s.getCreator())  ){
              return 1;
        }
        if(adminList!=null){
        if(adminList!=null && userInfo!=null){
            for(UserRel u : adminList){
                if(Constants.equalsInteger(userInfo.getId(),u.getUserId())  ){
                    return 1;
@@ -1210,8 +1210,20 @@
        if (Objects.isNull(bookings)) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "未查询到预约记录");
        }
        if (!bookings.getCreator().equals(businessOverDTO.getUserId())) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "非你的预约记录,无法进行取消");
//        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        //会议室管理员
        MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>();
        param.selectAll(UserRel.class);
        param.eq(UserRel::getObjType, MeetConstants.ZERO);
        param.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
        param.eq(UserRel::getObjId, bookings.getRoomId());
        List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param);
        Integer hasRole =getHasRoleByParam(bookings,businessOverDTO.getLoginUser(),adminList);
//        if (!bookings.getCreator().equals(businessOverDTO.getUserId())) {
        if (!Constants.equalsInteger(hasRole,Constants.ONE)) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,只有会议室管理员和申请人才能进行该操作哦!");
        }
        if (Objects.nonNull(bookings.getStartTimeReal()) && System.currentTimeMillis() > bookings.getStartTimeReal().getTime()) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "会议已开始,无法进行取消");