|
@@ -121,55 +121,55 @@ public class StudentManageServiceImpl implements StudentManageService {
|
|
|
@Override
|
|
|
public PageInfo<StudentManageListDto> findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
|
|
|
PageInfo<StudentManageListDto> pageInfo = new PageInfo<StudentManageListDto>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
- Map<String, Object> params = new HashMap<String, Object>();
|
|
|
- MapUtil.populateMap(params, queryInfo);
|
|
|
-
|
|
|
- List<StudentManageListDto> dataList = null;
|
|
|
- int count = studentManageDao.countStudentByOrganId(params);
|
|
|
- if (count > 0) {
|
|
|
- pageInfo.setTotal(count);
|
|
|
- params.put("offset", pageInfo.getOffset());
|
|
|
- dataList = studentManageDao.findStudentsByOrganId(params);
|
|
|
- }
|
|
|
- if (dataList == null) {
|
|
|
- dataList = new ArrayList<StudentManageListDto>();
|
|
|
- }
|
|
|
- pageInfo.setRows(dataList);
|
|
|
-
|
|
|
- if(dataList.size() == 0){
|
|
|
- return pageInfo;
|
|
|
- }
|
|
|
-
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+
|
|
|
+ List<StudentManageListDto> dataList = null;
|
|
|
+ int count = studentManageDao.countStudentByOrganId(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = studentManageDao.findStudentsByOrganId(params);
|
|
|
+ }
|
|
|
+ if (dataList == null) {
|
|
|
+ dataList = new ArrayList<StudentManageListDto>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+
|
|
|
+ if (dataList.size() == 0) {
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
Set<Integer> userIds = dataList.stream().map(StudentManageListDto::getUserId).collect(Collectors.toSet());
|
|
|
-
|
|
|
- List<StudentListCourseDto> studentListCourseDtoList = studentManageDao.queryStudentRemianCourse(userIds);
|
|
|
- Map<Integer,StudentListCourseDto> StudentListCourseDtoMap = studentListCourseDtoList.stream().collect(Collectors.toMap(StudentListCourseDto::getUserId, studentListCourseDto -> studentListCourseDto));
|
|
|
-
|
|
|
- StudentListCourseDto studentListCourseDto = null;
|
|
|
- for (StudentManageListDto dto : dataList) {
|
|
|
- studentListCourseDto = StudentListCourseDtoMap.get(dto.getUserId());
|
|
|
- if (studentListCourseDto != null) {
|
|
|
- if (studentListCourseDto.getRemainCourseNum() > 0) {
|
|
|
- dto.setHasCourse(YesOrNoEnum.YES);
|
|
|
- } else {
|
|
|
- dto.setHasCourse(YesOrNoEnum.NO);
|
|
|
- }
|
|
|
- if (studentListCourseDto.getRemainPracticeNum() > 0) {
|
|
|
- dto.setHasPracticeCourse(YesOrNoEnum.YES);
|
|
|
- } else {
|
|
|
- dto.setHasPracticeCourse(YesOrNoEnum.NO);
|
|
|
- }
|
|
|
- } else {
|
|
|
- dto.setHasCourse(YesOrNoEnum.NO);
|
|
|
- dto.setHasPracticeCourse(YesOrNoEnum.NO);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (queryInfo.getIsExport()) {
|
|
|
- if (count > 50000) {
|
|
|
- throw new BizException("数据集太大,不能导出.最大数据集不能超过50000");
|
|
|
- }
|
|
|
- //获取所在乐团
|
|
|
+
|
|
|
+ List<StudentListCourseDto> studentListCourseDtoList = studentManageDao.queryStudentRemianCourse(userIds);
|
|
|
+ Map<Integer, StudentListCourseDto> StudentListCourseDtoMap = studentListCourseDtoList.stream().collect(Collectors.toMap(StudentListCourseDto::getUserId, studentListCourseDto -> studentListCourseDto));
|
|
|
+
|
|
|
+ StudentListCourseDto studentListCourseDto = null;
|
|
|
+ for (StudentManageListDto dto : dataList) {
|
|
|
+ studentListCourseDto = StudentListCourseDtoMap.get(dto.getUserId());
|
|
|
+ if (studentListCourseDto != null) {
|
|
|
+ if (studentListCourseDto.getRemainCourseNum() > 0) {
|
|
|
+ dto.setHasCourse(YesOrNoEnum.YES);
|
|
|
+ } else {
|
|
|
+ dto.setHasCourse(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ if (studentListCourseDto.getRemainPracticeNum() > 0) {
|
|
|
+ dto.setHasPracticeCourse(YesOrNoEnum.YES);
|
|
|
+ } else {
|
|
|
+ dto.setHasPracticeCourse(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ dto.setHasCourse(YesOrNoEnum.NO);
|
|
|
+ dto.setHasPracticeCourse(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (queryInfo.getIsExport()) {
|
|
|
+ if (count > 50000) {
|
|
|
+ throw new BizException("数据集太大,不能导出.最大数据集不能超过50000");
|
|
|
+ }
|
|
|
+ //获取所在乐团
|
|
|
Map<Integer, String> musicGroupNames = MapUtil.convertMybatisMap(musicGroupDao.queryUserMusicNames(userIds));
|
|
|
//获取所在vip
|
|
|
Map<Integer, String> vipGroupNames = MapUtil.convertMybatisMap(vipGroupDao.queryUserVipNames(userIds));
|
|
@@ -177,15 +177,15 @@ public class StudentManageServiceImpl implements StudentManageService {
|
|
|
Map<Integer, String> musicGroupStatus = MapUtil.convertMybatisMap(musicGroupDao.queryUserMusicStatus(userIds));
|
|
|
//获取所在vip状态
|
|
|
Map<Integer, String> vipGroupStatus = MapUtil.convertMybatisMap(vipGroupDao.queryUserVipStatus(userIds));
|
|
|
-
|
|
|
+
|
|
|
dataList.forEach(e -> {
|
|
|
e.setMusicGroupName(musicGroupNames.get(e.getUserId().longValue()));
|
|
|
e.setVipGroupName(vipGroupNames.get(e.getUserId()));
|
|
|
e.setMusicGroupStatus(musicGroupStatus.get(e.getUserId().longValue()));
|
|
|
e.setVipGroupStatus(vipGroupStatus.get(e.getUserId()));
|
|
|
});
|
|
|
- }
|
|
|
- pageInfo.setRows(dataList);
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
|
|
@@ -375,6 +375,18 @@ public class StudentManageServiceImpl implements StudentManageService {
|
|
|
pageInfo.setTotal(count);
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
dataList = studentManageDao.queryMusicGroupStudent(params);
|
|
|
+ //退团的学生
|
|
|
+ List<Integer> quitUserIds = dataList.stream().filter(e -> e.getStudentStatus().equals("QUIT")).map(MusicGroupStudentsDto::getUserId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (quitUserIds.size() > 0) {
|
|
|
+ List<MusicGroupQuit> quits = musicGroupQuitDao.getQuits(queryInfo.getMusicGroupId(), quitUserIds);
|
|
|
+ for (MusicGroupStudentsDto musicGroupStudentsDto : dataList) {
|
|
|
+ for (MusicGroupQuit quit : quits) {
|
|
|
+ if (!quit.getUserId().equals(musicGroupStudentsDto.getUserId())) continue;
|
|
|
+ musicGroupStudentsDto.setQuitReason(quit.getReason());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// Map<Integer,String> maps = MapUtil.convertIntegerMap(musicGroupStudentFeeDao.findPaymentStatusMap(queryInfo.getMusicGroupId()));
|
|
|
// dataList.forEach(e->{
|
|
|
// e.setPaymentStatus(maps.get(e.getUserId()));
|
|
@@ -465,39 +477,39 @@ public class StudentManageServiceImpl implements StudentManageService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public int studentRegister(Student student) {
|
|
|
- if (student == null || StringUtils.isEmpty(student.getPhone())) {
|
|
|
- throw new BizException("参数校验失败");
|
|
|
- }
|
|
|
- Date date = new Date();
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserByMobile(student.getPhone());
|
|
|
- if (sysUser != null) {
|
|
|
- if (sysUser.getUserType().contains("STUDENT")) {
|
|
|
- throw new BizException("手机号已被占用");
|
|
|
- } else {
|
|
|
- student.setId(sysUser.getId());
|
|
|
- student.setUserType(sysUser.getUserType() + ",STUDENT");
|
|
|
- student.setUpdateTime(date);
|
|
|
- sysUserFeignService.updateSysUser(student);
|
|
|
- }
|
|
|
- } else {
|
|
|
- student.setUpdateTime(date);
|
|
|
- student.setCreateTime(date);
|
|
|
- student.setUserType("STUDENT");
|
|
|
- HttpResponseResult<Integer> result = sysUserFeignService.addUser(student);
|
|
|
- student.setId(result.getData());
|
|
|
-
|
|
|
- ImResult register = imFeignService.register(new ImUserModel(student.getId().toString(), student.getPhone(), null));
|
|
|
- student.setImToken(register.getToken());
|
|
|
- sysUserFeignService.updateSysUser(student);
|
|
|
-
|
|
|
- sysUserCashAccountDao.insert(new SysUserCashAccount(student.getId(), "CNY"));
|
|
|
- }
|
|
|
- student.setUserId(student.getId());
|
|
|
-
|
|
|
- studentService.upSet(student);
|
|
|
- return student.getId();
|
|
|
- }
|
|
|
+ public int studentRegister(Student student) {
|
|
|
+ if (student == null || StringUtils.isEmpty(student.getPhone())) {
|
|
|
+ throw new BizException("参数校验失败");
|
|
|
+ }
|
|
|
+ Date date = new Date();
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserByMobile(student.getPhone());
|
|
|
+ if (sysUser != null) {
|
|
|
+ if (sysUser.getUserType().contains("STUDENT")) {
|
|
|
+ throw new BizException("手机号已被占用");
|
|
|
+ } else {
|
|
|
+ student.setId(sysUser.getId());
|
|
|
+ student.setUserType(sysUser.getUserType() + ",STUDENT");
|
|
|
+ student.setUpdateTime(date);
|
|
|
+ sysUserFeignService.updateSysUser(student);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ student.setUpdateTime(date);
|
|
|
+ student.setCreateTime(date);
|
|
|
+ student.setUserType("STUDENT");
|
|
|
+ HttpResponseResult<Integer> result = sysUserFeignService.addUser(student);
|
|
|
+ student.setId(result.getData());
|
|
|
+
|
|
|
+ ImResult register = imFeignService.register(new ImUserModel(student.getId().toString(), student.getPhone(), null));
|
|
|
+ student.setImToken(register.getToken());
|
|
|
+ sysUserFeignService.updateSysUser(student);
|
|
|
+
|
|
|
+ sysUserCashAccountDao.insert(new SysUserCashAccount(student.getId(), "CNY"));
|
|
|
+ }
|
|
|
+ student.setUserId(student.getId());
|
|
|
+
|
|
|
+ studentService.upSet(student);
|
|
|
+ return student.getId();
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|