|
@@ -5,9 +5,7 @@ import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
import com.ym.mec.biz.dal.dto.PageInfoDegree;
|
|
|
import com.ym.mec.biz.dal.dto.StudentVisitDto;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentRegistration;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentVisit;
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
|
|
|
import com.ym.mec.biz.service.StudentVisitService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
@@ -18,6 +16,7 @@ import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -35,6 +34,10 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
|
|
|
private StudentRepairDao studentRepairDao;
|
|
|
@Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
+ @Autowired
|
|
|
+ private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
|
|
|
+ @Autowired
|
|
|
+ private StudentAttendanceDao studentAttendanceDao;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -43,10 +46,33 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public StudentVisit addVisit(StudentVisit studentVisit) {
|
|
|
+ Date now = new Date();
|
|
|
SysUser user = teacherDao.getUser(studentVisit.getStudentId());
|
|
|
studentVisit.setOrganId(user.getOrganId());
|
|
|
- studentVisit.setCreateTime(new Date());
|
|
|
+ studentVisit.setCreateTime(now);
|
|
|
+ if(Objects.nonNull(studentVisit.getObjectId())){
|
|
|
+ CourseScheduleStudentPayment courseScheduleStudentPayment = courseScheduleStudentPaymentDao.get(studentVisit.getObjectId());
|
|
|
+ if(Objects.isNull(courseScheduleStudentPayment)){
|
|
|
+ throw new BizException("学员课程信息不存在");
|
|
|
+ }
|
|
|
+ StudentAttendance studentAttendance = studentAttendanceDao.findByStatusAndCourseScheduleId(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getCourseScheduleId().intValue());
|
|
|
+ if (studentAttendance == null) {
|
|
|
+ studentAttendance = new StudentAttendance();
|
|
|
+ studentAttendance.setClassGroupId(courseScheduleStudentPayment.getClassGroupId());
|
|
|
+ studentAttendance.setCourseScheduleId(courseScheduleStudentPayment.getCourseScheduleId());
|
|
|
+ studentAttendance.setGroupType(courseScheduleStudentPayment.getGroupType());
|
|
|
+ studentAttendance.setMusicGroupId(courseScheduleStudentPayment.getMusicGroupId());
|
|
|
+ studentAttendance.setUserId(courseScheduleStudentPayment.getUserId());
|
|
|
+ studentAttendance.setCreateTime(now);
|
|
|
+ studentAttendance.setUpdateTime(now);
|
|
|
+ studentAttendanceDao.insert(studentAttendance);
|
|
|
+ } else {
|
|
|
+ studentAttendance.setUpdateTime(now);
|
|
|
+ studentAttendanceDao.update(studentAttendance);
|
|
|
+ }
|
|
|
+ }
|
|
|
studentVisitDao.insert(studentVisit);
|
|
|
return studentVisit;
|
|
|
}
|