|
@@ -1,16 +1,85 @@
|
|
package com.ym.mec.biz.service.impl;
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
|
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.StudentDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.SubjectDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
|
+import com.ym.mec.biz.dal.dto.OnlineMusicGroupCourseDto;
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
|
+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.service.OnlineMusicGroupService;
|
|
import com.ym.mec.biz.service.OnlineMusicGroupService;
|
|
|
|
+import com.ym.mec.biz.service.SysConfigService;
|
|
|
|
+import com.ym.mec.common.exception.BizException;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Isolation;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
|
|
+import java.util.HashSet;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+import java.util.Set;
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
|
|
public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private MusicGroupDao musicGroupDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private StudentDao studentDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private TeacherDao teacherDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SubjectDao subjectDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysConfigService sysConfigService;
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class, isolation = Isolation.DEFAULT)
|
|
@Override
|
|
@Override
|
|
- public void createOnlineMusicClassGroup() {
|
|
|
|
|
|
+ public void createOnlineMusicClassGroup(OnlineMusicGroupCourseDto onlineMusicGroupCourseInfo) {
|
|
|
|
+ if(Objects.isNull(onlineMusicGroupCourseInfo.getMusicGroupId())){
|
|
|
|
+ throw new BizException("请指定乐团");
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(onlineMusicGroupCourseInfo.getStudentId())){
|
|
|
|
+ throw new BizException("请指定学员");
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(onlineMusicGroupCourseInfo.getSubjectId())){
|
|
|
|
+ throw new BizException("请指定学员声部");
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(onlineMusicGroupCourseInfo.getTeacherId())){
|
|
|
|
+ throw new BizException("请指定教师");
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(onlineMusicGroupCourseInfo.getFirstCourseTime())){
|
|
|
|
+ throw new BizException("请指定首次上课时间");
|
|
|
|
+ }
|
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(onlineMusicGroupCourseInfo.getMusicGroupId());
|
|
|
|
+ if(Objects.isNull(musicGroupDao)){
|
|
|
|
+ throw new BizException("乐团不存在");
|
|
|
|
+ }
|
|
|
|
+ SysUser student = studentDao.lockUserReturnInfo(onlineMusicGroupCourseInfo.getStudentId());
|
|
|
|
+ if(Objects.isNull(student)){
|
|
|
|
+ throw new BizException("学员不存在");
|
|
|
|
+ }
|
|
|
|
+ Teacher teacher = teacherDao.get(onlineMusicGroupCourseInfo.getTeacherId());
|
|
|
|
+ if(Objects.isNull(teacher)){
|
|
|
|
+ throw new BizException("教师不存在");
|
|
|
|
+ }
|
|
|
|
+ Subject subject = subjectDao.get(onlineMusicGroupCourseInfo.getSubjectId());
|
|
|
|
+ if(Objects.isNull(subjectDao)){
|
|
|
|
+ throw new BizException("声部不存在");
|
|
|
|
+ }
|
|
|
|
+ Set<String> holidayDays = new HashSet<>();
|
|
|
|
|
|
|
|
+ if (onlineMusicGroupCourseInfo.isSkipHoliday()) {
|
|
|
|
+ SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
|
|
|
|
+ if(Objects.nonNull(holidaySetting)&& StringUtils.isNotBlank(holidaySetting.getParanValue())){
|
|
|
|
+ holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|