Jelajahi Sumber

视频课购买赠送曲目

Eric 2 tahun lalu
induk
melakukan
4f5cc89bfc

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -948,6 +948,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         musicSheetPurchaseRecord.setOrderStatus(OrderStatusEnum.PAID);
         musicSheetPurchaseRecord.setStudentId(userOrderDetailVo.getUserId());
         musicSheetPurchaseRecord.setPurchaseType(PurchaseRecordTypeEnum.valueOf(userOrderDetailVo.getGoodType().getCode()));
+        musicSheetPurchaseRecord.setCourseMusicAlbumId(0L);
         musicSheetPurchaseRecordService.saveOrUpdate(musicSheetPurchaseRecord);
     }
 

+ 37 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 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.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.UserOrderDao;
@@ -12,15 +13,20 @@ import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonPurchaseRecordDao;
 import com.yonge.cooleshow.biz.dal.enums.*;
+import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.EStatus;
 import com.yonge.cooleshow.common.enums.PostStatusEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.obj.ObjectUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -62,6 +68,8 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
     private UserOrderService userOrderService;
     @Autowired
     private CourseRelationMusicAlbumService courseRelationMusicAlbumService;
+    @Autowired
+    private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
 
     public VideoLessonPurchaseRecordDao getDao() {
         return videoLessonPurchaseRecordDao;
@@ -154,8 +162,37 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         // 赠品曲目、专辑插入用户曲目购买记录表
         List<CourseRelationMusicAlbum> musicAlbums = courseRelationMusicAlbumService.lambdaQuery()
                 .eq(CourseRelationMusicAlbum::getCourseGroupId, lessonGroup.getId())
+                .eq(CourseRelationMusicAlbum::getDelFlog, EStatus.ENABLE.getValue())
                 .list();
 
+        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())
+                    .build());
+        }
+
+        if (CollectionUtils.isNotEmpty(musicAlbumRecords)) {
+
+            List<MusicSheetPurchaseRecord> records = JSON.parseArray(JSON.toJSONString(musicAlbums),
+                    MusicSheetPurchaseRecord.class);
+
+            // 批量插入课程赠送曲目、专辑数据
+            musicSheetPurchaseRecordService.saveBatch(records, 30);
+        }
 
     }
 

+ 1 - 1
service.md

@@ -7,7 +7,7 @@
 - [ ] task-server
 - [ ] websocket-server
 - [ ] audio-analysis
-- [x] bbs-server
+- [ ] bbs-server
 - [ ] classroom-server
 - [ ] cms-server
 - [ ] mall-admin