You've already forked FrameTour-BE
feat(order): 添加未来模板一口价购买逻辑
- 引入 IsBuyBatchRespVO 类以支持批量购买响应 - 实现视频模板买断逻辑,优先检查模板是否已购买 - 在商品类型为0时,查询视频模板并判断用户是否已购买 - 若已购买,直接返回订单ID及购买状态,跳过价格查询 - 保留原有价格查询逻辑作为兜底方案
This commit is contained in:
@@ -6,6 +6,7 @@ import com.ycwl.basic.mapper.OrderMapper;
|
|||||||
import com.ycwl.basic.mapper.SourceMapper;
|
import com.ycwl.basic.mapper.SourceMapper;
|
||||||
import com.ycwl.basic.mapper.StatisticsMapper;
|
import com.ycwl.basic.mapper.StatisticsMapper;
|
||||||
import com.ycwl.basic.mapper.VideoMapper;
|
import com.ycwl.basic.mapper.VideoMapper;
|
||||||
|
import com.ycwl.basic.model.mobile.order.IsBuyBatchRespVO;
|
||||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||||
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
|
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
|
||||||
@@ -180,6 +181,20 @@ public class OrderBiz {
|
|||||||
respVO.setSlashPrice(BigDecimal.ZERO);
|
respVO.setSlashPrice(BigDecimal.ZERO);
|
||||||
return respVO;
|
return respVO;
|
||||||
}
|
}
|
||||||
|
// 未来模板一口价
|
||||||
|
if (goodsType == 0) {
|
||||||
|
// 视频,可以买断模板
|
||||||
|
VideoEntity video = videoRepository.getVideo(goodsId);
|
||||||
|
if (video != null && video.getTemplateId() != null) {
|
||||||
|
OrderEntity templateBuy = orderMapper.getUserBuyFaceItem(memberId, faceId, -1, video.getTemplateId());
|
||||||
|
if (templateBuy != null) {
|
||||||
|
respVO.setOrderId(templateBuy.getId());
|
||||||
|
respVO.setBuy(true);
|
||||||
|
respVO.setFree(false);
|
||||||
|
return respVO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
PriceObj priceObj = queryPrice(scenicId, goodsType, goodsId);
|
PriceObj priceObj = queryPrice(scenicId, goodsType, goodsId);
|
||||||
if (priceObj == null) {
|
if (priceObj == null) {
|
||||||
return respVO;
|
return respVO;
|
||||||
|
|||||||
Reference in New Issue
Block a user