You've already forked FrameTour-BE
修改
This commit is contained in:
@ -1,11 +1,12 @@
|
||||
package com.ycwl.basic.biz;
|
||||
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
@ -13,11 +14,15 @@ import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.repository.FaceRepository;
|
||||
import com.ycwl.basic.repository.OrderRepository;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.repository.SourceRepository;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.repository.VideoRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class OrderBiz {
|
||||
@ -32,6 +37,10 @@ public class OrderBiz {
|
||||
private OrderRepository orderRepository;
|
||||
@Autowired
|
||||
private FaceRepository faceRepository;
|
||||
@Autowired
|
||||
private SourceRepository sourceRepository;
|
||||
@Autowired
|
||||
private VideoRepository videoRepository;
|
||||
|
||||
public PriceObj queryPrice(Long scenicId, int goodsType, Long goodsId) {
|
||||
PriceObj priceObj = new PriceObj();
|
||||
@ -99,6 +108,19 @@ public class OrderBiz {
|
||||
public IsBuyRespVO isBuy(Long userId, Long scenicId, int goodsType, Long goodsId) {
|
||||
IsBuyRespVO respVO = new IsBuyRespVO();
|
||||
boolean isBuy = orderRepository.checkUserBuyItem(userId, goodsType, goodsId);
|
||||
// 免费送逻辑,之前已经赠送了的
|
||||
if (!isBuy) {
|
||||
switch (goodsType) {
|
||||
case 0:
|
||||
isBuy = videoRepository.getUserIsBuy(userId, goodsId);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
isBuy = sourceRepository.getUserIsBuy(userId, goodsType, goodsId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 还是没买
|
||||
respVO.setBuy(isBuy);
|
||||
if (!isBuy) {
|
||||
PriceObj priceObj = queryPrice(scenicId, goodsType, goodsId);
|
||||
@ -113,4 +135,65 @@ public class OrderBiz {
|
||||
}
|
||||
return respVO;
|
||||
}
|
||||
|
||||
public void paidOrder(Long orderId) {
|
||||
orderRepository.clearOrderCache(orderId); // 检查支付呢,还缓存
|
||||
OrderEntity order = orderRepository.getOrder(orderId);
|
||||
List<OrderItemEntity> orderItems = orderRepository.getOrderItems(orderId);
|
||||
OrderEntity orderUpdate = new OrderEntity();
|
||||
orderUpdate.setPayAt(new Date());
|
||||
orderUpdate.setStatus(1);
|
||||
orderRepository.updateOrder(orderId, orderUpdate);
|
||||
orderItems.forEach(item -> {
|
||||
switch (item.getGoodsType()) {
|
||||
case 0: // vlog视频
|
||||
videoRepository.setUserIsBuyItem(order.getMemberId(), item.getGoodsId(), order.getId());
|
||||
case 1: // 视频原素材
|
||||
case 2: // 照片原素材
|
||||
sourceRepository.setUserIsBuyItem(order.getMemberId(), item.getGoodsType(), item.getGoodsId(), order.getId());
|
||||
}
|
||||
});
|
||||
orderRepository.clearOrderCache(orderId); // 更新完了,清理下
|
||||
}
|
||||
|
||||
public void cancelOrder(Long orderId) {
|
||||
orderRepository.clearOrderCache(orderId); // 检查支付呢,还缓存
|
||||
OrderEntity order = orderRepository.getOrder(orderId);
|
||||
List<OrderItemEntity> orderItems = orderRepository.getOrderItems(orderId);
|
||||
OrderEntity orderUpdate = new OrderEntity();
|
||||
orderUpdate.setCancelAt(new Date());
|
||||
orderUpdate.setStatus(9);
|
||||
orderRepository.updateOrder(orderId, orderUpdate);
|
||||
orderItems.forEach(item -> {
|
||||
switch (item.getGoodsType()) {
|
||||
case 0: // vlog视频
|
||||
videoRepository.setUserNotBuyItem(order.getMemberId(), item.getGoodsId());
|
||||
case 1: // 视频原素材
|
||||
case 2: // 照片原素材
|
||||
sourceRepository.setUserNotBuyItem(order.getMemberId(), item.getGoodsType(), item.getGoodsId());
|
||||
}
|
||||
});
|
||||
orderRepository.clearOrderCache(orderId); // 更新完了,清理下
|
||||
}
|
||||
|
||||
public void refundOrder(Long orderId) {
|
||||
orderRepository.clearOrderCache(orderId);
|
||||
OrderEntity order = orderRepository.getOrder(orderId);
|
||||
List<OrderItemEntity> orderItems = orderRepository.getOrderItems(orderId);
|
||||
OrderEntity orderUpdate = new OrderEntity();
|
||||
orderUpdate.setRefundAt(new Date());
|
||||
orderUpdate.setStatus(2);
|
||||
orderUpdate.setRefundStatus(1);
|
||||
orderRepository.updateOrder(orderId, orderUpdate);
|
||||
orderItems.forEach(item -> {
|
||||
switch (item.getGoodsType()) {
|
||||
case 0: // vlog视频
|
||||
videoRepository.setUserNotBuyItem(order.getMemberId(), item.getGoodsId());
|
||||
case 1: // 视频原素材
|
||||
case 2: // 照片原素材
|
||||
sourceRepository.setUserNotBuyItem(order.getMemberId(), item.getGoodsType(), item.getGoodsId());
|
||||
}
|
||||
});
|
||||
orderRepository.clearOrderCache(orderId); // 更新完了,清理下
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user