瀏覽代碼

增加设置提高课接口

周箭河 5 年之前
父節點
當前提交
599cd8cc79

+ 14 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.dto.HighClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
@@ -43,6 +44,15 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.addMixClassGroup(musicGroupId, name, classGroupIds));
     }
 
+    @ApiOperation(value = "新增提高班")
+    @PostMapping("/addHighClass")
+    public Object addHighClass(@ApiParam(value = "乐团提高班json", required = true) @RequestParam List<HighClassGroup> HighClassGroupList) throws Exception {
+        if (HighClassGroupList.size() <= 0) {
+            return failed("参数不合法");
+        }
+        return succeed(classGroupService.addHighClassGroup(HighClassGroupList));
+    }
+
     @ApiOperation(value = "删除班级")
     @DeleteMapping("/del/{id}")
     public Object del(@ApiParam(value = "班级编号", required = true) @PathVariable("id") Integer id) {
@@ -85,8 +95,10 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "乐团班级老师设置")
     @GetMapping("/addClassGroupTeacher")
-    public Object addClassGroupTeacher(@ApiParam(value = "乐团班级老师json", required = true) @RequestParam String classTeacherJson) {
-        List<ClassGroupTeacherMapper> classGroupTeacherMapperList = JSON.parseObject(classTeacherJson, ArrayList.class);
+    public Object addClassGroupTeacher(@ApiParam(value = "乐团班级老师json", required = true) @RequestParam List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
+        if (classGroupTeacherMapperList.size() <= 0) {
+            return failed("参数不合法");
+        }
         return succeed(classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList));
     }
 

+ 12 - 1
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -2,8 +2,19 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, TeacherDefaultMusicGroupSalary> {
 
-	
+
+    /**
+     * 获取老师对应课程类型的课酬
+     * @param userId
+     * @param classGroupType
+     * @return
+     */
+    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") ClassGroupTypeEnum classGroupType);
 }

+ 66 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/HighClassGroup.java

@@ -0,0 +1,66 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.entity.ClassGroup;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.Date;
+
+/**
+ * 提交班
+ */
+public class HighClassGroup extends ClassGroup {
+
+	@ApiModelProperty(value = "教师user_id",required = true)
+	private int userId;
+
+	@ApiModelProperty(value = "星期几",required = true)
+	private String week;
+
+	@ApiModelProperty(value = "开始时间",required = true)
+	private Date startClassTime;
+
+	@ApiModelProperty(value = "结束时间",required = true)
+	private Date endClassTime;
+
+
+	public int getUserId() {
+		return userId;
+	}
+
+	public void setUserId(int userId) {
+		this.userId = userId;
+	}
+
+	public String getWeek() {
+		return week;
+	}
+
+	public void setWeek(String week) {
+		this.week = week;
+	}
+
+	public Date getStartClassTime() {
+		return startClassTime;
+	}
+
+	public void setStartClassTime(Date startClassTime) {
+		this.startClassTime = startClassTime;
+	}
+
+	public Date getEndClassTime() {
+		return endClassTime;
+	}
+
+	public void setEndClassTime(Date endClassTime) {
+		this.endClassTime = endClassTime;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 12 - 1
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java

@@ -37,6 +37,10 @@ public class ClassGroup {
 	/** 子班级名称列表 */
 	@ApiModelProperty(value = "子班班级名称")
 	private String classNames;
+
+	/** 预计招生人数 */
+	@ApiModelProperty(value = "预计招生人数",hidden = true)
+	private Integer expectStudentNum;
 	
 	/** 学生数 */
 	@ApiModelProperty(value = "学生数量",required = false)
@@ -152,10 +156,17 @@ public class ClassGroup {
 		this.classNames = classNames;
 	}
 
+	public Integer getExpectStudentNum() {
+		return expectStudentNum;
+	}
+
+	public void setExpectStudentNum(Integer expectStudentNum) {
+		this.expectStudentNum = expectStudentNum;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
-
 }

+ 11 - 0
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.dto.HighClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroupRelation;
 import org.apache.ibatis.annotations.Param;
@@ -67,4 +68,14 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroupByIds(String ids);
 
+
+    /**
+     * 提高班批量添加
+     * @param highClassGroupList
+     * @return
+     * @throws Exception
+     */
+    List<HighClassGroup> addHighClassGroup(List<HighClassGroup> highClassGroupList) throws Exception;
+
+
 }

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherDefaultMusicGroupSalaryService.java

@@ -2,7 +2,16 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 
 public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long, TeacherDefaultMusicGroupSalary> {
 
+
+    /**
+     * 获取老师对应课程类型的课酬
+     * @param userId
+     * @param classGroupType
+     * @return
+     */
+    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType);
 }

+ 46 - 10
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -1,19 +1,17 @@
 package com.ym.mec.web.service.impl;
 
-import com.ym.mec.web.dal.entity.ClassGroupRelation;
-import com.ym.mec.web.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.web.dal.dto.HighClassGroup;
+import com.ym.mec.web.dal.entity.*;
 import com.ym.mec.web.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.web.service.ClassGroupRelationService;
-import com.ym.mec.web.service.ClassGroupStudentMapperService;
+import com.ym.mec.web.dal.enums.TeachTypeEnum;
+import com.ym.mec.web.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.ClassGroupDao;
-import com.ym.mec.web.dal.entity.ClassGroup;
-import com.ym.mec.web.service.ClassGroupService;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -25,9 +23,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private ClassGroupDao classGroupDao;
     @Autowired
     private ClassGroupRelationService classGroupRelationService;
-
     @Autowired
     private ClassGroupStudentMapperService classGroupStudentMapperService;
+    @Autowired
+    private ClassGroupTeacherMapperService classGroupTeacherMapperService;
+    @Autowired
+    private TeacherDefaultMusicGroupSalaryService teacherDefaultMusicGroupSalaryService;
+    @Autowired
+    private MusicGroupService musicGroupService;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -92,8 +95,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-	@Transactional(rollbackFor = Exception.class)
-	public ClassGroup addMixClassGroup(int musicGroupId,String name, String classGroupIds) throws Exception {
+    @Transactional(rollbackFor = Exception.class)
+    public ClassGroup addMixClassGroup(int musicGroupId, String name, String classGroupIds) throws Exception {
         Date date;
         date = new Date();
 
@@ -124,7 +127,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupRelation.setCreateTime(date);
             classGroupRelationList.add(classGroupRelation);
         }
-		classGroupRelationService.classGroupRelationsInsert(classGroupRelationList);
+        classGroupRelationService.classGroupRelationsInsert(classGroupRelationList);
         return classGroup;
     }
 
@@ -133,4 +136,37 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         return classGroupDao.findClassGroupByIds(ids);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<HighClassGroup> addHighClassGroup(List<HighClassGroup> highClassGroupList) throws Exception {
+        Integer musicGroupId = highClassGroupList.get(0).getMusicGroupId();
+        MusicGroup musicGroup = musicGroupService.get(musicGroupId.toString());
+        for (HighClassGroup highClassGroup : highClassGroupList) {
+            //1、插入班级信息
+            Date date;
+            date = new Date();
+            highClassGroup.setCreateTime(date);
+            highClassGroup.setUpdateTime(date);
+            highClassGroup.setType(ClassGroupTypeEnum.HIGH);
+            Long classGroupId = this.insert(highClassGroup);
+
+            //2、插入班级关联老师
+            TeacherDefaultMusicGroupSalary teacherSalary = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(highClassGroup.getUserId(), ClassGroupTypeEnum.HIGH);
+            ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
+            classGroupTeacherMapper.setMusicGroupId(highClassGroup.getUserId());
+            classGroupTeacherMapper.setClassGroupId(classGroupId.intValue());
+            classGroupTeacherMapper.setTeacherRole("BISHOP");
+            classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
+            classGroupTeacherMapper.setSalary(teacherSalary.getMainTeacherSalary());
+            classGroupTeacherMapper.setCreateTime(date);
+            classGroupTeacherMapper.setUpdateTime(date);
+            classGroupTeacherMapperService.insert(classGroupTeacherMapper);
+
+            //3、插入班级排课信息
+
+        }
+
+        return highClassGroupList;
+    }
+
 }

+ 6 - 1
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,5 +20,9 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 	public BaseDAO<Long, TeacherDefaultMusicGroupSalary> getDAO() {
 		return teacherDefaultMusicGroupSalaryDao;
 	}
-	
+
+	@Override
+    public TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType) {
+        return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType);
+    }
 }

+ 5 - 0
mec-web/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -88,4 +88,9 @@
 		SELECT COUNT(*) FROM
 		teacher_default_music_group_salary
 	</select>
+
+	<!-- 根据user_id 获取老师的默认薪酬 -->
+	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
+		SELECT * FROM teacher_default_music_group_salary WHERE user_id_=#{userId} AND class_group_type_ = #{classGroupType}
+	</select>
 </mapper>