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/RoomsServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 95 insertions(+), 18 deletions(-) diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java index b047c08..5a28dcf 100644 --- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java +++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java @@ -16,6 +16,7 @@ import com.doumee.dao.business.RoomsMapper; import com.doumee.dao.business.join.*; import com.doumee.dao.business.model.*; +import com.doumee.dao.system.model.Multifile; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.request.MeetingPageRequest; import com.doumee.dao.web.request.RoomsRequest; @@ -56,6 +57,9 @@ private RoomsMapper roomsMapper; @Autowired private RoomsJoinMapper roomsJoinMapper; + @Autowired + private MultifileJoinMapper multifileJoinMapper; + @Autowired private RoomTimeJoinMapper roomTimeJoinMapper; @@ -73,7 +77,9 @@ @Transactional(rollbackFor = {BusinessException.class, Exception.class}) public Integer create(Rooms rooms) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - + if(user ==null){ + user = rooms.getLoginUserInfo(); + } isCreateParamValid(rooms, user); Calendar starttime = Calendar.getInstance(); @@ -88,7 +94,9 @@ if (starttime.after(endtime) || starttime.equals(endtime)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鏃ユ湡鍖洪棿閿欒"); } - + if(!Constants.equalsInteger(rooms.getFileType(),Constants.TWO)&&CollectionUtils.isEmpty(rooms.getMultifileList())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈笂浼犳枃浠跺浘鐗�"); + } rooms.setCreateDate(new Date()); rooms.setIsdeleted(Constants.ZERO); @@ -96,18 +104,34 @@ rooms.setStatus(Constants.ZERO); rooms.setEditDate(rooms.getCreateDate()); roomsMapper.insert(rooms); - + if(!Constants.equalsInteger(rooms.getFileType(),Constants.TWO)){ + List<Multifile> multifileList = rooms.getMultifileList(); + if(CollectionUtils.isEmpty(multifileList)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇蜂笂浼犻檮浠朵俊鎭�"); + } + for (Multifile multifile:multifileList) { + if(Objects.isNull(multifile) + || StringUtils.isBlank(multifile.getFileurl())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍙傛暟閿欒"); + } + multifile.setCreateDate(new Date()); + multifile.setObjId(rooms.getId()); + multifile.setObjType(Constants.FOUR); + multifile.setIsdeleted(Constants.ZERO); + multifile.setCreator(user.getId()); + } + multifileJoinMapper.insert(multifileList); + } rooms.setStartTime(rooms.getStartTime()+":00"); rooms.setEndTime(rooms.getEndTime()+":00"); rooms.setStartTime(DateUtil.formatDate(starttime.getTime(), "yyyy-MM-dd HH:mm:ss")); rooms.setEndTime(DateUtil.formatDate(endtime.getTime(), "yyyy-MM-dd HH:mm:ss")); - //TODO 鏇存柊浼氳瀹ゆ椂闂存 + // 鏇存柊浼氳瀹ゆ椂闂存 updateRoomTimes(rooms, user); - - //TODO 娣诲姞绠$悊浜哄憳 + // 娣诲姞绠$悊浜哄憳 updateManager(rooms, user); - //TODO 娣诲姞绠℃湇鍔¢」鐩� + // 娣诲姞绠℃湇鍔¢」鐩� updateProjectRel(rooms, user); return rooms.getId(); } @@ -116,6 +140,7 @@ if (StringUtils.isBlank(rooms.getName()) || StringUtils.isBlank(rooms.getStartTime()) || StringUtils.isBlank(rooms.getEndTime()) || + Objects.isNull(rooms.getFileType()) || rooms.getIntervalTime() == null ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); @@ -324,7 +349,9 @@ public void updateById(Rooms rooms) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - + if(user ==null){ + user = rooms.getLoginUserInfo(); + } isCreateParamValid(rooms, user); Calendar starttime = Calendar.getInstance(); @@ -343,21 +370,52 @@ Integer re = recordisExist(rooms.getId()); if (Constants.equalsInteger(re, Constants.ONE)) { //瀛樹笅棰勭害璁板綍涓嶅厑璁告洿鏂板紑鏀炬椂闂村拰绮掑害鍒嗛挓 - // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳瀹ゅ瓨鍦ㄩ绾︿腑鐨勮褰曪紝涓嶅厑璁镐慨鏀�"); +// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "浼氳瀹ゅ瓨鍦ㄩ绾︿腑鐨勮褰曪紝涓嶅厑璁镐慨鏀�"); rooms.setStartTime(null); rooms.setEndTime(null); rooms.setIntervalTime(null); } - rooms.setEditDate(new Date()); rooms.setEditor(user.getId()); + +// if(!Constants.equalsInteger(rooms.getFileType(),Constants.TWO)&&StringUtils.isBlank(rooms.getImgurl())){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈笂浼犳枃浠跺浘鐗�"); +// } +// if(Constants.equalsInteger(rooms.getFileType(),Constants.TWO)){ +// rooms.setImgurl(null); +// } + roomsMapper.update(rooms, Wrappers.<Rooms>lambdaUpdate() + .set(Rooms::getFileType, rooms.getFileType()) .set(Rooms::getLimitNum, rooms.getLimitNum()) .set(Rooms::getTips, rooms.getTips()) .set(Rooms::getImgurl, rooms.getImgurl()) .eq(Rooms::getId, rooms.getId())); + multifileJoinMapper.delete(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId,rooms.getId()) + .eq(Multifile::getObjType,Constants.FOUR) + ); + + if(!Constants.equalsInteger(rooms.getFileType(),Constants.TWO)){ + List<Multifile> multifileList = rooms.getMultifileList(); + if(CollectionUtils.isEmpty(multifileList)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇蜂笂浼犻檮浠朵俊鎭�"); + } + for (Multifile multifile:multifileList) { + if(Objects.isNull(multifile) + || StringUtils.isBlank(multifile.getFileurl())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍙傛暟閿欒"); + } + multifile.setCreateDate(new Date()); + multifile.setObjId(rooms.getId()); + multifile.setObjType(Constants.FOUR); + multifile.setIsdeleted(Constants.ZERO); + multifile.setCreator(user.getId()); + } + multifileJoinMapper.insert(multifileList); + } rooms.setStartTime(rooms.getStartTime()+":00"); rooms.setEndTime(rooms.getEndTime()+":00"); @@ -386,8 +444,7 @@ } } @Override - public void updateStatusById(Rooms rooms) { - LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + public void updateStatusById(Rooms rooms,LoginUserInfo user) { Integer re = recordisExist(rooms.getId()); @@ -448,10 +505,10 @@ // queryWrapper.leftJoin(UserRel.class,UserRel::getObjId,Rooms::getId); List<Integer> collect = pageWrap.getModel().getSysList().stream().map(UserRel::getUserId).collect(Collectors.toList()); - queryWrapper.exists("select u.id from user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and u.USER_ID in (" + StringUtils.strip(collect.toString(),"[]")+" )"); + queryWrapper.exists("select u.id from meeting_user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and u.USER_ID in (" + StringUtils.strip(collect.toString(),"[]")+" )"); } - String path = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String path = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); IPage<Rooms> result = roomsJoinMapper.selectJoinPage(page, Rooms.class, queryWrapper); result.getRecords().stream().forEach(s ->{ @@ -481,6 +538,19 @@ findpr.leftJoin(Projects.class,Projects::getId,ProjectRel::getProjectId); List<ProjectRel> projectLisr= projectRelJoinMapper.selectJoinList(ProjectRel.class,findpr); s.setProjectList(projectLisr); + + if(!Constants.equalsInteger(s.getFileType(),Constants.TWO)){ + List<Multifile > multifileList = multifileJoinMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId,s.getId()) + .eq(Multifile::getObjType,Constants.FOUR) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + for (Multifile multifile:multifileList) { + multifile.setFileurlFull(path + multifile.getFileurl()); + } + s.setMultifileList(multifileList); + } + } }); return PageData.from(result); @@ -534,11 +604,11 @@ .eq("STATUS",Constants.ZERO) .eq("ISDELETED",Constants.ZERO) .like(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),"NAME",pageWrap.getModel().getRoomsName()) - .exists(" select 1 from user_rel u where u.USER_ID = "+pageWrap.getModel().getUserId()+" and u.ISDELETED = 0 and u.OBJ_ID = rooms.id and u.OBJ_TYPE = 0 ") + .exists(" select 1 from meeting_user_rel u where u.USER_ID = "+pageWrap.getModel().getUserId()+" and u.ISDELETED = 0 and u.OBJ_ID = rooms.id and u.OBJ_TYPE = 0 ") .orderByDesc("CREATE_DATE") ); - String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() - + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); page.getRecords().forEach(s->{ s.setPrefixUrl(prefixUrl); @@ -574,7 +644,7 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浼氳瀹や俊鎭�"); } - String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() + systemDictDataBiz.queryByCode(MeetConstants.OSS, MeetConstants.PROJECTS).getCode(); + String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); roomsResponse.setPrefixUrl(prefixUrl); @@ -589,6 +659,13 @@ List<ProjectRel> projectList= projectRelJoinMapper.selectJoinList(ProjectRel.class,findProjectRel); roomsResponse.setProjectList(projectList); + if(Objects.nonNull(roomsResponse.getFileType()) && !Constants.equalsInteger(roomsResponse.getFileType(),Constants.TWO)){ + roomsResponse.setMultifileList( + multifileJoinMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,roomsResponse.getId()) + .eq(Multifile::getObjType,Constants.FOUR)) + ); + } + return roomsResponse; } -- Gitblit v1.9.3