From a675a9d1acfacbc0f305f868929b4f0f086ec2dd Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 23 五月 2024 10:54:33 +0800 Subject: [PATCH] 最新版本 --- server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 80 +++++++++++++++++++++------------------- 1 files changed, 42 insertions(+), 38 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 fb949c1..5c5873f 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 @@ -22,13 +22,11 @@ import com.doumee.dao.business.join.*; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.RoomStatisticsVo; +import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.dto.UserStatisticsDTO; import com.doumee.dao.system.join.NoticesJoinMapper; -import com.doumee.dao.system.model.Notices; -import com.doumee.dao.system.model.SystemDepartment; -import com.doumee.dao.system.model.SystemDepartmentUser; -import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.system.model.*; import com.doumee.dao.system.vo.UserStatisticsVo; import com.doumee.dao.web.request.BookingsRequest; import com.doumee.dao.web.request.MeetingPageRequest; @@ -36,7 +34,6 @@ import com.doumee.service.business.BookingsService; import com.doumee.service.business.DevicesService; import com.doumee.service.business.ProjectsService; -import com.doumee.service.system.NoticesService; import com.doumee.service.system.SystemUserService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; @@ -123,7 +120,7 @@ @Override @Transactional(rollbackFor = {BusinessException.class, Exception.class}) public Integer create(Bookings bookings) { - LoginUserInfo user = new LoginUserInfo(); + LoginUserInfo user = bookings.getLoginUserInfo(); user.setId(bookings.getCreator()); isCreateParamValid(bookings, user); bookings.setCreateDate(new Date()); @@ -302,8 +299,7 @@ } @Override - public void deleteById(Integer id) { - LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + public void deleteById(Integer id,LoginUserInfo user) { Bookings bookings = new Bookings(); bookings.setId(id); bookings.setIsdeleted(MeetConstants.ONE); @@ -313,14 +309,13 @@ } @Override - public void delete(Bookings bookings) { + public void delete(Bookings bookings,LoginUserInfo user) { UpdateWrapper<Bookings> deleteWrapper = new UpdateWrapper<>(bookings); bookingsMapper.delete(deleteWrapper); } @Override - public void deleteByIdInBatch(List<Integer> ids) { - LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + public void deleteByIdInBatch(List<Integer> ids,LoginUserInfo user) { if (CollectionUtils.isEmpty(ids)) { return; } @@ -352,8 +347,7 @@ if(dbBookings.getStatus().equals(MeetConstants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鏈鎿嶄綔澶辫触,棰勭害鐘舵�佸凡娴佽浆"); } - LoginUserInfo user = new LoginUserInfo(); - user.setId(bookings.getCreator()); + LoginUserInfo user = bookings.getLoginUserInfo(); isCreateParamValid(bookings, user); bookings.setEditDate(new Date()); bookings.setEditor(user.getId()); @@ -388,6 +382,9 @@ @Override public void cancelById(Bookings bs) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(user == null){ + user = bs.getLoginUserInfo(); + } /* if(Objects.isNull(bookings)||bookings.getId()==null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); @@ -455,14 +452,11 @@ queryWrapper.selectAll(Bookings.class); queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName); queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName); - queryWrapper.selectAs(SystemDepartment::getName, Bookings::getDepartmentName); + queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName); queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator); - - queryWrapper.leftJoin(SystemDepartmentUser.class, SystemDepartmentUser::getUserId, Bookings::getCreator); - queryWrapper.leftJoin(SystemDepartment.class, SystemDepartment::getId, SystemDepartmentUser::getDepartmentId); - + queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId); queryWrapper.orderByDesc(Bookings::getCreateDate); queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO); @@ -470,7 +464,7 @@ queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Bookings::getName, pageWrap.getModel().getName()); 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, SystemDepartment::getId, pageWrap.getModel().getDepartmentId()); + queryWrapper.eq(pageWrap.getModel().getDepartmentId() != null, SystemUser::getId, pageWrap.getModel().getDepartmentId()); if (pageWrap.getModel().getStartTime() != null) { queryWrapper.ge(Bookings::getStartTime, pageWrap.getModel().getStartTime()); @@ -481,7 +475,7 @@ } queryWrapper.orderByDesc(Bookings::getCreateDate); - String path = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); SimpleDateFormat format1 = new SimpleDateFormat("HH:mm"); @@ -493,7 +487,7 @@ List<Multifile> filelist = multifileJoinMapper.selectList(bookquery); filelist.stream().forEach(a -> { if (StringUtils.isNotBlank(a.getFileurl())) { - a.setFileFullUrl(path + a.getFileurl()); + a.setFileurlFull(path + a.getFileurl()); } }); s.setFileList(filelist); @@ -516,7 +510,7 @@ prquery.selectAll(ProjectRel.class); prquery.eq(ProjectRel::getIsdeleted, MeetConstants.ZERO); prquery.eq(ProjectRel::getObjId, s.getId()); - prquery.select("(select p.name from projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0 ) as projectName"); + prquery.select("(select p.name from meeting_projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0 ) as projectName"); List<ProjectRel> prList = projectRelJoinMapper.selectJoinList(ProjectRel.class, prquery); s.setProjectList(prList); @@ -536,11 +530,10 @@ queryWrapper.selectAll(Bookings.class); queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName); queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName); - queryWrapper.selectAs(SystemDepartment::getName, Bookings::getDepartmentName); + queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName); queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator); - queryWrapper.leftJoin(SystemDepartmentUser.class, SystemDepartmentUser::getUserId, Bookings::getCreator); - queryWrapper.leftJoin(SystemDepartment.class, SystemDepartment::getId, SystemDepartmentUser::getDepartmentId); + queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId); queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO); queryWrapper.eq(queryParam.getId() != null, Bookings::getId, queryParam.getId()); queryWrapper.eq(queryParam.getRoomId() != null, Bookings::getRoomId, queryParam.getRoomId()); @@ -554,7 +547,7 @@ queryWrapper.orderByDesc(Bookings::getCreateDate); // String path = systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); - String path = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); Bookings result = bookingsJoinMapper.selectOne(queryWrapper.last("limit 1")); if (result != null) { @@ -564,7 +557,7 @@ List<Multifile> filelist = multifileJoinMapper.selectList(bookquery); filelist.stream().forEach(a -> { if (StringUtils.isNotBlank(a.getFileurl())) { - a.setFileFullUrl(path + a.getFileurl()); + a.setFileurlFull(path + a.getFileurl()); } }); result.setFileList(filelist); @@ -747,7 +740,7 @@ @Override public List<Bookings> getMyBookings(Integer userId, String dateMsg) { return bookingsMapper.selectList(new QueryWrapper<Bookings>() - .apply(" id in ( select u.OBJ_ID from user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ) ") + .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ) ") .eq("ISDELETED",MeetConstants.ZERO) // .eq("STATUS",MeetConstants.ZERO) .apply(" ROOM_ID in ( select r.id from rooms r where r.ISDELETED = 0 and r.STATUS = 0 )") @@ -768,7 +761,7 @@ j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or() .like(" b.NAME", pageWrap.getModel().getRoomsName())) .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()), - " select 1 from user_rel u where a.id = u.OBJ_ID and u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ") + " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ") .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) && !Objects.isNull(pageWrap.getModel().getUserId()), "a.CREATOR", pageWrap.getModel().getUserId()) .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), "a.START_TIME", pageWrap.getModel().getQueryDate()) .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), "b.id", pageWrap.getModel().getRoomsId()) @@ -782,10 +775,21 @@ .orderByDesc(!Objects.isNull(pageWrap.getModel().getStatus())&&pageWrap.getModel().getStatus().equals(MeetConstants.TWO),"a.START_TIME") .orderByAsc(Objects.isNull(pageWrap.getModel().getStatus())||pageWrap.getModel().getStatus().equals(MeetConstants.ONE),"a.START_TIME") ); - String prefixUrl = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); - ; + String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); page.getRecords().forEach(i -> { - i.setPrefixUrl(prefixUrl); + i.setPrefixUrl(path); + if(i.getMeetingStatus().equals(Constants.ZERO)){ + if(i.getStatus()==Constants.ONE){ + i.setMeetingStatus(5); + }else{ + //寮�濮嬪墠5鍒嗛挓 澶т簬褰撳墠鏃堕棿 鍒欐樉绀哄嵆灏嗗紑濮� + if(DateUtil.afterMinutesDate(i.getStartTime(),-5).getTime()>System.currentTimeMillis()){ + i.setMeetingStatus(4); + } + } + + } + }); return page; } @@ -813,7 +817,7 @@ //鍙備細浜哄憳鍒楄〃 SystemUser param = new SystemUser(); List<SystemUser> userResponseList = systemUserService.findList(param); - String avatarPath = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String avatarPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.MEMBER_IMG).getCode(); userResponseList.forEach(i -> { if(StringUtils.isNotBlank(i.getAvatar())){ i.setAvatar(avatarPath+i.getAvatar()); @@ -821,7 +825,7 @@ }); meetingDetailResponse.setUserResponseList(userResponseList); //鏈嶅姟椤� - String projectsPath = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String projectsPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); List<ProjectsResponse> projectsResponseList = projectsService.getProjectsList(id, MeetConstants.ONE); projectsResponseList.forEach(i -> { i.setPrefixUrl(projectsPath); @@ -832,7 +836,7 @@ .eq("OBJ_TYPE", MeetConstants.ZERO) ); multiFileList.forEach(i -> { - i.setFileFullUrl(projectsPath); + i.setFileurlFull(projectsPath); }); //闄勪欢淇℃伅 meetingDetailResponse.setMultiFileList(multiFileList); @@ -897,6 +901,7 @@ * @param userId */ @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void reservationCancel(Integer id, Integer userId) { Bookings bookings = bookingsMapper.selectById(id); if (Objects.isNull(bookings)) { @@ -1000,7 +1005,7 @@ lambdaWrapper.selectAll(Bookings.class) .selectAs(SystemUser::getRealname, Bookings::getRealName) - .selectAs(SystemDepartment::getName, Bookings::getDepartmentName) + .selectAs(Company::getName, Bookings::getDepartmentName) .selectAs(Rooms::getName, Bookings::getRoomName) .select("CASE DAYOFWEEK(t.START_TIME)\n" + "\tWHEN 1 THEN \t\"鏄熸湡鏃" \tWHEN 2 THEN \"鏄熸湡涓�\"\n" + @@ -1014,8 +1019,7 @@ // .leftJoin(RoomTime.class, RoomTime::getId, BookingTime::getTimeId) .leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator) .leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId) - .leftJoin(SystemDepartmentUser.class, SystemDepartmentUser::getUserId, Bookings::getCreator) - .leftJoin(SystemDepartment.class, SystemDepartment::getId, SystemDepartmentUser::getDepartmentId) + .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) .eq(Objects.nonNull(roomId), Bookings::getRoomId, roomId) .eq(Bookings::getIsdeleted, MeetConstants.ZERO) .eq(Bookings::getStatus, MeetConstants.ZERO) -- Gitblit v1.9.3