|
@@ -31,10 +31,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
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
|
|
@@ -149,26 +146,40 @@ public class UserAccountRecordServiceImpl extends ServiceImpl<UserAccountRecordD
|
|
|
|
|
|
@Override
|
|
|
public List<UserAccountRecord> selectRecordByOrderDetail(UserOrderDetailVo userOrderDetailVo) {
|
|
|
+ List<UserAccountRecord> records = new ArrayList<>();
|
|
|
//订单类型: 学生端( VIP、开通会员 PRACTICE、陪练课购买 LIVE、直播课购买 VIDEO、视频课购买 MUSIC、单曲点播 ) 老师端(VIP、开通会员 PINAO_ROOM、琴房时长)
|
|
|
//获取业务id
|
|
|
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());
|
|
|
- } 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
|
|
|
List<CourseSchedule> cancel = courseScheduleService.list(Wrappers.<CourseSchedule>lambdaQuery()
|
|
|
.eq(CourseSchedule::getCourseGroupId, userOrderDetailVo.getBizId())
|
|
|
- .ne(CourseSchedule::getStatus, "CANCEL")
|
|
|
);
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|