zouxuan 3 lat temu
rodzic
commit
647880733f

+ 41 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3875,8 +3875,48 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
         BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
 
+        BigDecimal teacherDefaultSalary = BigDecimal.ZERO;
+        if(practiceGroup.getVipGroupActivityId() != null){
+            VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(practiceGroup.getVipGroupActivityId());
+            VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
+            if(Objects.isNull(vipGroupSalarySettlementDto)){
+                throw new BizException("课酬结算方案错误");
+            }
+            VipGroupSalarySettlementTypeDto salarySettlement = vipGroupSalarySettlementDto.getPracticeSalarySettlement();
+            switch (salarySettlement.getSalarySettlementType()){
+                case TEACHER_DEFAULT:
+                    break;
+                case FIXED_SALARY:
+                    teacherDefaultSalary = salarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP);
+                    break;
+                default:
+                    throw new BizException("错误的课酬结算标准!");
+            }
+        }else {
+            SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
+            Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
+            TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroup.getUserId(),practiceCourseMinutes);
+
+            if(Objects.isNull(teacherDefaultPracticeGroupSalary)){
+                throw new BizException("请设置老师课酬");
+            }
+            teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
+        }
+
+        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
         for (int i = 0; i < courseSchedules.size(); i++) {
             CourseSchedule courseSchedule = courseSchedules.get(i);
+            //课程与老师薪水表
+            CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+            courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+            courseScheduleTeacherSalary.setGroupType(GroupType.PRACTICE);
+            courseScheduleTeacherSalary.setMusicGroupId(practiceGroup.getId().toString());
+            courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
+            courseScheduleTeacherSalary.setUserId(practiceGroup.getUserId());
+            courseScheduleTeacherSalary.setExpectSalary(teacherDefaultSalary);
+            courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
+            courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+
             //学生缴费记录
             CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
             courseScheduleStudentPayment.setGroupType(GroupType.PRACTICE);
@@ -3903,6 +3943,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             teacherAttendance.setCourseScheduleId(courseSchedule.getId());
             teacherAttendances.add(teacherAttendance);
         }
+        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
         courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
         teacherAttendanceDao.batchInsert(teacherAttendances);
     }
@@ -4776,7 +4817,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         classGroupTeacherSalary.setUpdateTime(now);
         classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
 
-        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
         //课程信息调整
         courseSchedules.forEach(courseSchedule -> {
             courseSchedule.setGroupType(GroupType.PRACTICE);
@@ -4788,19 +4828,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             courseSchedule.setClassGroupId(classGroup.getId());
             courseSchedule.setName(applyBaseInfoDto.getName());
             courseSchedule.setOrganId(applyBaseInfoDto.getOrganId());
-
-            //课程与老师薪水表
-            CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
-            courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
-            courseScheduleTeacherSalary.setGroupType(GroupType.PRACTICE);
-            courseScheduleTeacherSalary.setMusicGroupId(applyBaseInfoDto.getId().toString());
-            courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
-            courseScheduleTeacherSalary.setUserId(applyBaseInfoDto.getUserId());
-            courseScheduleTeacherSalary.setExpectSalary(applyBaseInfoDto.getOnlineTeacherSalary());
-            courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
-            courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
         });
-        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
         courseScheduleService.checkNewCourseSchedules(courseSchedules,false,false);
         applyBaseInfoDto.setCourseScheduleJson(JSON.toJSONString(courseSchedules));
         practiceGroupDao.update(applyBaseInfoDto);

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -744,8 +744,6 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     activityUserMapper.setGivePracticeFlag(1);
                 }
             }
-            activityUserMapperDao.insert(activityUserMapper);
-            activityUserMapperId = activityUserMapper.getId();
             //是否赠送会员(会员立即生效)
             if(activity.getGiveMemberTime() > 0){
                 Date now = new Date();
@@ -807,10 +805,14 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     default:
                         throw new BizException("不支持的周期类型");
                 }
-                cloudTeacherOrderService.update(cloudTeacherOrder);
+                cloudTeacherOrderService.insert(cloudTeacherOrder);
                 // 添加会员有效时长
                 studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+                activityUserMapper.setGiveMemberFlag(2);
+                activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
             }
+            activityUserMapperDao.insert(activityUserMapper);
+            activityUserMapperId = activityUserMapper.getId();
         }
         return activityUserMapperId;
     }

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

@@ -2627,8 +2627,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		Integer studentPaymentNum = studentPaymentOrderDao.countStudentPaymentNum(vipGroupId.toString());
 
-//		Integer studentPaymentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
-
 		if(studentPaymentNum.equals(classGroup.getExpectStudentNum()) && updateVipStatus){
 			classGroup.setStudentNum(studentPaymentNum);
 			classGroup.setDelFlag(0);