|
|
@@ -1,122 +1,16 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
-import static com.ym.mec.biz.dal.enums.GroupType.COMM;
|
|
|
-import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
|
|
|
-import static com.ym.mec.biz.dal.enums.GroupType.VIP;
|
|
|
-
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.time.Duration;
|
|
|
-import java.time.Instant;
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.time.ZoneId;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Set;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import com.ym.mec.biz.service.*;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Propagation;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
-
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupRelationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleEvaluateDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
|
|
|
-import com.ym.mec.biz.dal.dao.CoursesGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.GroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.PracticeGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SchoolDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentApplyRefundsDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SubjectDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
-import com.ym.mec.biz.dal.dao.VipGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
|
|
|
-import com.ym.mec.biz.dal.dto.ClassGroupImGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto;
|
|
|
-import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
|
|
|
-import com.ym.mec.biz.dal.dto.CourseListDto;
|
|
|
-import com.ym.mec.biz.dal.dto.CourseTimeDto;
|
|
|
-import com.ym.mec.biz.dal.dto.HighClassGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto;
|
|
|
-import com.ym.mec.biz.dal.dto.RemainCourseTypeDurationDto;
|
|
|
-import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
|
|
|
-import com.ym.mec.biz.dal.dto.StudentPayInfoDto;
|
|
|
-import com.ym.mec.biz.dal.dto.SuperClassGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.TeacherClassGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.TeacherClassHeadInfo;
|
|
|
-import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
|
|
|
-import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
|
|
|
-import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupRelation;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
|
+import com.ym.mec.biz.dal.dto.*;
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.CoursesGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.Group;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
|
|
|
-import com.ym.mec.biz.dal.entity.PracticeGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentRegistration;
|
|
|
-import com.ym.mec.biz.dal.entity.Subject;
|
|
|
-import com.ym.mec.biz.dal.entity.SysConfig;
|
|
|
-import com.ym.mec.biz.dal.entity.Teacher;
|
|
|
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.VipGroup;
|
|
|
-import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.GroupType;
|
|
|
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.TeachModeEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
|
|
|
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
|
|
|
-import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.TeacherMusicClassQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.VipClassQueryInfo;
|
|
|
-import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
|
|
|
+import com.ym.mec.biz.dal.enums.*;
|
|
|
+import com.ym.mec.biz.dal.page.*;
|
|
|
+import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.constant.CommonConstants;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.entity.ImGroupMember;
|
|
|
@@ -128,10 +22,23 @@ import com.ym.mec.common.page.QueryInfo;
|
|
|
import com.ym.mec.common.redis.service.RedisCache;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
-import com.ym.mec.jiari.JiaRiFeignService;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateConvertor;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Propagation;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.time.*;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static com.ym.mec.biz.dal.enums.GroupType.*;
|
|
|
|
|
|
@Service
|
|
|
public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
|
|
|
@@ -187,8 +94,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
@Autowired
|
|
|
private ImFeignService imFeignService;
|
|
|
@Autowired
|
|
|
- private JiaRiFeignService jiaRiFeignService;
|
|
|
- @Autowired
|
|
|
private CourseScheduleService courseScheduleService;
|
|
|
@Autowired
|
|
|
private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
|
|
|
@@ -215,6 +120,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
private StudentDao studentDao;
|
|
|
@Autowired
|
|
|
private MusicGroupPaymentCalenderCourseSettingsService musicGroupPaymentCalenderCourseSettingsService;
|
|
|
+ @Autowired
|
|
|
+ private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Integer, ClassGroup> getDAO() {
|
|
|
@@ -1574,6 +1481,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
truantStudent.addAll(otherStudent);
|
|
|
truantStudent.addAll(leaveStudent);
|
|
|
if (!CollectionUtils.isEmpty(truantStudent)) {
|
|
|
+ CourseSchedule schedule = courseScheduleDao.get(courseScheduleId);
|
|
|
+ if(schedule.getGroupType() == MUSIC){
|
|
|
+ Set<Long> collect = truantStudent.stream().map(e -> e.getStudentId()).collect(Collectors.toSet());
|
|
|
+ Map<Integer,String> paymentStatusMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryUserCoursePaymentStatus(collect,schedule.getMusicGroupId()));
|
|
|
+ if(paymentStatusMap.size() > 0){
|
|
|
+ truantStudent.forEach(studentAttendanceViewDto -> {
|
|
|
+ if(StringUtils.isNotEmpty(paymentStatusMap.get(studentAttendanceViewDto.getStudentId().intValue()))){
|
|
|
+ studentAttendanceViewDto.setPaymentStatus(paymentStatusMap.get(studentAttendanceViewDto.getStudentId().intValue()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
List<StudentAttendanceViewDto> tempIds = truantStudent.stream()
|
|
|
.filter(studentAttendanceViewDto -> studentAttendanceViewDto.getGroupType().equals("MUSIC"))
|
|
|
.collect(Collectors.toList());
|