From c5a0ff2661fe362dddbe88c6a28d19c48c24c39b Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 21 十月 2024 20:39:32 +0800 Subject: [PATCH] 最新版本541200007 --- server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 41 +++++++++++++++++++++++++++++++---------- 1 files changed, 31 insertions(+), 10 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 a973cf6..19d048f 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 @@ -142,7 +142,7 @@ //鍙戦�佷細璁绾︽垚鍔熼�氱煡 this.sendNotice(bookings, MeetConstants.TWO); //鍙戦�佸井淇¤闃呴�氱煡 - sendWxMessage.bookingsReservation(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); +// sendWxMessage.bookingsReservation(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); return bookings.getId(); } @@ -470,6 +470,26 @@ queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId); queryWrapper.orderByDesc(Bookings::getCreateDate); queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO); + + //鏁版嵁鏉冮檺寮�濮�--------------------start---------------- + LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); + if(userInfo!=null && userInfo.getCompanyIdList()!=null){ + if( userInfo.getCompanyIdList().size() ==0){ + //鍙湅鑷繁 + queryWrapper.and(wrapper ->{ + wrapper.eq(Bookings::getCreator,userInfo.getId()) + .or().exists("select rel.id from meeting_user_rel rel where rel.OBJ_TYPE=0 and rel.obj_id=t.id and rel.isdeleted=0 and rel.user_id="+userInfo.getId()); + }); + queryWrapper.eq(Bookings::getCreator,userInfo.getId()); + }else{ + //鏉冮檺鑼冨洿鍐� + queryWrapper.and(wrapper ->{ + wrapper.in(SystemUser::getCompanyId ,userInfo.getCompanyIdList()) + .or().exists("select rel.id from meeting_user_rel rel where rel.OBJ_TYPE=0 and rel.obj_id=t.id and rel.isdeleted=0 and rel.user_id="+userInfo.getId()); + }); + } + } + //鏁版嵁鏉冮檺寮�濮�--------------------end---------------- queryWrapper.eq(pageWrap.getModel().getRoomId() != null, Bookings::getRoomId, pageWrap.getModel().getRoomId()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Bookings::getName, pageWrap.getModel().getName()); @@ -994,7 +1014,7 @@ if (!bookings.getCreator().equals(businessOverDTO.getUserId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜鍙栨秷"); } - if (System.currentTimeMillis() > bookings.getStartTime().getTime()) { + if (Objects.nonNull(bookings.getStartTimeReal()) && System.currentTimeMillis() > bookings.getStartTimeReal().getTime()) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳宸插紑濮�,鏃犳硶杩涜鍙栨秷"); } if(bookings.getStatus().equals(MeetConstants.ONE)){ @@ -1010,7 +1030,7 @@ //鍙栨秷浼氳 鍙戦�佸彇娑堥�氱煡 this.sendNotice(bookings, 3); //鍙戦�佸井淇¤闃呴�氱煡 - sendWxMessage.bookingsCancel(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); +// sendWxMessage.bookingsCancel(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); } @@ -1036,7 +1056,7 @@ if (!bookings.getCreator().equals(businessOverDTO.getUserId()) && userRelList <= 0) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜璇ユ搷浣�"); } - if (System.currentTimeMillis() < bookings.getStartTime().getTime()) { + if (System.currentTimeMillis() < bookings.getStartTimeReal().getTime()) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳鏈紑濮�,鏃犳硶杩涜缁撴潫锛屽闇�璇ユ搷浣滆浣跨敤鍙栨秷鍔熻兘"); } if (System.currentTimeMillis() > bookings.getEndTime().getTime()) { @@ -1124,7 +1144,6 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼氳浠呭彲浠ユ彁鍓�"+beforeMinutes+"鍒嗛挓寮�濮�"); } //鏌ヨ鏄惁瀛樺湪鍏朵粬鏈紑濮嬬殑浼氳 闃叉棰楃矑搴︿笌鎻愬墠寮�濮嬬殑闂 - if(bookingsMapper.selectCount(new QueryWrapper<Bookings>() .lambda() .apply(" now() < START_TIME and END_TIME <= '" + DateUtil.DateToStr(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") +"'" ) @@ -1134,22 +1153,22 @@ .eq(Bookings::getRoomId,bookings.getRoomId()) .ne(Bookings::getId,bookings.getId()) )>Constants.ZERO){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鏈紑鍚細璁紝鏃犳硶杩涜寮�濮嬩細璁�"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鏈紑鍚細璁紝鏃犳硶寮�濮嬩細璁�"); }; if(bookingsMapper.selectCount(new QueryWrapper<Bookings>() .lambda() - .apply(" END_TIME > now() and START_TIME < now() ") + .apply(" ( ( END_TIME > now() and START_TIME < now() ) or ( END_TIME > now() and START_TIME_REAL < now() ) ) ") .isNotNull(Bookings::getStartTimeReal) .isNull(Bookings::getDoneDate) .eq(Bookings::getStatus,Constants.ZERO) .eq(Bookings::getRoomId,bookings.getRoomId()) )>Constants.ZERO){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠寮�鍚椂闂翠笌鍏朵粬浼氳瀛樺湪鍐茬獊锛屾棤娉曡繘琛屽紑濮嬩細璁�"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠寮�鍚椂闂翠笌鍏朵粬浼氳瀛樺湪鍐茬獊锛屾棤娉曞紑濮嬩細璁�"); }; }else{ if(bookings.getStartTime().getTime() > System.currentTimeMillis()){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌浼氳鐢宠寮�濮嬫椂闂达紝鏃犳硶杩涜寮�濮�"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌浼氳鐢宠寮�濮嬫椂闂达紝鏃犳硶寮�濮�"); } } bookings.setStartTimeReal(new Date()); @@ -1205,7 +1224,9 @@ .eq("b.STATUS",MeetConstants.ZERO) .eq("a.ISDELETED",MeetConstants.ZERO) .eq("a.status",Constants.ZERO) + .ne("a.status",Constants.TWO) .like("a.start_time",DateUtil.getCurrDate()) + .apply(" not exists ( select 1 from meeting_book mb where mb.END_TIME < now() and mb.id = a.id and START_TIME_REAL is null ) ") .orderByAsc("a.start_time") ); this.dealMeetingStatus(meetingList); @@ -1254,7 +1275,7 @@ bookingsMapper.updateById(bookings); this.sendNotice(bookings, MeetConstants.ONE); //鍙戦�佸井淇¢�氱煡 - sendWxMessage.bookingsStart(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); +// sendWxMessage.bookingsStart(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId())); } } -- Gitblit v1.9.3