Browse Source

update 维修支付回调

周箭河 5 years ago
parent
commit
1111f4da35

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

@@ -26,6 +26,7 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
 
+import net.bytebuddy.implementation.bytecode.Throw;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -634,7 +635,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             musicGroupDao.update(musicGroup);
         }
 
+        List<Integer> classGroupIds = classGroupAndTeachers.stream().map(ClassGroupTeachersDto::getId).collect(Collectors.toList());
+
+        List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, null);
+        Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
+
+        String waringStr = "";
         for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
+            Long studentNum = classGroupStudentNumMap.get(classGroupAndTeacher.getId());
+            studentNum = Objects.isNull(studentNum) ? 0 : studentNum;
+            if(classGroupAndTeacher.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && studentNum < 3 || studentNum >5){
+                String numWaring = studentNum < 3 ? "人数不能小于3\r\n" : "人数不能大于5\r\n";
+                waringStr += classGroupAndTeacher.getName()+numWaring;
+            }
             //班级的教师列表
             List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupAndTeacher.getClassGroupTeacherMapperList();
             for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
@@ -660,7 +673,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                 for (TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary : teacherSalaryByUserIdAndType) {
                     if(teacherDefaultMusicGroupSalary.getCourseScheduleType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) && teacherDefaultMusicGroupSalary.getSalaryRuleJson() != null){
-                        Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(classGroupTeacherMapper.getClassGroupId());
                         BigDecimal salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum.toString());
                         teacherDefaultMusicGroupSalary.setMainTeacher30MinSalary(salary);
                         teacherDefaultMusicGroupSalary.setMainTeacher90MinSalary(salary);
@@ -670,6 +682,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
 
         }
+        if(!waringStr.isEmpty()){
+            throw new BizException(waringStr);
+        }
         return classGroupAndTeachers;
     }