|  | @@ -454,7 +454,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |       * @return 缓存 key teacherId value List<CourseTimeEntity>
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      public RMap<Long, List<CourseTimeEntity>> getLiveLockTimeCache(Long teacherId) {
 | 
	
		
			
				|  |  | -        String key = String.join(":", LiveRoomConstant.COOLESHOW, CourseConstant.LOCK_COURSE_TIME_INFO, teacherId.toString());
 | 
	
		
			
				|  |  | +        String key = CourseConstant.LOCK_COURSE_TIME_INFO.replace(CourseConstant.TEACHER_ID, teacherId.toString());
 | 
	
		
			
				|  |  |          return redissonClient.getMap(key);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -547,18 +547,18 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //校验购买的课程组每节课时间是否和自己的课时冲突
 | 
	
		
			
				|  |  |          batchCheckStudentCourseTime(studentId, courseList, CourseSchedule::getStartTime, CourseSchedule::getEndTime);
 | 
	
		
			
				|  |  | -        //返回的数据 有用后面aftet的方法使用
 | 
	
		
			
				|  |  | -        Map<String, Object> bizContent = new HashMap<>();
 | 
	
		
			
				|  |  | -        bizContent.put("courseGroup", courseGroup);
 | 
	
		
			
				|  |  | -        bizContent.put("courseList", courseList);
 | 
	
		
			
				|  |  | -        bizContent.put("studentId", studentId);
 | 
	
		
			
				|  |  | +        //将该数据传递到后面的after方法使用
 | 
	
		
			
				|  |  | +        Map<String, Object> bizParam = new HashMap<>();
 | 
	
		
			
				|  |  | +        bizParam.put("courseGroup", courseGroup);
 | 
	
		
			
				|  |  | +        bizParam.put("courseList", courseList);
 | 
	
		
			
				|  |  | +        bizParam.put("studentId", studentId);
 | 
	
		
			
				|  |  |          OrderCreateRes orderCreateRes = new OrderCreateRes();
 | 
	
		
			
				|  |  |          orderCreateRes.setRes(true);
 | 
	
		
			
				|  |  |          orderCreateRes.setMerchId(courseGroup.getTeacherId());
 | 
	
		
			
				|  |  |          orderCreateRes.setBizId(courseGroup.getId());
 | 
	
		
			
				|  |  |          orderCreateRes.setOriginalPrice(courseGroup.getCoursePrice());
 | 
	
		
			
				|  |  |          orderCreateRes.setExpectPrice(courseGroup.getCoursePrice());
 | 
	
		
			
				|  |  | -        orderCreateRes.setBizParam(bizContent);
 | 
	
		
			
				|  |  | +        orderCreateRes.setBizParam(bizParam);
 | 
	
		
			
				|  |  |          orderCreateRes.setGoodNum(courseGroup.getCourseNum());
 | 
	
		
			
				|  |  |          orderCreateRes.setGoodType(GoodTypeEnum.LIVE);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -586,7 +586,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |          CourseGroup courseGroup = (CourseGroup) param.get("courseGroup");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //获取每节课购买的价格
 | 
	
		
			
				|  |  | -        Map<Integer, BigDecimal> courseAveragePrice = getCourseAveragePrice(courseGroup.getCourseNum(), courseGroup.getCoursePrice());
 | 
	
		
			
				|  |  | +        Map<Integer, BigDecimal> courseAveragePrice = WrapperUtil.getAveragePrice(courseGroup.getCourseNum(), courseGroup.getCoursePrice());
 | 
	
		
			
				|  |  |          //写course_schedule_student_payment表 作为记录锁定时间用,防止重复购买,如果支付失败则删除该数据
 | 
	
		
			
				|  |  |          List<CourseScheduleStudentPayment> studentPaymentList = new ArrayList<>();
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
	
		
			
				|  | @@ -640,7 +640,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |          //总课酬  1 - (1 * 手续费率)
 | 
	
		
			
				|  |  |          BigDecimal totalRatePrice = expectPrice.subtract(expectPrice.multiply(liveServiceRate)).setScale(2, RoundingMode.HALF_UP);
 | 
	
		
			
				|  |  |          //获取每节课的课酬 key 课堂数  value 课酬
 | 
	
		
			
				|  |  | -        Map<Integer, BigDecimal> singerCourseSalary = getCourseAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
 | 
	
		
			
				|  |  | +        Map<Integer, BigDecimal> singerCourseSalary = WrapperUtil.getAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
 | 
	
		
			
				|  |  |          //写入课酬表计算-根据课程组总金额计算分配到每节课的金额
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
		
			
				|  |  |          List<CourseScheduleTeacherSalary> teacherSalaryList = new ArrayList<>();
 | 
	
	
		
			
				|  | @@ -662,30 +662,6 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     * 计算课堂每节课价格
 | 
	
		
			
				|  |  | -     *
 | 
	
		
			
				|  |  | -     * @param totalCourseNum 总课程数
 | 
	
		
			
				|  |  | -     * @param totalRatePrice 总金额
 | 
	
		
			
				|  |  | -     * @return key 课堂数 value 课酬
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    private Map<Integer, BigDecimal> getCourseAveragePrice(Integer totalCourseNum, BigDecimal totalRatePrice) {
 | 
	
		
			
				|  |  | -        //每节课的单价 四舍五入
 | 
	
		
			
				|  |  | -        BigDecimal singerSalary = totalRatePrice.divide(BigDecimal.valueOf(totalCourseNum), 2, RoundingMode.HALF_UP);
 | 
	
		
			
				|  |  | -        //单价累计总额
 | 
	
		
			
				|  |  | -        BigDecimal cumulativeAmount = BigDecimal.ZERO;
 | 
	
		
			
				|  |  | -        Map<Integer, BigDecimal> map = new HashMap<>();
 | 
	
		
			
				|  |  | -        for (int i = 1; i <= totalCourseNum; i++) {
 | 
	
		
			
				|  |  | -            //最后一节课,直接用总课酬减去累计总额
 | 
	
		
			
				|  |  | -            if (i == totalCourseNum) {
 | 
	
		
			
				|  |  | -                singerSalary = totalRatePrice.subtract(cumulativeAmount);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            cumulativeAmount = cumulativeAmount.add(singerSalary);
 | 
	
		
			
				|  |  | -            map.put(i, singerSalary);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return map;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  |       * 学生购买直播课-失败-回调
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
	
		
			
				|  | @@ -723,7 +699,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 | 
	
		
			
				|  |  |          courseGroupList.forEach(courseGroup -> {
 | 
	
		
			
				|  |  |              courseGroup.setStatus(CourseGroupEnum.APPLY.getCode());
 | 
	
		
			
				|  |  |              this.updateById(courseGroup);
 | 
	
		
			
				|  |  | -        })  ;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 |