|
@@ -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;
|
|
@@ -60,6 +66,10 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
|
|
|
private SysMessageService sysMessageService;
|
|
|
@Autowired
|
|
|
private UserOrderService userOrderService;
|
|
|
+ @Autowired
|
|
|
+ private CourseRelationMusicAlbumService courseRelationMusicAlbumService;
|
|
|
+ @Autowired
|
|
|
+ private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
|
|
|
|
|
|
public VideoLessonPurchaseRecordDao getDao() {
|
|
|
return videoLessonPurchaseRecordDao;
|
|
@@ -148,6 +158,42 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
|
|
|
//记录流水
|
|
|
addTeacherAccount(orderParam, lessonGroup);
|
|
|
videoSend(lessonGroup.getTeacherId(), purchaseRecord.getStudentId(), lessonGroup);
|
|
|
+
|
|
|
+ // 赠品曲目、专辑插入用户曲目购买记录表
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|