Joburgess 4 years ago
parent
commit
7ad83fdbbe

+ 30 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentVisitServiceImpl.java

@@ -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;
     }