|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import com.google.common.collect.Maps;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.UserOrderDao;
|
|
@@ -37,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* VideoLessonPurchaseRecordService服务实现类
|
|
@@ -165,23 +167,40 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
|
|
|
.eq(CourseRelationMusicAlbum::getDelFlog, EStatus.ENABLE.getValue())
|
|
|
.list();
|
|
|
|
|
|
+ List<Long> giftIds = musicAlbums.stream()
|
|
|
+ .map(CourseRelationMusicAlbum::getId).distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Long, Long> purchaseIdMap = Maps.newHashMap();
|
|
|
+ if (CollectionUtils.isNotEmpty(giftIds)) {
|
|
|
+
|
|
|
+ // 查询用户购买记录
|
|
|
+ purchaseIdMap = musicSheetPurchaseRecordService.lambdaQuery()
|
|
|
+ .eq(MusicSheetPurchaseRecord::getStudentId, orderParam.getUserId())
|
|
|
+ .eq(MusicSheetPurchaseRecord::getOrderStatus, OrderStatusEnum.PAID)
|
|
|
+ .in(MusicSheetPurchaseRecord::getCourseMusicAlbumId, giftIds)
|
|
|
+ .list().stream()
|
|
|
+ .collect(Collectors.toMap(MusicSheetPurchaseRecord::getCourseMusicAlbumId, MusicSheetPurchaseRecord::getId, (o, n) -> n));
|
|
|
+ }
|
|
|
+
|
|
|
List<CourseRelationWrapper.MusicAlbumRecord> musicAlbumRecords = Lists.newArrayList();
|
|
|
|
|
|
for (CourseRelationMusicAlbum item : musicAlbums) {
|
|
|
|
|
|
- musicAlbumRecords.add(CourseRelationWrapper.MusicAlbumRecord.builder()
|
|
|
- .clientType(orderParam.getOrderClient())
|
|
|
- .musicSheetId(item.getMusicAlbumId())
|
|
|
- .orderNo(orderParam.getOrderNo())
|
|
|
- .purchasePrice(BigDecimal.ZERO)
|
|
|
- .purchaseTime(DateTime.now().toDate())
|
|
|
- .teacherId(orderParam.getMerchId())
|
|
|
- .originalPrice(BigDecimal.ZERO)
|
|
|
- .musicSheetServiceFee(BigDecimal.ZERO)
|
|
|
- .orderStatus(OrderStatusEnum.PAID)
|
|
|
- .studentId(orderParam.getUserId())
|
|
|
- .purchaseType(PurchaseRecordTypeEnum.valueOf(item.getRelationType().getCode()))
|
|
|
- .courseMusicAlbumId(item.getId())
|
|
|
+ musicAlbumRecords.add(CourseRelationWrapper.MusicAlbumRecord
|
|
|
+ .builder()
|
|
|
+ .clientType(orderParam.getOrderClient())
|
|
|
+ .musicSheetId(item.getMusicAlbumId())
|
|
|
+ .orderNo(orderParam.getOrderNo())
|
|
|
+ .purchasePrice(BigDecimal.ZERO)
|
|
|
+ .purchaseTime(DateTime.now().toDate())
|
|
|
+ .teacherId(orderParam.getMerchId())
|
|
|
+ .originalPrice(BigDecimal.ZERO)
|
|
|
+ .musicSheetServiceFee(BigDecimal.ZERO)
|
|
|
+ .orderStatus(OrderStatusEnum.PAID)
|
|
|
+ .studentId(orderParam.getUserId())
|
|
|
+ .purchaseType(PurchaseRecordTypeEnum.valueOf(item.getRelationType().getCode()))
|
|
|
+ .id(purchaseIdMap.get(item.getId()))
|
|
|
+ .courseMusicAlbumId(item.getId())
|
|
|
.build());
|
|
|
}
|
|
|
|