Kaynağa Gözat

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 yıl önce
ebeveyn
işleme
f888afc313

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.common.dal.BaseDAO;
 
 import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.security.core.parameters.P;
 
@@ -116,4 +117,11 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return
      */
     List<String> findVipStuNames(String musicGroupId);
+
+    /**
+     * 获取课程下的学员列表
+     * @param musicGroupId
+     * @return
+     */
+    List<ImUserModel> findGroupUsers(String musicGroupId);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -62,4 +63,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     Integer countMusicGroupUserNum(String musicGroupId);
+
+    /**
+     * 获取乐团所有学员基本信息
+     * @param musicGroupId
+     * @return
+     */
+    List<ImUserModel> findGroupUsers(String musicGroupId);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
@@ -130,4 +131,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     List<ImGroupModel> queryUserGroups(Integer userId,String search);
+
+    /**
+     * 获取群组下用户基本信息
+     * @param groupId
+     * @return
+     */
+    List<ImUserModel> findGroupUsers(String groupId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
@@ -366,4 +367,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             return imGroupModels;
         }
     }
+
+    @Override
+    public List<ImUserModel> findGroupUsers(String groupId) {
+        if(groupId.startsWith("mg")){
+            return musicGroupDao.findGroupUsers(groupId.substring(2));
+        }
+        return classGroupDao.findGroupUsers(groupId.substring(2));
+    }
 }

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -310,4 +310,9 @@
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         WHERE vgcgm.vip_group_id_ = #{musicGroupId}
     </select>
+    <select id="findGroupUsers" resultMap="com.ym.mec.auth.dal.dao.SysUserDao.ImUserModel">
+        SELECT su.id_,su.avatar_,su.username_ FROM class_group_student_mapper cgsm
+        LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
+        WHERE cgsm.class_group_id_ = #{musicGroupId} GROUP BY su.id_
+    </select>
 </mapper>

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -202,7 +202,15 @@
 			</if>
 		</where>
 	</select>
+
     <select id="countMusicGroupUserNum" resultType="java.lang.Integer">
 		SELECT SUM(student_num_) FROM class_group WHERE music_group_id_ = #{musicGroupId}
     </select>
+
+	<select id="findGroupUsers" resultMap="com.ym.mec.auth.dal.dao.SysUserDao.ImUserModel">
+		SELECT su.id_,su.avatar_,su.username_ FROM class_group cg
+		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
+		LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
+		WHERE cg.music_group_id_ = #{musicGroupId} GROUP BY su.id_
+	</select>
 </mapper>

+ 59 - 58
mec-education/src/main/java/com/ym/mec/education/service/impl/MusicGroupServiceImpl.java

@@ -311,77 +311,78 @@ public class MusicGroupServiceImpl extends ServiceImpl<MusicGroupMapper, MusicGr
                 response.setRecords(classStudentResps);
                 response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
                 response.setMessage(ReturnCodeEnum.CODE_200.getValue());
-                response.setTotal(count);
+                response.setTotal(Math.toIntExact(studentMappersPage.getTotal()));
                 return response;
 
             }
             //老师
-            if (req.getType() == 2) {
-
-                List<ClassTeacherResp> classTeacherResps = new ArrayList<>();
-                IPage<ClassGroupTeacherMapper> teacherPage = new Page<>(req.getPageNo() == null ? 0 : req.getPageNo(), req.getPageSize() == null ? 10 : req.getPageSize());
-
-                List<Integer> classGroupIds = classGroups.stream().map(ClassGroup::getId).collect(Collectors.toList());
-                QueryWrapper<ClassGroupTeacherMapper> queryWrapper2 = new QueryWrapper<>();
-                queryWrapper2.in("music_group_id_", classGroupIds);
-                IPage<ClassGroupTeacherMapper> teacherMapperIPage = classGroupTeacherMapperService.page(teacherPage, queryWrapper2);
-                List<ClassGroupTeacherMapper> list = teacherMapperIPage.getRecords();
-
-                list.forEach(tech -> {
-                    ClassTeacherResp classTeacherResp = new ClassTeacherResp();
-                    List<ClassTeacherResp> removeList = classTeacherResps.stream().filter(c -> c.getUserId().equals(tech.getUserId()) && c.getClassGroupId().equals(tech.getClassGroupId())).collect(Collectors.toList());
-                    HashSet set = new HashSet<>();
-                    Optional<ClassGroup> optional = classGroups.stream().filter(e -> e.getId().equals(tech.getClassGroupId())).findFirst();
-                    if (!CollectionUtils.isEmpty(removeList)) {
 
-                        classTeacherResp = removeList.get(0);
-                        set.addAll(classTeacherResp.getClassName());
+        }
 
-                        if (optional.isPresent()) {
-                            set.add(optional.get().getName());
-                        }
+        if (req.getType() == 2) {
 
-                        classTeacherResp.setClassName(new ArrayList<>(set));
-                    } else {
-                        SysUser sysUser = sysUserService.getById(tech.getUserId());
-                        if (sysUser != null) {
-                            classTeacherResp.setName(sysUser.getRealName());
-                            classTeacherResp.setAvatar(sysUser.getAvatar());
-                        }
-                        classTeacherResp.setUserId(tech.getUserId());
-                        classTeacherResp.setClassGroupId(tech.getClassGroupId());
-                        if (optional.isPresent()) {
-                            set.add(optional.get().getName());
-                        }
+            List<ClassTeacherResp> classTeacherResps = new ArrayList<>();
+            IPage<ClassGroupTeacherMapper> teacherPage = new Page<>(req.getPageNo() == null ? 0 : req.getPageNo(), req.getPageSize() == null ? 10 : req.getPageSize());
 
-                        classTeacherResp.setClassName(new ArrayList<>(set));
-
-                        //查询老师技能
-                        Teacher teacher = teacherService.getById(tech.getUserId());
-                        if (teacher != null && !StringUtils.isEmpty(teacher.getSubjectId())) {
-                            String ids[] = teacher.getSubjectId().split(",");
-                            List<String> stringB = Arrays.asList(ids);
-                            QueryWrapper<Subject> queryWrapperSub = new QueryWrapper<>();
-                            queryWrapper.in("id_", stringB);
-                            List<Subject> subjectList = subjectService.list(queryWrapperSub);
-                            if (!CollectionUtils.isEmpty(subjectList)) {
-                                List<String> subName = subjectList.stream().map(Subject::getName).collect(Collectors.toList());
-                                classTeacherResp.setTechSubject(subName);
-                            }
-                        }
+            List<Integer> classGroupIds = classGroups.stream().map(ClassGroup::getId).collect(Collectors.toList());
+            QueryWrapper<ClassGroupTeacherMapper> queryWrapper2 = new QueryWrapper<>();
+            queryWrapper2.in("music_group_id_", classGroupIds);
+            IPage<ClassGroupTeacherMapper> teacherMapperIPage = classGroupTeacherMapperService.page(teacherPage, queryWrapper2);
+            List<ClassGroupTeacherMapper> list = teacherMapperIPage.getRecords();
+
+            list.forEach(tech -> {
+                ClassTeacherResp classTeacherResp = new ClassTeacherResp();
+                List<ClassTeacherResp> removeList = classTeacherResps.stream().filter(c -> c.getUserId().equals(tech.getUserId()) && c.getClassGroupId().equals(tech.getClassGroupId())).collect(Collectors.toList());
+                HashSet set = new HashSet<>();
+                Optional<ClassGroup> optional = classGroups.stream().filter(e -> e.getId().equals(tech.getClassGroupId())).findFirst();
+                if (!CollectionUtils.isEmpty(removeList)) {
+
+                    classTeacherResp = removeList.get(0);
+                    set.addAll(classTeacherResp.getClassName());
+
+                    if (optional.isPresent()) {
+                        set.add(optional.get().getName());
+                    }
 
-                        classTeacherResps.add(classTeacherResp);
+                    classTeacherResp.setClassName(new ArrayList<>(set));
+                } else {
+                    SysUser sysUser = sysUserService.getById(tech.getUserId());
+                    if (sysUser != null) {
+                        classTeacherResp.setName(sysUser.getRealName());
+                        classTeacherResp.setAvatar(sysUser.getAvatar());
+                    }
+                    classTeacherResp.setUserId(tech.getUserId());
+                    classTeacherResp.setClassGroupId(tech.getClassGroupId());
+                    if (optional.isPresent()) {
+                        set.add(optional.get().getName());
                     }
 
-                });
+                    classTeacherResp.setClassName(new ArrayList<>(set));
+
+                    //查询老师技能
+                    Teacher teacher = teacherService.getById(tech.getUserId());
+                    if (teacher != null && !StringUtils.isEmpty(teacher.getSubjectId())) {
+                        String ids[] = teacher.getSubjectId().split(",");
+                        List<String> stringB = Arrays.asList(ids);
+                        QueryWrapper<Subject> queryWrapperSub = new QueryWrapper<>();
+                        queryWrapperSub.in("id_", stringB);
+                        List<Subject> subjectList = subjectService.list(queryWrapperSub);
+                        if (!CollectionUtils.isEmpty(subjectList)) {
+                            List<String> subName = subjectList.stream().map(Subject::getName).collect(Collectors.toList());
+                            classTeacherResp.setTechSubject(subName);
+                        }
+                    }
 
-                response.setRecords(classTeacherResps);
-                response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
-                response.setMessage(ReturnCodeEnum.CODE_200.getValue());
-                response.setTotal(count);
-                return response;
+                    classTeacherResps.add(classTeacherResp);
+                }
 
-            }
+            });
+
+            response.setRecords(classTeacherResps);
+            response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
+            response.setMessage(ReturnCodeEnum.CODE_200.getValue());
+            response.setTotal(Math.toIntExact(teacherPage.getTotal()));
+            return response;
 
         }
         return response;

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiParam;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -127,5 +128,13 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupTeacherMapperService.classGroupTeacherMapperUpdate(classGroupTeacherMapperList));
     }
 
+    @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
+    @GetMapping("/findGroupUsers")
+    public Object findGroupUsers(String groupId){
+        if(StringUtils.isEmpty(groupId)){
+            return failed("参数校验错误");
+        }
+        return succeed(classGroupService.findGroupUsers(groupId));
+    }
 
 }