|
|
@@ -116,9 +116,8 @@ public class OrderService {
|
|
|
userAddress = userAddressRepo.findById(addressId).orElseThrow(new BusinessException("地址信息不存在"));
|
|
|
}
|
|
|
|
|
|
- collection.setStock(collection.getStock() - qty);
|
|
|
- collection.setSale(collection.getSale() + qty);
|
|
|
- collectionRepo.save(collection);
|
|
|
+ collectionRepo.increaseStock(collectionId, -qty);
|
|
|
+ collectionRepo.increaseSale(collectionId, qty);
|
|
|
|
|
|
BigDecimal gasFee = sysConfigService.getBigDecimal("gas_fee");
|
|
|
Order order = Order.builder()
|
|
|
@@ -164,8 +163,7 @@ public class OrderService {
|
|
|
Asset asset = assetRepo.findById(collection.getAssetId()).orElseThrow(new BusinessException("资产不存在"));
|
|
|
asset.setStatus(AssetStatus.TRADING);
|
|
|
assetRepo.save(asset);
|
|
|
- collection.setOnShelf(false);
|
|
|
- collectionRepo.save(collection);
|
|
|
+ collectionRepo.setOnShelf(collectionId, false);
|
|
|
}
|
|
|
order = orderRepo.save(order);
|
|
|
if (order.getTotalPrice().equals(BigDecimal.ZERO)) {
|
|
|
@@ -391,7 +389,7 @@ public class OrderService {
|
|
|
orderRepo.save(order);
|
|
|
assetService.createAsset(winItem, user, order.getId(), order.getPrice(), "出售",
|
|
|
collectionService.getNextNumber(winItem.getCollectionId()));
|
|
|
- addSales(winItem.getMinterId());
|
|
|
+ addSales(winItem.getMinterId(), order.getQty());
|
|
|
} else {
|
|
|
if (collection.getSource() == CollectionSource.TRANSFER) {
|
|
|
Asset asset = assetRepo.findById(collection.getAssetId()).orElse(null);
|
|
|
@@ -402,7 +400,7 @@ public class OrderService {
|
|
|
assetService.createAsset(collection, user, order.getId(), order.getPrice(), "出售",
|
|
|
collectionService.getNextNumber(order.getCollectionId()));
|
|
|
}
|
|
|
- addSales(collection.getMinterId());
|
|
|
+ addSales(collection.getMinterId(), order.getQty());
|
|
|
}
|
|
|
commission(order);
|
|
|
} else if (order.getStatus() == OrderStatus.CANCELLED) {
|
|
|
@@ -458,11 +456,10 @@ public class OrderService {
|
|
|
asset.setStatus(AssetStatus.NORMAL);
|
|
|
assetRepo.save(asset);
|
|
|
}
|
|
|
- collection.setOnShelf(true);
|
|
|
+ collectionRepo.setOnShelf(collection.getId(), true);
|
|
|
}
|
|
|
- collection.setSale(collection.getSale() - 1);
|
|
|
- collection.setStock(collection.getStock() + 1);
|
|
|
- collectionRepo.save(collection);
|
|
|
+ collectionRepo.increaseSale(collection.getId(), -order.getQty());
|
|
|
+ collectionRepo.increaseStock(collection.getId(), order.getQty());
|
|
|
|
|
|
order.setStatus(OrderStatus.CANCELLED);
|
|
|
order.setCancelTime(LocalDateTime.now());
|
|
|
@@ -492,12 +489,9 @@ public class OrderService {
|
|
|
public void refundCancelled(Order order) {
|
|
|
}
|
|
|
|
|
|
- public synchronized void addSales(Long userId) {
|
|
|
+ public synchronized void addSales(Long userId, int num) {
|
|
|
if (userId != null) {
|
|
|
- userRepo.findById(userId).ifPresent(user -> {
|
|
|
- user.setSales(user.getSales() + 1);
|
|
|
- userRepo.save(user);
|
|
|
- });
|
|
|
+ userRepo.increaseSales(userId, num);
|
|
|
}
|
|
|
}
|
|
|
|