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);
|
orderRepository.updateOrder(orderId, orderUpdate);
|
||||||
orderItems.forEach(item -> {
|
orderItems.forEach(item -> {
|
||||||
switch (item.getGoodsType()) {
|
switch (item.getGoodsType()) {
|
||||||
|
case -1: // vlog视频模板
|
||||||
|
videoRepository.setUserIsBuyTemplate(order.getMemberId(), item.getGoodsId(), order.getId(), order.getFaceId());
|
||||||
|
break;
|
||||||
case 0: // vlog视频
|
case 0: // vlog视频
|
||||||
videoRepository.setUserIsBuyItem(order.getMemberId(), item.getGoodsId(), order.getId());
|
videoRepository.setUserIsBuyItem(order.getMemberId(), item.getGoodsId(), order.getId());
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -76,6 +76,14 @@ public class PriceBiz {
|
|||||||
goodsList.add(new GoodsListRespVO(2L, "照片集", 2));
|
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;
|
return goodsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package com.ycwl.basic.repository;
|
package com.ycwl.basic.repository;
|
||||||
|
|
||||||
import com.ycwl.basic.biz.PriceBiz;
|
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.pricing.service.IVoucherService;
|
||||||
import com.ycwl.basic.utils.JacksonUtil;
|
import com.ycwl.basic.utils.JacksonUtil;
|
||||||
import com.ycwl.basic.mapper.VideoMapper;
|
import com.ycwl.basic.mapper.VideoMapper;
|
||||||
@@ -116,4 +113,25 @@ public class VideoRepository {
|
|||||||
return true;
|
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