From 180b752fc5857a004088edbfd505894122c40049 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期三, 30 十月 2024 17:07:12 +0800 Subject: [PATCH] 完成在线培训一个会议多个班级的功能 --- src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java index 299da8e..8af2aad 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java @@ -9,16 +9,17 @@ import com.ycl.jxkg.base.SystemCode; import com.ycl.jxkg.context.WebContext; import com.ycl.jxkg.domain.entity.Meet; +import com.ycl.jxkg.domain.entity.MeetClasses; import com.ycl.jxkg.domain.entity.MeetStudent; import com.ycl.jxkg.domain.entity.StudyRecord; import com.ycl.jxkg.domain.form.MeetForm; import com.ycl.jxkg.domain.query.MeetQuery; +import com.ycl.jxkg.domain.vo.ClassesVO; +import com.ycl.jxkg.domain.vo.MeetClassesVo; import com.ycl.jxkg.domain.vo.MeetVO; +import com.ycl.jxkg.domain.vo.StudentSimpleVO; import com.ycl.jxkg.enums.MeetStatusEnum; -import com.ycl.jxkg.mapper.ClassesUserMapper; -import com.ycl.jxkg.mapper.MeetMapper; -import com.ycl.jxkg.mapper.MeetStudentMapper; -import com.ycl.jxkg.mapper.StudyRecordMapper; +import com.ycl.jxkg.mapper.*; import com.ycl.jxkg.rabbitmq.msg.MeetStatusMsg; import com.ycl.jxkg.rabbitmq.product.Producer; import com.ycl.jxkg.service.MeetService; @@ -53,6 +54,7 @@ private final Producer producer; private final MeetStudentMapper meetStudentMapper; private final StudyRecordMapper studyRecordMapper; + private final MeetClassesMapper meetClassesMapper; /** * 娣诲姞 * @param form @@ -68,6 +70,13 @@ if (baseMapper.insert(entity) > 0) { this.sendMQ(entity, 0); } + // 鍚戜細璁彮绾т腑闂磋〃涓彃鍏ユ暟鎹� + form.getClassesIds().stream().forEach(classId -> { + MeetClasses meetClasses = new MeetClasses(); + meetClasses.setMeetId(entity.getId()); + meetClasses.setClassId(classId); + meetClassesMapper.insert(meetClasses); + }); return Result.ok("娣诲姞鎴愬姛"); } @@ -135,15 +144,21 @@ @Override public Result studentPage(MeetQuery query) { Integer userId = webContext.getCurrentUser().getId(); - //鏌ュ嚭瀛︾敓鎵�鍦ㄧ彮绾� - List<Integer> classes = classesUserMapper.getClassesByUserId(userId); - if(CollectionUtils.isEmpty(classes)){ - return Result.ok("鎮ㄦ殏鏈姞鍏ョ彮绾�"); + if (CollectionUtils.isEmpty(query.getClassesIds())) { + //鏌ュ嚭瀛︾敓鎵�鍦ㄧ彮绾� + List<Integer> classes = classesUserMapper.getClassesByUserId(userId); + if(CollectionUtils.isEmpty(classes)){ + return Result.fail(500, "鎮ㄦ殏鏈姞鍏ョ彮绾�"); + } + query.setClassesIds(classes); } - query.setClassesIds(classes); IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); baseMapper.getPage(page, query); - + for (MeetVO vo : page.getRecords()) { + if (!CollectionUtils.isEmpty(vo.getTeacherNames())) { + vo.setTeacherNamesStr(vo.getTeacherNames().stream().collect(Collectors.joining("銆�"))); + } + } return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -152,11 +167,11 @@ Meet entity = baseMapper.selectById(form.getId()); // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); - entity.setStatus(form.getStatus()); // 涓嶄娇鐢╱pdateById杩欑鏂瑰紡锛岄伩鍏嶄箰瑙傞攣鍔犱竴銆� new LambdaUpdateChainWrapper<>(meetMapper) .eq(Meet::getId, entity.getId()) - .update(entity); + .set(Meet::getStatus,form.getStatus()) + .update(); return Result.ok(); } @@ -222,6 +237,33 @@ return Result.ok().data(vos); } + @Override + public Result getStudentList(Integer meetId, String keyword) { + List<StudentSimpleVO> studentList = baseMapper.getStudentList(meetId, keyword); + return Result.ok().data(studentList); + } + + @Override + public Result getStudentClasses() { + Integer userId = webContext.getCurrentUser().getId(); + List<ClassesVO> classes = classesUserMapper.getClassesByUserId1(userId); + return Result.ok().data(classes); + } + + @Override + public Result editMeetClasses(MeetClassesVo meetClassesVo) { + // 鍒犻櫎璇ヤ細璁墍鏈夌彮绾� + meetClassesMapper.deleteByMeetId(meetClassesVo.getMeetId()); + // 涓鸿浼氳鏂板鐝骇 + meetClassesVo.getChangeIds().forEach(id -> { + MeetClasses meetClasses = new MeetClasses(); + meetClasses.setMeetId(meetClassesVo.getMeetId()); + meetClasses.setClassId(id); + meetClassesMapper.insert(meetClasses); + }); + return Result.ok("淇敼鎴愬姛"); + } + /** * 鍙戦�乵q娑堟伅 * -- Gitblit v1.8.0