Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 4 years ago
parent
commit
3388d06c8d

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/handler/WebSocketHandler.java

@@ -166,7 +166,8 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
             int timeStamp = (int) (userSoundInfoMap.get(phone).getMeasureStartTime() + audioEvent.getTimeStamp()*1000);
             float pitch = pitchDetectionResult.getPitch();
             if(pitch>0 && userSoundInfoMap.get(phone).getOffsetTime() == -1){
-                calOffsetTime(phone, (int) (CollectionUtils.isEmpty(userSoundInfoMap.get(phone).getRecordMeasurePithInfo())?0:userSoundInfoMap.get(phone).getRecordMeasurePithInfo().get(userSoundInfoMap.get(phone).getRecordMeasurePithInfo().size()-1).getTimeStamp()));
+                int preTimeStamp = CollectionUtils.isEmpty(userSoundInfoMap.get(phone).getRecordMeasurePithInfo())?0:userSoundInfoMap.get(phone).getRecordMeasurePithInfo().get(userSoundInfoMap.get(phone).getRecordMeasurePithInfo().size()-1).getTimeStamp();
+                calOffsetTime(phone, timeStamp - (timeStamp - preTimeStamp)/2);
             }
 //            LOGGER.info("时间:{}, 频率:{}, 分贝:{}, 音分:{}", timeStamp, pitch, silenceDetecor.currentSPL(), cents);
             userSoundInfoMap.get(phone).getRecordMeasurePithInfo().add(new MusicPitchDetailDto(timeStamp, pitch, silenceDetecor.currentSPL()));
@@ -213,9 +214,9 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         super.afterConnectionClosed(session, status);
         String phone = session.getPrincipal().getName().split(":")[1];
         LOGGER.info("{}离线", phone);
+        createHeader(phone);
         WS_CLIENTS.remove(phone);
         userSoundInfoMap.remove(phone);
-        createHeader(phone);
     }
 
     @Override

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -367,13 +367,17 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         	subjectChange = subjectChangeMap.get(studentRegistration.getUserId());
         	if(subjectChange != null && minPaymentOrderId <= subjectChange.getOriginalOrderId()){
         		dto.setAccessoriesAmount(subjectChange.getChangeAccessoriesPrice());
-        		dto.setAccessoriesName(subjectChange.getChangeAccessoriesGoods().stream().map(Goods::getName).collect(Collectors.joining(",")));
+        		if(subjectChange.getChangeAccessoriesGoods() != null){
+        			dto.setAccessoriesName(subjectChange.getChangeAccessoriesGoods().stream().map(Goods::getName).collect(Collectors.joining(",")));
+        		}
         		
         		dto.setCourseAmount(userOrderTypeMap.get(OrderDetailTypeEnum.COURSE));
         		//dto.setGoodsNames(goodsNames);
         		dto.setKitGroupPurchaseTypeEnum(subjectChange.getKitGroupPurchaseType());
         		dto.setMusicalAmount(subjectChange.getChangeMusicalPrice());
-        		dto.setMusicalName(subjectChange.getChangeMusicalGoods().getName());
+        		if(subjectChange.getChangeMusicalGoods() != null){
+        			dto.setMusicalName(subjectChange.getChangeMusicalGoods().getName());
+        		}
         		dto.setMusicGroupName(musicGroup.getName());
         		dto.setOrganName(organization.getName());
         		dto.setOrderAmount(withoutMusicalTotalAmount.add(subjectChange.getChangeMusicalPrice().add(subjectChange.getChangeAccessoriesPrice())));

+ 17 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -404,6 +404,18 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         List<Long> paymentOrderIdList = studentPaymentOrderList.stream().map(t -> t.getId()).collect(Collectors.toList());
 
         List<StudentPaymentOrderDetail> details = studentPaymentOrderDetailDao.getWithIds(paymentOrderIdList);
+        
+
+        //查询乐器订单
+        StudentPaymentOrderDetail musicalOrderDetail =null, accessoriesOrderDetail = null;
+        		
+        for(StudentPaymentOrderDetail detail : details){
+        	if(detail.getType() == OrderDetailTypeEnum.ACCESSORIES){
+        		accessoriesOrderDetail = detail;
+        	}else if(detail.getType() == OrderDetailTypeEnum.MUSICAL){
+        		musicalOrderDetail = detail;
+        	}
+        }
 
         Set<Integer> refundSellOrderGoodsIds = getRefundGoodsId(details.stream().map(t -> t.getPaymentOrderId()).collect(Collectors.toList()));
 
@@ -412,7 +424,11 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         subjectChange.setOrganId(musicGroup.getOrganId());
         subjectChange.setCooperationOrganId(musicGroup.getCooperationOrganId());
         subjectChange.setMusicGroupId(musicGroupId);
-        subjectChange.setOrderId(details.get(0).getPaymentOrderId().intValue());
+		if (musicalOrderDetail != null) {
+			subjectChange.setOrderId(musicalOrderDetail.getPaymentOrderId().intValue());
+		} else if (accessoriesOrderDetail != null) {
+			subjectChange.setOrderId(accessoriesOrderDetail.getPaymentOrderId().intValue());
+		}
         String accessoriesIds = "";
         BigDecimal accessoriesPrice = BigDecimal.ZERO;
         for (StudentPaymentOrderDetail detail : details) {