Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
52a7575991

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

@@ -483,7 +483,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @author Joburgess
      * @date 2019/11/4
      */
-    ClassGroup findByCourseSchedule(Integer courseScheduleId);
+    ClassGroup findByCourseSchedule(@Param("courseScheduleId") Integer courseScheduleId, @Param("delFlag") Integer delFlag);
 
     /**
      * @param maxCourseScheduleId: 合奏班编号

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OnlineMusicGroupCourseDto.java

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.CourseGenerateDto;
+
 import java.util.Date;
 
-public class OnlineMusicGroupCourseDto {
+public class OnlineMusicGroupCourseDto extends CourseGenerateDto {
 
     private String musicGroupId;
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -31,7 +31,7 @@ public class CourseSchedule {
 
 		SINGLE("SINGLE", "单技课"), MIX("MIX", "合奏课"), HIGH("HIGH", "小班课"), VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), COMPREHENSIVE("COMPREHENSIVE", "综合课"), PRACTICE(
 				"PRACTICE", "网管课"), ENLIGHTENMENT("ENLIGHTENMENT", "启蒙课"), TRAINING_SINGLE("TRAINING_SINGLE", "集训单技课"), TRAINING_MIX("TRAINING_MIX", "集训合奏课"), CLASSROOM(
-				"CLASSROOM", "课堂课"),COMM("COMM","对外课程"),HIGH_ONLINE("HIGH_ONLINE","线上基础技能课");
+				"CLASSROOM", "课堂课"),COMM("COMM","对外课程"),HIGH_ONLINE("HIGH_ONLINE","线上基础技能课"),MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
 
 		private String code;
 

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
+
 /**
  * 对应数据库表(music_group_payment_calender_detail):
  */
@@ -23,7 +25,7 @@ public class MusicGroupPaymentCalenderDetail {
 	private java.math.BigDecimal actualAmount;
 	
 	/**  */
-	private String paymentStatus;
+	private PaymentStatus paymentStatus;
 	
 	/**  */
 	private String userStatus;
@@ -77,11 +79,11 @@ public class MusicGroupPaymentCalenderDetail {
 		return this.actualAmount;
 	}
 			
-	public void setPaymentStatus(String paymentStatus){
+	public void setPaymentStatus(PaymentStatus paymentStatus){
 		this.paymentStatus = paymentStatus;
 	}
 	
-	public String getPaymentStatus(){
+	public PaymentStatus getPaymentStatus(){
 		return this.paymentStatus;
 	}
 			

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClassGroupTypeEnum.java

@@ -7,7 +7,7 @@ import com.ym.mec.common.enums.BaseEnum;
  */
 public enum ClassGroupTypeEnum implements BaseEnum<String, ClassGroupTypeEnum> {
 	NORMAL("NORMAL", "普通班级"), MIX("MIX", "合奏班级"), HIGH("HIGH", "提高班"), VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), PRACTICE("PRACTICE", "网管课"), SNAP("SNAP",
-			"临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "线上基础技能课");
+			"临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "线上基础技能课"),MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
 
 	private String code;
 

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

@@ -699,7 +699,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //获取分页前的所有的乐团编号和vip编号
         params.put("offset", pageInfo.getOffset());
         List<String> musicGroupIds = null;
-        List<Group> groups=new ArrayList<>();
+        List<Group> groups;
         if (queryInfo.isHideOverGroup()) {
             groups = courseScheduleDao.queryMusicGroupIdsWithoutOverGroup(params);
             pageInfo.setTotal(courseScheduleDao.countMusicGroupIdsWithoutOverGroup(params));
@@ -1527,7 +1527,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 if(classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MIX)){
                     courseSchedule.setName(classGroup4MixDto.getCourseType().getMsg());
                 }else{
-                    courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
+                    courseSchedule.setName(subjectNames + "-" + classGroup4MixDto.getCourseType().getMsg());
                 }
                 courseSchedule.setTeacherId(teacherId);
                 courseSchedule.setActualTeacherId(teacherId);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -4105,7 +4105,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				break;
 			case MUSIC:
 				if(courseScheduleId != null){
-					ClassGroup byCourseSchedule = classGroupDao.findByCourseSchedule(courseScheduleId.intValue());
+					ClassGroup byCourseSchedule = classGroupDao.findByCourseSchedule(courseScheduleId.intValue(),null);
 					resultMap.put("groupName",byCourseSchedule.getName());
 					ClassGroupTeacherMapper groupTeachersRole = classGroupTeacherMapperService.getClassGroupTeachersRole(byCourseSchedule.getId(), "BISHOP");
 					if(groupTeachersRole != null){

+ 10 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -361,14 +361,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
             //当前课程缴费学生数量
-            BigDecimal courseStudentNum = new BigDecimal(studentPaymentsWithCourse.size());
+//            BigDecimal courseStudentNum = new BigDecimal(studentPaymentsWithCourse.size());
 
             //教师预计课酬
-            BigDecimal expectSalary = courseScheduleTeacherSalary.getExpectSalary();
+            BigDecimal expectSalary = courseScheduleTeacherSalary.getTeacherActualSalary();
             //当前课程每个学生平均课酬
-            BigDecimal avgSalary = expectSalary.divide(courseStudentNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+//            BigDecimal avgSalary = expectSalary.divide(courseStudentNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
             //教师当前课程责任总占比,当前课程应得课酬
-            BigDecimal teacherLiabilityAllratio;
+//            BigDecimal teacherLiabilityAllratio;
 
             //当前课程学生投诉记录
             List<CourseScheduleComplaints> courseStudentComplaints = complaintsGroupByCourse.get(courseScheduleTeacherSalary.getCourseScheduleId());
@@ -382,15 +382,15 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     return;
                 }
                 //计算教师责任总占比
-                double teacherLiabilityRatioSum = courseStudentComplaints.stream().mapToDouble(courseScheduleComplaint -> Objects.isNull(courseScheduleComplaint.getTeacherLiabilityRatio()) ? 0 : courseScheduleComplaint.getTeacherLiabilityRatio()).sum();
-                teacherLiabilityAllratio = new BigDecimal(teacherLiabilityRatioSum).divide(percent,CommonConstants.DECIMAL_PLACE,BigDecimal.ROUND_DOWN);
+//                double teacherLiabilityRatioSum = courseStudentComplaints.stream().mapToDouble(courseScheduleComplaint -> Objects.isNull(courseScheduleComplaint.getTeacherLiabilityRatio()) ? 0 : courseScheduleComplaint.getTeacherLiabilityRatio()).sum();
+//                teacherLiabilityAllratio = new BigDecimal(teacherLiabilityRatioSum).divide(percent,CommonConstants.DECIMAL_PLACE,BigDecimal.ROUND_DOWN);
             } else {
                 //如果没有投诉,则教师和学生的责任占比为0
-                teacherLiabilityAllratio = new BigDecimal(0);
+//                teacherLiabilityAllratio = new BigDecimal(0);
             }
 
             //教师应扣除费用
-            BigDecimal deductPrice = avgSalary.multiply(teacherLiabilityAllratio);
+            /*BigDecimal deductPrice = avgSalary.multiply(teacherLiabilityAllratio);
             //教师实际课酬
             BigDecimal schoolSubsidy = new BigDecimal(0);
             if (Objects.nonNull(courseScheduleTeacherSalary.getSubsidy())) {
@@ -399,7 +399,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             BigDecimal actualSalary = expectSalary.subtract(deductPrice).add(schoolSubsidy);
 
             //更新教师结算信息
-            courseScheduleTeacherSalary.setActualSalary(actualSalary);
+            courseScheduleTeacherSalary.setActualSalary(actualSalary);*/
+            courseScheduleTeacherSalary.setActualSalary(expectSalary);
             courseScheduleTeacherSalary.setSettlementTime(now);
             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
             updateTeacherSalarys.add(courseScheduleTeacherSalary);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1819,7 +1819,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
         }
         Teacher teacher = teacherDao.get(teacherId);
-        MusicGroup musicGroup = musicGroupDao.get(classGroupDao.findByCourseSchedule(courseScheduleId.intValue()).getMusicGroupId());
+        MusicGroup musicGroup = musicGroupDao.get(classGroupDao.findByCourseSchedule(courseScheduleId.intValue(),0).getMusicGroupId());
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 

+ 131 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java

@@ -2,27 +2,26 @@ 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.dao.*;
+import com.ym.mec.biz.dal.dto.CourseTimeDto;
 import com.ym.mec.biz.dal.dto.OnlineMusicGroupCourseDto;
-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.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.OnlineMusicGroupService;
 import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 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.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.*;
 
 
 @Service
@@ -38,6 +37,24 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
     private SubjectDao subjectDao;
     @Autowired
     private SysConfigService sysConfigService;
+    @Autowired
+    private CourseScheduleService courseScheduleService;
+    @Autowired
+    private ClassGroupDao classGroupDao;
+    @Autowired
+    private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+    @Autowired
+    private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+    @Autowired
+    private CourseScheduleDao courseScheduleDao;
+    @Autowired
+    private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+    @Autowired
+    private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
+    @Autowired
+    private TeacherAttendanceDao teacherAttendanceDao;
+    @Autowired
+    private TeacherDefaultMusicGroupSalaryDao teacherDefaultMusicGroupSalaryDao;
 
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.DEFAULT)
     @Override
@@ -73,13 +90,110 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
         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));
-            }
+        onlineMusicGroupCourseInfo.setCourseCount(8);
+        onlineMusicGroupCourseInfo.setSingleClassMinutes(25);
+        onlineMusicGroupCourseInfo.setTeachMode(TeachModeEnum.ONLINE);
+        List<CourseSchedule> courses = courseScheduleService.createCourses(onlineMusicGroupCourseInfo, true);
+
+        Date now=new Date();
+
+        //创建班级信息
+        ClassGroup classGroup = new ClassGroup();
+        classGroup.setSubjectIdList(onlineMusicGroupCourseInfo.getSubjectId().toString());
+        classGroup.setExpectStudentNum(1);
+        classGroup.setStudentNum(1);
+        classGroup.setName(subject.getName()+"•"+student.getRealName());
+        classGroup.setTotalClassTimes(courses.size());
+        classGroup.setType(ClassGroupTypeEnum.MUSIC_NETWORK);
+        classGroup.setDelFlag(0);
+        classGroup.setGroupType(GroupType.MUSIC);
+        classGroup.setMusicGroupId(musicGroup.getId());
+        classGroup.setCreateTime(now);
+        classGroup.setUpdateTime(now);
+        classGroupDao.insert(classGroup);
+
+        //创建班级老师关联记录
+        ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
+        classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
+        classGroupTeacherMapper.setClassGroupId(classGroup.getId());
+        classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
+        classGroupTeacherMapper.setUserId(onlineMusicGroupCourseInfo.getTeacherId());
+        classGroupTeacherMapper.setGroupType(GroupType.MUSIC);
+        classGroupTeacherMapper.setCreateTime(now);
+        classGroupTeacherMapper.setUpdateTime(now);
+        classGroupTeacherMapperDao.insert(classGroupTeacherMapper);
+
+        //班级学生关联表
+        ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
+        classGroupStudentMapper.setMusicGroupId(onlineMusicGroupCourseInfo.getMusicGroupId());
+        classGroupStudentMapper.setClassGroupId(classGroup.getId());
+        classGroupStudentMapper.setUserId(onlineMusicGroupCourseInfo.getStudentId());
+        classGroupStudentMapper.setCreateTime(now);
+        classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
+        classGroupStudentMapper.setGroupType(GroupType.MUSIC);
+        classGroupStudentMapperDao.insert(classGroupStudentMapper);
+
+        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
+        List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
+        List<TeacherAttendance> teacherAttendances = new ArrayList<>();
+
+        for (CourseSchedule courseSchedule : courses) {
+            //课表
+            courseSchedule.setMusicGroupId(onlineMusicGroupCourseInfo.getMusicGroupId());
+            courseSchedule.setClassGroupId(classGroup.getId());
+            courseSchedule.setStatus(CourseStatusEnum.NOT_START);
+            courseSchedule.setCreateTime(now);
+            courseSchedule.setUpdateTime(now);
+            courseSchedule.setTeachMode(TeachModeEnum.ONLINE);
+            courseSchedule.setType(CourseSchedule.CourseScheduleType.MUSIC_NETWORK);
+            courseSchedule.setGroupType(GroupType.MUSIC);
+            courseSchedule.setIsLock(1);
+            courseSchedule.setOrganId(student.getOrganId());
         }
+        courseScheduleDao.batchAddCourseSchedules(courses);
+        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = teacherDefaultMusicGroupSalaryDao.findByTeacherAndCourseType(onlineMusicGroupCourseInfo.getTeacherId(), CourseSchedule.CourseScheduleType.MUSIC_NETWORK.getCode());
+        BigDecimal teacherDefaultSalary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal("1");
+        BigDecimal studentSingleCourseCost=BigDecimal.ZERO;
+        for (CourseSchedule courseSchedule : courses) {
+            //课程与老师薪水表
+            CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+            courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+            courseScheduleTeacherSalary.setGroupType(GroupType.MUSIC);
+            courseScheduleTeacherSalary.setMusicGroupId(musicGroup.getId());
+            courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
+            courseScheduleTeacherSalary.setUserId(onlineMusicGroupCourseInfo.getStudentId());
+            courseScheduleTeacherSalary.setExpectSalary(teacherDefaultSalary);
+            courseScheduleTeacherSalary.setCreateTime(now);
+            courseScheduleTeacherSalary.setUpdateTime(now);
+            courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
+            courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+
+            //学生缴费记录
+            CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
+            courseScheduleStudentPayment.setGroupType(GroupType.MUSIC);
+            courseScheduleStudentPayment.setMusicGroupId(musicGroup.getId());
+            courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
+            courseScheduleStudentPayment.setUserId(onlineMusicGroupCourseInfo.getStudentId());
+            courseScheduleStudentPayment.setExpectPrice(studentSingleCourseCost);
+            courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
+            courseScheduleStudentPayment.setCreateTime(now);
+            courseScheduleStudentPayment.setUpdateTime(now);
+            courseScheduleStudentPayments.add(courseScheduleStudentPayment);
+
+            //教师签到记录
+            TeacherAttendance teacherAttendance = new TeacherAttendance();
+            teacherAttendance.setMusicGroupId(musicGroup.getId());
+            teacherAttendance.setTeacherId(onlineMusicGroupCourseInfo.getTeacherId());
+            teacherAttendance.setClassGroupId(classGroup.getId());
+            teacherAttendance.setGroupType(GroupType.MUSIC);
+            teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+            teacherAttendance.setCreateTime(now);
+            teacherAttendances.add(teacherAttendance);
+        }
+        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
+        courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+        teacherAttendanceDao.batchInsert(teacherAttendances);
+
     }
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -459,7 +459,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 	public void addStudentAttendanceRecord(Integer courseScheduleId, Integer userId, StudentAttendanceStatusEnum statusEnum,SignStatusEnum signStatusEnum) {
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
-		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
+		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId,0);
 		StudentAttendance studentAttendance = studentAttendanceDao.findByStatusAndCourseScheduleId(userId,courseScheduleId);
 		Date date = new Date();
 		if(studentAttendance == null){

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -241,7 +241,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Transactional(rollbackFor = Exception.class)
 	public void addTeacherAttendanceRecord(Integer courseScheduleId, Integer userId, SignStatusEnum signStatus, boolean updateCourseScheduleStatus) {
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(),courseScheduleId.longValue());
-		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
+		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId,0);
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
 
 		if(Objects.isNull(teacherAttendance)){

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -936,7 +936,10 @@
         FROM
         course_schedule cs
         LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
-        WHERE cs.id_=#{courseScheduleId} AND cg.del_flag_ = 0
+        WHERE cs.id_ = #{courseScheduleId}
+        <if test="delFlag != null">
+            AND cg.del_flag_ = #{delFlag}
+        </if>
     </select>
     <select id="findClassGroupsByMixClassGroup" resultMap="ClassGroup">
         SELECT

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -264,11 +264,14 @@
     <select id="findSomeDayAgoTeacherCourseSalaryNoSettlement" resultMap="CourseScheduleTeacherSalary">
 		SELECT
 		cs.class_date_,
-		csts.*
+		csts.*,csts.expect_salary_ * (CASE WHEN (ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0) AND (ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0) THEN 0
+		WHEN ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0 THEN 0.5
+		WHEN ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0 THEN 0.5 ELSE 1 END) teacher_actual_salary_
 		FROM
 		course_schedule_teacher_salary csts
 		LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
 		LEFT JOIN vip_group vg ON vg.id_ = cs.music_group_id_
+		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 		WHERE 1=1
 		<if test="days!=null">
 			AND cs.class_date_ &lt;= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - #{days} DAY ),'%Y-%m-%d')

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -830,6 +830,7 @@
         <if test="search != null and search != ''">
             AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%'))
         </if>
+        AND su.del_flag_ = 0
         GROUP BY su.id_
     </select>
     <select id="queryTeacherImModel" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">

+ 17 - 3
mec-web/src/main/java/com/ym/mec/web/controller/education/EduOnlineMusicGroupController.java

@@ -3,11 +3,13 @@ package com.ym.mec.web.controller.education;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dto.OnlineMusicGroupCourseDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.OnlineMusicGroupService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -20,8 +22,8 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.Arrays;
 import java.util.List;
 
-@RequestMapping("eduCourseReview")
-@Api(tags = "教务端课程评价")
+@RequestMapping("eduOnlineMusic")
+@Api(tags = "教务端乐团网管课")
 @RestController
 public class EduOnlineMusicGroupController extends BaseController {
 
@@ -36,7 +38,7 @@ public class EduOnlineMusicGroupController extends BaseController {
 
     @ApiOperation(value = "分页查询乐团列表")
     @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('musicGroup/queryPage')")
+    @PreAuthorize("@pcs.hasPermissions('eduOnlineMusic/queryPage')")
     public Object queryPage(MusicGroupQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -58,4 +60,16 @@ public class EduOnlineMusicGroupController extends BaseController {
         return succeed(musicGroupService.queryMusicGroupPage(queryInfo));
     }
 
+    @ApiOperation(value = "创建乐团网管课")
+    @GetMapping("/createOnlineMusicClassGroup")
+    @PreAuthorize("@pcs.hasPermissions('eduOnlineMusic/createOnlineMusicClassGroup')")
+    public HttpResponseResult createOnlineMusicClassGroup(OnlineMusicGroupCourseDto onlineMusicGroupCourseInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        onlineMusicGroupService.createOnlineMusicClassGroup(onlineMusicGroupCourseInfo);
+        return succeed();
+    }
+
 }