zouxuan 2 years ago
parent
commit
cbb3f61d2e

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

@@ -869,4 +869,6 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<BaseMapDto> queryClassGroup(@Param("coopId") Integer coopId);
 
     List<ClassGroup> getClassGroupByMusicIds(@Param("musicGroupIds") List<String> musicGroupIds);
+
+    void modifyStudentNum(@Param("classGroupId") Integer classGroupId, @Param("num") int num);
 }

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

@@ -2320,7 +2320,8 @@ public class ExportServiceImpl implements ExportService {
                 && e.getGroupType() != GroupType.SPORADIC
                 && e.getGroupType() != GroupType.MEMBER
                 && e.getGroupType() != GroupType.ACTIVITY
-                && e.getGroupType() != GroupType.VIP).map(e -> e.getId()).collect(Collectors.toList());
+                && e.getGroupType() != GroupType.VIP
+                && e.getGroupType() != GroupType.LIVE).map(e -> e.getId()).collect(Collectors.toList());
         Map<Long, List<StudentPaymentOrderExportDto>> feeByTypeMap = new HashMap<>();
         Map<Long, BigDecimal> childRepairMap = new HashMap<>();
         if (!CollectionUtils.isEmpty(otherOrderIds)) {
@@ -2427,6 +2428,8 @@ public class ExportServiceImpl implements ExportService {
             //专业
             if (row.getGroupType().equals(GroupType.VIP)) {
                 row.setVipCourseFee(row.getActualAmount());
+            } else if (row.getGroupType() == GroupType.LIVE) {
+                row.setLiveCourseFee(row.getActualAmount());
             } else if (row.getGroupType() == GroupType.ACTIVITY) {
                 row.setVipCourseFee(row.getActualAmount());
             } else if (row.getGroupType() == GroupType.MEMBER) {
@@ -2553,6 +2556,7 @@ public class ExportServiceImpl implements ExportService {
             exportDto.setMusicGroupCourseFee(orderExportDtos.stream().map(e -> e.getMusicGroupCourseFee()).reduce(BigDecimal.ZERO, BigDecimal::add));
             exportDto.setCourseSchoolBuyAmount(orderExportDtos.stream().map(e -> e.getCourseSchoolBuyAmount()).reduce(BigDecimal.ZERO, BigDecimal::add));
             exportDto.setVipCourseFee(orderExportDtos.stream().map(e -> e.getVipCourseFee()).reduce(BigDecimal.ZERO, BigDecimal::add));
+            exportDto.setLiveCourseFee(orderExportDtos.stream().map(e -> e.getLiveCourseFee()).reduce(BigDecimal.ZERO, BigDecimal::add));
             exportDto.setPracticeCourseFee(orderExportDtos.stream().map(e -> e.getPracticeCourseFee()).reduce(BigDecimal.ZERO, BigDecimal::add));
             exportDto.setTheoryCourseFee(orderExportDtos.stream().map(e -> e.getTheoryCourseFee()).reduce(BigDecimal.ZERO, BigDecimal::add));
             exportDto.setDegreeFee(orderExportDtos.stream().map(e -> e.getDegreeFee()).reduce(BigDecimal.ZERO, BigDecimal::add));

+ 14 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2272,7 +2272,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
 
         if (Objects.isNull(teacherDefaultVipGroupSalary) || Objects.isNull(teacherDefaultVipGroupSalary.getOfflineClassesSalary())) {
-            throw new BizException("请设置教师VIP课课酬");
+            throw new BizException("请设置教师默认课酬");
         }
 
         Map<String, BigDecimal> results = new HashMap<>(2);
@@ -2377,12 +2377,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (Objects.isNull(gofts)) {
             gofts = BigDecimal.ZERO;
         }
-        if (!vipGroupCategory.getMusicTheory()) {
+        if (!vipGroupCategory.getMusicTheory() && !"LIVE".equals(vipGroup.getGroupType())) {
             gofts = gofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
             ofts = ofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-        } else if("LIVE".equals(vipGroup.getGroupType())){
-            gofts = gofts.multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-            ofts = ofts.multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
         }
         results.put("offlineTeacherSalary", ofts);
         results.put("giveOfflineTeacherSalary", gofts);
@@ -2647,7 +2644,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             if (result.getCode() != 200) {
                 return result;
             }
-            classGroup.setStudentNum(classGroup.getStudentNum() - 1);
+            classGroupDao.modifyStudentNum(classGroup.getId(),-1);
         }
 
         Date date = new Date();
@@ -2679,8 +2676,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             }
         }
         //增加学员数
-        classGroup.setStudentNum(classGroup.getStudentNum() + 1);
-        classGroupDao.update(classGroup);
+        classGroupDao.modifyStudentNum(classGroup.getId(),1);
 
         List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
         courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false);
@@ -3158,6 +3154,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             groupType = GroupType.LIVE;
             returnFeeEnum = ReturnFeeEnum.LIVE;
         }
+        //记录日志
+        SysUserCashAccountLog sysUserCashAccountLog = new SysUserCashAccountLog();
+        sysUserCashAccountLog.setUserId(studentId);
+        sysUserCashAccountLog.setGroupType(groupType);
+        sysUserCashAccountLog.setOrganId(vipGroup.getOrganId());
+        sysUserCashAccountLog.setGroupId(vipGroupId.toString());
+        sysUserCashAccountLog.setAmount(amount);
+        sysUserCashAccountLog.setReturnFeeType(returnFeeEnum);
+        sysUserCashAccountLog.setComment("OA审批" + groupType.getDesc() + "退学");
+        sysUserCashAccountLogDao.insert(sysUserCashAccountLog);
 
         if (classStudentMapperByUserIdAndClassGroupId.getStatus().equals(ClassGroupStudentStatusEnum.QUIT_SCHOOL)) {
             classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
@@ -3169,16 +3175,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             return;
         }
 
-        //记录日志
-        SysUserCashAccountLog sysUserCashAccountLog = new SysUserCashAccountLog();
-        sysUserCashAccountLog.setUserId(studentId);
-        sysUserCashAccountLog.setGroupType(groupType);
-        sysUserCashAccountLog.setOrganId(vipGroup.getOrganId());
-        sysUserCashAccountLog.setGroupId(vipGroupId.toString());
-        sysUserCashAccountLog.setAmount(amount);
-        sysUserCashAccountLog.setReturnFeeType(returnFeeEnum);
-        sysUserCashAccountLog.setComment("OA审批" + groupType.getDesc() + "退学");
-        sysUserCashAccountLogDao.insert(sysUserCashAccountLog);
 
         classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
         classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -1681,6 +1681,9 @@
     <update id="updateTeachingPointById">
         update class_group set teaching_point_ = #{param.teachingPoint} where id_ = #{param.id}
     </update>
+    <update id="modifyStudentNum">
+        update class_group set student_num_  = student_num_ + #{num} where id_ = #{classGroupId}
+    </update>
 
     <select id="getClassGroupByMusicIds" resultMap="ClassGroup">
         SELECT cg.* FROM class_group cg

+ 2 - 2
mec-web/src/main/resources/exportColumnMapper.ini

@@ -123,8 +123,8 @@ headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订
 fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount",  "couponRemitFee",     "musicGroupCourseFee","courseSchoolBuyAmount", "vipCourseFee",  "liveCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",     "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee","retailGoodsFee","largeMusicalFee", "otherFee", "platformFee", "payTime", "musicGroupId", "groupType.desc","typeDesc","feeMusicGroupId","feeMusicGroupName", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
 
 [订单列表汇总导出]
-headColumns = ["分部", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额","课程家长采买","课程学校采买", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "云教练", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它"]
-fieldColumns = ["organName", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount",  "couponRemitFee","musicGroupCourseFee","courseSchoolBuyAmount", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee","leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee","retailGoodsFee","largeMusicalFee", "otherFee"]
+headColumns = ["分部", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额","课程家长采买","课程学校采买", "VIP课",  "直播课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "云教练", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它"]
+fieldColumns = ["organName", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount",  "couponRemitFee","musicGroupCourseFee","courseSchoolBuyAmount", "vipCourseFee", "liveCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee","leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee","retailGoodsFee","largeMusicalFee", "otherFee"]
 
 [学员小课记录导出]
 headColumns = ["分部", "学员编号", "学生姓名", "年级", "课程余额", "声部" ,"声部班老师编号" ,"声部班老师", "上次课时间", "VIP总课时数", "VIP已结束课时数", "VIP未开始课时数", "已结束VIP课程组老师编号", "已结束VIP课程组老师", "未开始VIP课程组老师编号", "未开始VIP课程组老师","网管课已结束课时数", "网管课未开始课时数", "已结束网管课课程组老师编号", "已结束网管课课程组老师", "未开始网管课课程组老师编号", "未开始网管课课程组老师", "指导老师编号", "指导老师"]