|
|
@@ -615,28 +615,7 @@ public class OrderService {
|
|
|
order.setPayMethod(payMethod);
|
|
|
if (order.getType() == CollectionType.BLIND_BOX) {
|
|
|
log.info("开始盲盒抽卡 orderId: {}, collectionId: {}", orderId, collection.getId());
|
|
|
- BlindBoxItem winItem = null;
|
|
|
- try {
|
|
|
- winItem = collectionService.draw(collection.getId());
|
|
|
- } catch (BusinessException ignored) {
|
|
|
- }
|
|
|
- if (winItem == null) {
|
|
|
- log.info("抽卡失败退款 orderId: {}", orderId);
|
|
|
- order.setStatus(OrderStatus.CANCELLED);
|
|
|
- order.setCancelTime(LocalDateTime.now());
|
|
|
-
|
|
|
- Map<String, Object> refundParams = new HashMap<>();
|
|
|
- refundParams.put("refund_amt", order.getTotalPrice().setScale(2, RoundingMode.HALF_UP)
|
|
|
- .toPlainString());
|
|
|
- refundParams.put("refund_order_no", String.valueOf(snowflakeIdWorker.nextId()));
|
|
|
- try {
|
|
|
- Map<String, Object> response = Refund.create(transactionId, refundParams);
|
|
|
- } catch (BaseAdaPayException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- orderRepo.save(order);
|
|
|
- throw new BusinessException("抽卡失败, 已退款 " + orderId);
|
|
|
- }
|
|
|
+ BlindBoxItem winItem = collectionService.draw(collection.getId());
|
|
|
log.info("抽卡成功 orderId: {}, collectionId: {}, winCollectionId: {}", orderId, collection
|
|
|
.getId(), winItem.getCollectionId());
|
|
|
order.setWinCollectionId(winItem.getCollectionId());
|
|
|
@@ -661,6 +640,8 @@ public class OrderService {
|
|
|
orderRepo.save(order);
|
|
|
Asset asset = assetRepo.findById(collection.getAssetId()).orElse(null);
|
|
|
assetService.transfer(asset, order.getPrice(), user, "转让", order.getId());
|
|
|
+ order.setStatus(OrderStatus.FINISH);
|
|
|
+ orderRepo.save(order);
|
|
|
collectionRepo.delete(collection);
|
|
|
// 如果展厅有此藏品
|
|
|
showCollectionRepo.deleteAllByCollectionId(order.getCollectionId());
|