You've already forked FrameTour-BE
feat(order): 添加vlog视频模板购买逻辑
- 在订单业务中处理类型为-1的商品(vlog视频模板) - 调用视频仓库方法设置用户已购买模板 - 新增setUserIsBuyTemplate方法实现模板购买状态更新 - 查询面部关联视频并更新购买状态及清理缓存 feat(price): 增加拼图商品列表查询功能 - 在价格服务中加入对拼图模板的查询 - 设置拼图商品类型为13 - 将拼图模板信息加入返回的商品列表中
This commit is contained in:
@@ -230,6 +230,9 @@ public class OrderBiz {
|
||||
orderRepository.updateOrder(orderId, orderUpdate);
|
||||
orderItems.forEach(item -> {
|
||||
switch (item.getGoodsType()) {
|
||||
case -1: // vlog视频模板
|
||||
videoRepository.setUserIsBuyTemplate(order.getMemberId(), item.getGoodsId(), order.getId(), order.getFaceId());
|
||||
break;
|
||||
case 0: // vlog视频
|
||||
videoRepository.setUserIsBuyItem(order.getMemberId(), item.getGoodsId(), order.getId());
|
||||
break;
|
||||
|
||||
@@ -76,6 +76,14 @@ public class PriceBiz {
|
||||
goodsList.add(new GoodsListRespVO(2L, "照片集", 2));
|
||||
}
|
||||
}
|
||||
// 拼图
|
||||
puzzleTemplateMapper.list(scenicId, null, 1).forEach(puzzleTemplate -> {
|
||||
GoodsListRespVO goods = new GoodsListRespVO();
|
||||
goods.setGoodsId(puzzleTemplate.getId());
|
||||
goods.setGoodsName(puzzleTemplate.getName());
|
||||
goods.setGoodsType(13);
|
||||
goodsList.add(goods);
|
||||
});
|
||||
return goodsList;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package com.ycwl.basic.repository;
|
||||
|
||||
import com.ycwl.basic.biz.PriceBiz;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyBatchRespVO;
|
||||
import com.ycwl.basic.pricing.dto.VoucherInfo;
|
||||
import com.ycwl.basic.pricing.enums.VoucherDiscountType;
|
||||
import com.ycwl.basic.pricing.service.IVoucherService;
|
||||
import com.ycwl.basic.utils.JacksonUtil;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
@@ -116,4 +113,25 @@ public class VideoRepository {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setUserIsBuyTemplate(Long memberId, Long templateId, Long orderId, Long faceId) {
|
||||
List<MemberVideoEntity> videoEntities = memberRelationRepository.listRelationByFace(faceId);
|
||||
for (MemberVideoEntity videoEntity : videoEntities) {
|
||||
if (videoEntity.getTemplateId() != null && videoEntity.getTemplateId().equals(templateId)) {
|
||||
MemberVideoEntity memberVideo = new MemberVideoEntity();
|
||||
memberVideo.setVideoId(videoEntity.getVideoId());
|
||||
memberVideo.setMemberId(memberId);
|
||||
memberVideo.setIsBuy(1);
|
||||
memberVideo.setOrderId(orderId);
|
||||
videoMapper.updateRelation(memberVideo);
|
||||
|
||||
// 清理视频关系缓存
|
||||
MemberVideoEntity existingVideo = videoMapper.queryUserVideo(memberId, videoEntity.getVideoId());
|
||||
if (existingVideo != null && existingVideo.getFaceId() != null) {
|
||||
memberRelationRepository.clearVCacheByFace(existingVideo.getFaceId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user