|  | @@ -695,7 +695,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          String channelType = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, remitFee, courseRemitFee, newCourses, registerPayDto.getBuyMaintenance(), registerPayDto.getBuyCloudTeacher());
 | 
	
		
			
				|  |  | -        studentPaymentOrder.setVersion(0);
 | 
	
		
			
				|  |  | +        studentPaymentOrder = studentPaymentOrderService.get(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Date date = new Date();
 | 
	
		
			
				|  |  |          BigDecimal balance = BigDecimal.ZERO;
 | 
	
	
		
			
				|  | @@ -722,6 +722,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          studentPaymentOrderService.update(studentPaymentOrder);
 | 
	
		
			
				|  |  |          studentPaymentOrder.setVersion(studentPaymentOrder.getVersion() + 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        if (studentPaymentOrder.getPaymentAccountNo().equals("205")) {
 | 
	
		
			
				|  |  | +            Map<String, String> notifyMap = new HashMap<>();
 | 
	
		
			
				|  |  | +            notifyMap.put("hasPaidZero", "205");
 | 
	
		
			
				|  |  | +            notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
 | 
	
		
			
				|  |  | +            return notifyMap;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (amount.compareTo(BigDecimal.ZERO) == 0) {
 | 
	
		
			
				|  |  |              studentPaymentRouteOrderService.addRouteOrder(orderNo, musicGroup.getOrganId(), balance);
 | 
	
		
			
				|  |  |              Map<String, String> notifyMap = new HashMap<>();
 | 
	
	
		
			
				|  | @@ -774,6 +781,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          if (ApplyOrder == null) {
 | 
	
		
			
				|  |  |              throw new BizException("没有支付中的订单,请勿非法请求");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        //手动关闭订单
 | 
	
		
			
				|  |  | +        ApplyOrder.setStatus(DealStatusEnum.FAILED);
 | 
	
		
			
				|  |  | +        ApplyOrder.setMemo("用户手动关闭");
 | 
	
		
			
				|  |  | +        studentPaymentOrderService.callOrderCallBack(ApplyOrder);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          BigDecimal amount = registerPayDto.getAmount(); //前端获取的价格
 | 
	
		
			
				|  |  |          BigDecimal orderAmount = new BigDecimal("0");
 | 
	
	
		
			
				|  | @@ -854,8 +865,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          String channelType = "";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.reAddOrder(userId, amount, orderNo, channelType, courseFee, goodsGroups, studentRegistration.getMusicGroupId(), ApplyOrder, remitFee, courseRemitFee, newCourses, registerPayDto.getBuyMaintenance(), registerPayDto.getBuyCloudTeacher());
 | 
	
		
			
				|  |  | -        studentPaymentOrder.setVersion(0);
 | 
	
		
			
				|  |  | +        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, remitFee, courseRemitFee, newCourses, registerPayDto.getBuyMaintenance(), registerPayDto.getBuyCloudTeacher());
 | 
	
		
			
				|  |  | +        studentPaymentOrder = studentPaymentOrderService.get(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  |          Date date = new Date();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          BigDecimal balance = BigDecimal.ZERO;
 | 
	
	
		
			
				|  | @@ -882,6 +893,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          studentPaymentOrderService.update(studentPaymentOrder);
 | 
	
		
			
				|  |  |          studentPaymentOrder.setVersion(studentPaymentOrder.getVersion() + 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        if (studentPaymentOrder.getPaymentAccountNo().equals("205")) {
 | 
	
		
			
				|  |  | +            Map<String, String> notifyMap = new HashMap<>();
 | 
	
		
			
				|  |  | +            notifyMap.put("hasPaidZero", "205");
 | 
	
		
			
				|  |  | +            notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
 | 
	
		
			
				|  |  | +            return notifyMap;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (amount.compareTo(BigDecimal.ZERO) == 0) {
 | 
	
		
			
				|  |  |              studentPaymentRouteOrderService.addRouteOrder(orderNo, musicGroup.getOrganId(), balance);
 | 
	
		
			
				|  |  |              Map<String, String> notifyMap = new HashMap<>();
 | 
	
	
		
			
				|  | @@ -1769,11 +1787,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              // 缴费人数更新
 | 
	
		
			
				|  |  |              MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(musicGroupId, studentRegistration.getActualSubjectId());
 | 
	
		
			
				|  |  |              if (hasPaid && musicGroupSubjectPlan != null) {
 | 
	
		
			
				|  |  | -                musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  |                  musicGroupSubjectPlan.setUpdateTime(date);
 | 
	
		
			
				|  |  | -                List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | -                if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER) && !orderDetailTypes.contains("CLOUD_TEACHER")) {
 | 
	
		
			
				|  |  | -                    musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
 | 
	
		
			
				|  |  | +                //减去缴费人数(器乐收费,0元时不减缴费人数)
 | 
	
		
			
				|  |  | +                if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER)) {
 | 
	
		
			
				|  |  | +                    if (studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("205")) {
 | 
	
		
			
				|  |  | +                        musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
 | 
	
		
			
				|  |  | +                        musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1996,11 +2018,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          // 判断乐器是否是租赁
 | 
	
		
			
				|  |  |          MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(musicGroupId, studentRegistration.getActualSubjectId());
 | 
	
		
			
				|  |  |          if (hasPaid && musicGroupSubjectPlan != null) {
 | 
	
		
			
				|  |  | -            musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  |              musicGroupSubjectPlan.setUpdateTime(date);
 | 
	
		
			
				|  |  | -            List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  | -            if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER) && !orderDetailTypes.contains("CLOUD_TEACHER")) {
 | 
	
		
			
				|  |  | -                musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
 | 
	
		
			
				|  |  | +            //减去缴费人数(器乐收费,0元时不减缴费人数)
 | 
	
		
			
				|  |  | +            if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER)) {
 | 
	
		
			
				|  |  | +                if (studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("205")) {
 | 
	
		
			
				|  |  | +                    musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
 | 
	
		
			
				|  |  | +                    musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -2393,14 +2419,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              if (courseScheduleTeacherSalary.getSettlementTime() != null) {
 | 
	
		
			
				|  |  |                  throw new BizException("课程已结算");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if(Objects.nonNull(salary)){
 | 
	
		
			
				|  |  | +            if (Objects.nonNull(salary)) {
 | 
	
		
			
				|  |  |                  courseScheduleTeacherSalary.setExpectSalary(salary);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              courseScheduleTeacherSalary.setSubsidy(subsidy);
 | 
	
		
			
				|  |  |              courseScheduleTeacherSalary.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -            if(TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole())){
 | 
	
		
			
				|  |  | +            if (TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole())) {
 | 
	
		
			
				|  |  |                  courseScheduleTeacherSalary.setEnableChangeSalary(false);
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  courseScheduleTeacherSalary.setEnableChangeSalary(true);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
 |