From 4df9fdf92a0a3461d53a08d797a63145af48e0c6 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 19 九月 2024 14:08:15 +0800 Subject: [PATCH] 代码初始化 --- server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 152 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 137 insertions(+), 15 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 7a3ccc1..44ca327 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 @@ -841,19 +841,7 @@ .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),"a.START_TIME"); IPage<MeetingListResponse> page = bookingsMapper.myMeetingPage(pageWrap.toPage(), queryWrapper); - String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); - page.getRecords().forEach(i -> { - i.setPrefixUrl(path); - if(i.getMeetingStatus().equals(Constants.ZERO)){ - if(i.getMeetingStatus()==Constants.ONE){ - //寮�濮嬪墠120鍒嗛挓 澶т簬褰撳墠鏃堕棿 鍒欐樉绀哄嵆灏嗗紑濮� - if(DateUtil.afterMinutesDate(i.getStartTime(),-120).getTime()>System.currentTimeMillis()){ - i.setMeetingStatus(4); - } - } - } - - }); + this.dealMeetingStatus(page.getRecords()); return page; } @@ -904,9 +892,7 @@ .eq("BOOKING_ID", id) .eq("ISDELETED", MeetConstants.ZERO) )); - //鍙備細浜哄憳鍒楄〃 - List<UserResponse> userResponseList = systemUserService.getUserList(id); String avatarPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); @@ -1074,9 +1060,145 @@ bookingTimeJoinMapper.updateById(bookingTime); } } + } + + /** + * 姝e父寮�濮� + * @param businessOverDTO + */ + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void start(BusinessOverDTO businessOverDTO) { + this.startEarly(businessOverDTO); + } + + /** + * 鎻愬墠寮�濮� + * @param businessOverDTO + */ + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void startEarly(BusinessOverDTO businessOverDTO) { + if(Objects.isNull(businessOverDTO) + || Objects.isNull(businessOverDTO.getUserId()) + || Objects.isNull(businessOverDTO.getStartType()) + || Objects.isNull(businessOverDTO.getId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Bookings bookings = bookingsMapper.selectById(businessOverDTO.getId()); + if (Objects.isNull(bookings)) { + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鏈煡璇㈠埌棰勭害璁板綍"); + } + 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::getUserId,businessOverDTO.getUserId())); + + if (!bookings.getCreator().equals(businessOverDTO.getUserId()) && userRelList <= 0) { + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜璇ユ搷浣�"); + } + if(!Constants.equalsInteger(bookings.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛岃鎿嶄綔"); + } + if(Objects.nonNull(bookings.getStartTimeReal())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳宸插紑濮嬶紝璇峰嬁閲嶅鎿嶄綔"); + } + if (System.currentTimeMillis() > bookings.getEndTime().getTime()) { + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳宸茬粨鏉燂紝鏃犳硶杩涜璇ユ搷浣�"); + } + if(Constants.equalsInteger(businessOverDTO.getStartType(),Constants.ZERO)){ + //鏍规嵁閰嶇疆鑾峰彇鎻愬墠寮�濮嬬殑鍒嗛挓鏁伴噺 + String configMinute = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.EARLY_START).getCode(); + Integer beforeMinutes = StringUtils.isNotBlank(configMinute) ? Integer.valueOf(configMinute) : 120; + if(DateUtil.afterMinutesDate(bookings.getStartTime(),-beforeMinutes).getTime()>System.currentTimeMillis()){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼氳浠呭彲浠ユ彁鍓�"+beforeMinutes+"鍒嗛挓寮�濮�"); + } + }else{ + if(bookings.getStartTime().getTime() > System.currentTimeMillis()){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈埌浼氳鐢宠寮�濮嬫椂闂达紝鏃犳硶杩涜寮�鍚�"); + } + } + bookings.setStartTimeReal(new Date()); + bookings.setEditDate(new Date()); + bookings.setEditor(businessOverDTO.getUserId()); + bookingsMapper.updateById(bookings); + //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫 + bookingsMapper.update(null,new UpdateWrapper<Bookings>() + .lambda() + .set(Bookings::getStatus,Constants.TWO) + .set(Bookings::getDoneDate,new Date()) + .apply(" END_TIME < now() ") + .eq(Bookings::getStatus,Constants.ZERO) + .eq(Bookings::getRoomId,bookings.getRoomId()) + ); } + + @Override + public RoomDetailResponse getRoomDetail(Integer roomId){ + Rooms rooms = roomsMapper.selectById(roomId); + if(Objects.isNull(rooms) || !Constants.equalsInteger(rooms.getIsdeleted(),Constants.ZERO) + || !Constants.equalsInteger(rooms.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼氳瀹や俊鎭棤鏁堬紝璇疯仈绯荤鐞嗗憳"); + } + RoomDetailResponse response = new RoomDetailResponse(); + response.setRoomName(rooms.getName()); + response.setFileType(rooms.getFileType()); + + List<Multifile> multifileList = multifileJoinMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId,roomId) + .eq(Multifile::getObjType,Constants.FOUR) + ); + + String prefix = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.MEET_CODE_PREFIX).getCode() ; + response.setPrefix(prefix); + + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); + for (Multifile multifile:multifileList) { + multifile.setFileurlFull(path + multifile.getFileurl()); + } + response.setMultifileList(multifileList); + } + + //鏌ヨ浼氳鍒楄〃 + List<MeetingListResponse> meetingList = bookingsMapper.meetingList( + new QueryWrapper<Bookings>() + .eq( "b.id", rooms.getId()) + .eq("b.ISDELETED",MeetConstants.ZERO) + .eq("b.STATUS",MeetConstants.ZERO) + .eq("a.ISDELETED",MeetConstants.ZERO) + .eq("a.status",Constants.ZERO) + .like("a.start_time",DateUtil.getCurrDate()) + .orderByAsc("a.start_time") + ); + this.dealMeetingStatus(meetingList); + response.setMeetingListResponseList(meetingList); + return response; + } + + + public void dealMeetingStatus(List<MeetingListResponse> meetingResponseList){ + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(meetingResponseList)){ + String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); + String configMinute = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.SOON_START).getCode(); + Integer minute = StringUtils.isNotBlank(configMinute) ? Integer.valueOf(configMinute) : 120; + for (MeetingListResponse m:meetingResponseList) { + if(Constants.equalsInteger(m.getStatus(),Constants.ZERO)&&Constants.equalsInteger(m.getMeetingStatus(),Constants.ONE)){ + //寮�濮嬪墠120鍒嗛挓 澶т簬褰撳墠鏃堕棿 鍒欐樉绀哄嵆灏嗗紑濮� + if(DateUtil.afterMinutesDate(m.getStartTime(),-minute).getTime()>System.currentTimeMillis()){ + m.setMeetingStatus(4); + } + } + m.setPrefixUrl(path); + } + } + } + + /** * 瀹氭椂鍙戦�佷細璁� 鍗冲皢寮�濮嬮�氱煡 */ -- Gitblit v1.9.3