|  | @@ -390,13 +390,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public Boolean updateStatus(StudentPaymentOrder studentPaymentOrder) {
 | 
	
		
			
				|  |  | -        DegreeRegistration degree = degreeRegistrationDao.getLock(studentPaymentOrder.getClassGroupId());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          int updateCount = studentPaymentOrderService.update(studentPaymentOrder);
 | 
	
		
			
				|  |  |          if (updateCount <= 0) {
 | 
	
		
			
				|  |  |              throw new BizException("订单更新失败");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          if(DealStatusEnum.SUCCESS.equals(studentPaymentOrder.getStatus())){
 | 
	
		
			
				|  |  |              List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.getOrderDetail(studentPaymentOrder.getId());
 | 
	
		
			
				|  |  |              BigDecimal additionCoursePrice = new BigDecimal(0);
 | 
	
	
		
			
				|  | @@ -417,26 +414,23 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 | 
	
		
			
				|  |  |          if(Objects.isNull(studentPaymentOrder.getClassGroupId())){
 | 
	
		
			
				|  |  |              return true;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        if (degree == null || !degree.getStatus().equals(1)) {
 | 
	
		
			
				|  |  | -            studentPaymentOrder.setMemo("订单状态已变更");
 | 
	
		
			
				|  |  | -            studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
 | 
	
		
			
				|  |  | -            studentPaymentOrderService.update(studentPaymentOrder);
 | 
	
		
			
				|  |  | -            return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        degree.setOrderNo(studentPaymentOrder.getOrderNo());
 | 
	
		
			
				|  |  | -        degree.setTransNo(studentPaymentOrder.getTransNo());
 | 
	
		
			
				|  |  | -        switch (studentPaymentOrder.getStatus()){
 | 
	
		
			
				|  |  | -            case SUCCESS:
 | 
	
		
			
				|  |  | -                degree.setStatus(2);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            case FAILED:
 | 
	
		
			
				|  |  | -            case CLOSE:
 | 
	
		
			
				|  |  | -                degree.setStatus(0);
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | +        List<DegreeRegistration> degreeList = degreeRegistrationDao.getLockByOrderId(studentPaymentOrder.getOrderNo());
 | 
	
		
			
				|  |  | +        Date date = new Date();
 | 
	
		
			
				|  |  | +        for (DegreeRegistration degree : degreeList) {
 | 
	
		
			
				|  |  | +            degree.setUpdateTime(date);
 | 
	
		
			
				|  |  | +            degree.setOrderNo(studentPaymentOrder.getOrderNo());
 | 
	
		
			
				|  |  | +            degree.setTransNo(studentPaymentOrder.getTransNo());
 | 
	
		
			
				|  |  | +            switch (studentPaymentOrder.getStatus()){
 | 
	
		
			
				|  |  | +                case SUCCESS:
 | 
	
		
			
				|  |  | +                    degree.setStatus(2);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case FAILED:
 | 
	
		
			
				|  |  | +                case CLOSE:
 | 
	
		
			
				|  |  | +                    degree.setStatus(0);
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        degree.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -        if (degreeRegistrationDao.update(degree) <= 0) {
 | 
	
		
			
				|  |  | +        if (degreeRegistrationDao.batchUpdate(degreeList) < degreeList.size()) {
 | 
	
		
			
				|  |  |              throw new BizException("更新支付状态失败");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return true;
 | 
	
	
		
			
				|  | @@ -496,7 +490,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 | 
	
		
			
				|  |  |          if(!CollectionUtils.isEmpty(collect)){
 | 
	
		
			
				|  |  |              List<Integer> collect1 = collect.stream().map(e -> e.getSporadicId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  |              List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(),
 | 
	
		
			
				|  |  | -                    DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),StringUtils.join(collect1,","),null);
 | 
	
		
			
				|  |  | +                    DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),StringUtils.join(collect1,","),null,2);
 | 
	
		
			
				|  |  |              if(!CollectionUtils.isEmpty(userLevelDegrees)){
 | 
	
		
			
				|  |  |                  return BaseController.failed(HttpStatus.CREATED, "您选择的 {} 乐器考级已报名,请勿重复选择",collect.get(0).getLevel());
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -505,7 +499,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 | 
	
		
			
				|  |  |          if(!CollectionUtils.isEmpty(collect)){
 | 
	
		
			
				|  |  |              List<String> collect1 = collect.stream().map(e -> e.getLevel()).collect(Collectors.toList());
 | 
	
		
			
				|  |  |              List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(),
 | 
	
		
			
				|  |  | -                    DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),null,StringUtils.join(collect1,","));
 | 
	
		
			
				|  |  | +                    DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),null,StringUtils.join(collect1,","),2);
 | 
	
		
			
				|  |  |              if(!CollectionUtils.isEmpty(userLevelDegrees)){
 | 
	
		
			
				|  |  |                  return BaseController.failed(HttpStatus.CREATED, "您选择的 {} 乐理考级已报名,请勿重复选择",collect.get(0).getLevel());
 | 
	
		
			
				|  |  |              }
 |