From a1647a5152e3d368ec2fb738ca7cc858e220d06c Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 24 九月 2024 09:15:08 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 12 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 44ca327..2c39a98 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(); } @@ -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.select(" CASE WHEN t.START_TIME_REAL IS NULL 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,7 +476,6 @@ 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), @@ -863,7 +862,7 @@ if(Objects.isNull(bookings)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - return getMeetingDetail(bookings.getId()); + return getMeetingDetail(bookings.getId(),null); }catch (Exception e){ e.printStackTrace(); } @@ -880,7 +879,7 @@ * @return */ @Override - public MeetingDetailResponse getMeetingDetail(Integer id) { + public MeetingDetailResponse getMeetingDetail(Integer id,Integer sysUserId) { MeetingDetailResponse meetingDetailResponse = bookingsMapper.meetingDetail(id); if (Objects.isNull(meetingDetailResponse)) { throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鏈煡璇㈠埌浼氳璇︽儏"); @@ -925,9 +924,18 @@ .eq("OBJ_ID", meetingDetailResponse.getRoomId()) .eq("OBJ_TYPE",MeetConstants.ZERO) ); + if(Constants.equalsInteger(sysUserId,meetingDetailResponse.getBookingUserId())){ + meetingDetailResponse.setIsAdmin(Constants.ONE); + } if (!Objects.isNull(userRelList) && userRelList.size() > 0) { meetingDetailResponse.setRoomUser(systemUserService.findById(userRelList.get(MeetConstants.ZERO).getUserId())); + if( Objects.nonNull(sysUserId) && + userRelList.stream().filter(i->Constants.equalsInteger(i.getUserId(),sysUserId)).collect(Collectors.toList()).size()>Constants.ZERO + ){ + meetingDetailResponse.setIsAdmin(Constants.ONE); + } } + return meetingDetailResponse; } @@ -1002,7 +1010,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())); } @@ -1022,13 +1030,13 @@ Long userRelList = userRelMapper.selectCount(new QueryWrapper<UserRel>().lambda() .eq(UserRel::getIsdeleted,Constants.ZERO) .eq(UserRel::getObjId,bookings.getRoomId()) - .eq(UserRel::getObjType,Constants.ONE) + .eq(UserRel::getObjType,Constants.ZERO) .eq(UserRel::getUserId,businessOverDTO.getUserId())); 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()) { @@ -1093,7 +1101,7 @@ Long userRelList = userRelMapper.selectCount(new QueryWrapper<UserRel>().lambda() .eq(UserRel::getIsdeleted,Constants.ZERO) .eq(UserRel::getObjId,bookings.getRoomId()) - .eq(UserRel::getObjType,Constants.ONE) + .eq(UserRel::getObjType,Constants.ZERO) .eq(UserRel::getUserId,businessOverDTO.getUserId())); if (!bookings.getCreator().equals(businessOverDTO.getUserId()) && userRelList <= 0) { @@ -1115,9 +1123,32 @@ if(DateUtil.afterMinutesDate(bookings.getStartTime(),-beforeMinutes).getTime()>System.currentTimeMillis()){ 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") +"'" ) + .isNull(Bookings::getStartTimeReal) + .isNull(Bookings::getDoneDate) + .eq(Bookings::getStatus,Constants.ZERO) + .eq(Bookings::getRoomId,bookings.getRoomId()) + .ne(Bookings::getId,bookings.getId()) + )>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鏈紑鍚細璁紝鏃犳硶寮�濮嬩細璁�"); + }; + + if(bookingsMapper.selectCount(new QueryWrapper<Bookings>() + .lambda() + .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(),"褰撳墠寮�鍚椂闂翠笌鍏朵粬浼氳瀛樺湪鍐茬獊锛屾棤娉曞紑濮嬩細璁�"); + }; }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()); @@ -1129,7 +1160,8 @@ .lambda() .set(Bookings::getStatus,Constants.TWO) .set(Bookings::getDoneDate,new Date()) - .apply(" END_TIME < now() ") + .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) .eq(Bookings::getRoomId,bookings.getRoomId()) ); @@ -1221,7 +1253,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