浏览代码

1、课表organ_id_字段初始化;
2、课表列表去除团体名和班级名,搜索更改为按团体编号/课程编号/课程名搜索
3、修复对外课程无部门编号
4、节假日获取方式调整
5、线上乐团课创建

Joe 5 年之前
父节点
当前提交
5ce7cd204a

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -13,6 +13,7 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
 
 
     int lockUser(@Param("userId") Integer userId);
     int lockUser(@Param("userId") Integer userId);
 
 
+    SysUser lockUserReturnInfo(@Param("userId") Integer userId);
 
 
     List<SysUser> findStudents(Map<String, Object> params);
     List<SysUser> findStudents(Map<String, Object> params);
 
 

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OnlineMusicGroupCourseDto.java

@@ -0,0 +1,66 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.util.Date;
+
+public class OnlineMusicGroupCourseDto {
+
+    private String musicGroupId;
+
+    private Integer studentId;
+
+    private Integer subjectId;
+
+    private Integer teacherId;
+
+    private Date firstCourseTime;
+
+    private boolean skipHoliday;
+
+    public boolean isSkipHoliday() {
+        return skipHoliday;
+    }
+
+    public void setSkipHoliday(boolean skipHoliday) {
+        this.skipHoliday = skipHoliday;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Date getFirstCourseTime() {
+        return firstCourseTime;
+    }
+
+    public void setFirstCourseTime(Date firstCourseTime) {
+        this.firstCourseTime = firstCourseTime;
+    }
+}

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/OnlineMusicGroupService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 package com.ym.mec.biz.service;
 
 
+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.common.page.QueryInfo;
 import com.ym.mec.common.page.QueryInfo;
 
 
@@ -9,7 +10,8 @@ public interface OnlineMusicGroupService {
 
 
     /**
     /**
      * 创建线上乐团班级
      * 创建线上乐团班级
+     * @param onlineMusicGroupCourseInfo
      */
      */
-    void createOnlineMusicClassGroup();
+    void createOnlineMusicClassGroup(OnlineMusicGroupCourseDto onlineMusicGroupCourseInfo);
 
 
 }
 }

+ 71 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java

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

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -37,6 +37,12 @@
         UPDATE
         UPDATE
     </select>
     </select>
 
 
+    <select id="lockUserReturnInfo" resultMap="com.ym.mec.biz.dal.dao.TeacherDao.SysUser">
+        SELECT *
+        FROM sys_user
+        WHERE id_ = #{userId} FOR UPDATE
+    </select>
+
     <!-- 向数据库增加一条记录 -->
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Student" useGeneratedKeys="true" keyColumn="id"
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Student" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
             keyProperty="id">