| 
														
															@@ -31,10 +31,7 @@ import org.springframework.util.CollectionUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.math.BigDecimal; 
														 | 
														
														 | 
														
															 import java.math.BigDecimal; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.time.LocalDate; 
														 | 
														
														 | 
														
															 import java.time.LocalDate; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.time.format.DateTimeFormatter; 
														 | 
														
														 | 
														
															 import java.time.format.DateTimeFormatter; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.ArrayList; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.HashMap; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.List; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Map; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @Service 
														 | 
														
														 | 
														
															 @Service 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -149,26 +146,40 @@ public class UserAccountRecordServiceImpl extends ServiceImpl<UserAccountRecordD 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<UserAccountRecord> selectRecordByOrderDetail(UserOrderDetailVo userOrderDetailVo) { 
														 | 
														
														 | 
														
															     public List<UserAccountRecord> selectRecordByOrderDetail(UserOrderDetailVo userOrderDetailVo) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<UserAccountRecord> records = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //订单类型: 学生端( VIP、开通会员  PRACTICE、陪练课购买  LIVE、直播课购买 VIDEO、视频课购买 MUSIC、单曲点播 ) 老师端(VIP、开通会员 PINAO_ROOM、琴房时长) 
														 | 
														
														 | 
														
															         //订单类型: 学生端( VIP、开通会员  PRACTICE、陪练课购买  LIVE、直播课购买 VIDEO、视频课购买 MUSIC、单曲点播 ) 老师端(VIP、开通会员 PINAO_ROOM、琴房时长) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //获取业务id 
														 | 
														
														 | 
														
															         //获取业务id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<Long> bizIds = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<Long> bizIds = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (GoodTypeEnum.VIP.equals(userOrderDetailVo.getGoodType()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                || GoodTypeEnum.VIDEO.equals(userOrderDetailVo.getGoodType()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                || GoodTypeEnum.MUSIC.equals(userOrderDetailVo.getGoodType())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (GoodTypeEnum.VIP.equals(userOrderDetailVo.getGoodType())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             bizIds.add(userOrderDetailVo.getBizId()); 
														 | 
														
														 | 
														
															             bizIds.add(userOrderDetailVo.getBizId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } else if (GoodTypeEnum.PRACTICE.equals(userOrderDetailVo.getGoodType()) || GoodTypeEnum.LIVE.equals(userOrderDetailVo.getGoodType())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.VIP, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.VIP_SHARE, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }else if(GoodTypeEnum.VIDEO.equals(userOrderDetailVo.getGoodType())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bizIds.add(userOrderDetailVo.getBizId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.VIDEO, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.VIDEO_SHARE, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }else if(GoodTypeEnum.MUSIC.equals(userOrderDetailVo.getGoodType())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bizIds.add(userOrderDetailVo.getBizId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.MUSIC, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.MUSIC_SHARE, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }else if(GoodTypeEnum.PRACTICE.equals(userOrderDetailVo.getGoodType())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //查询课程组下所有课程id 
														 | 
														
														 | 
														
															             //查询课程组下所有课程id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<CourseSchedule> cancel = courseScheduleService.list(Wrappers.<CourseSchedule>lambdaQuery() 
														 | 
														
														 | 
														
															             List<CourseSchedule> cancel = courseScheduleService.list(Wrappers.<CourseSchedule>lambdaQuery() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .eq(CourseSchedule::getCourseGroupId, userOrderDetailVo.getBizId()) 
														 | 
														
														 | 
														
															                     .eq(CourseSchedule::getCourseGroupId, userOrderDetailVo.getBizId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    .ne(CourseSchedule::getStatus, "CANCEL") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ); 
														 | 
														
														 | 
														
															             ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cancel.stream().forEach(o -> bizIds.add(o.getId())); 
														 | 
														
														 | 
														
															             cancel.stream().forEach(o -> bizIds.add(o.getId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.PRACTICE, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }else if(GoodTypeEnum.LIVE.equals(userOrderDetailVo.getGoodType())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<Long> groupId = Arrays.asList(userOrderDetailVo.getBizId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.LIVE_SHARE, groupId)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //查询课程组下所有课程id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<CourseSchedule> cancel = courseScheduleService.list(Wrappers.<CourseSchedule>lambdaQuery() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .eq(CourseSchedule::getCourseGroupId, userOrderDetailVo.getBizId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            cancel.stream().forEach(o -> bizIds.add(o.getId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            records.addAll(baseMapper.selectRecordByOrderDetail(userOrderDetailVo.getOrderNo(),AccountBizTypeEnum.LIVE, bizIds)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (CollectionUtils.isEmpty(bizIds)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return baseMapper.selectRecordByOrderDetail(userOrderDetailVo, bizIds); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return records; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |