|
|
@@ -68,6 +68,8 @@ public class AuctionOrderService {
|
|
|
private UserBalanceRepo userBalanceRepo;
|
|
|
@Autowired
|
|
|
private BalanceRecordRepo balanceRecordRepo;
|
|
|
+ @Autowired
|
|
|
+ private ShowroomRepo showroomRepo;
|
|
|
|
|
|
public Page<AuctionOrder> all(PageQuery pageQuery) {
|
|
|
return auctionOrderRepo
|
|
|
@@ -516,4 +518,36 @@ public class AuctionOrderService {
|
|
|
auctionOrder.setStatus(AuctionOrderStatus.FINISH);
|
|
|
auctionOrderRepo.save(auctionOrder);
|
|
|
}
|
|
|
+
|
|
|
+ public void privilege(AuctionOrder order) {
|
|
|
+ int maxCollection = sysConfigService.getInt("max_collection");
|
|
|
+
|
|
|
+ //Bider特殊拍卖展厅服务
|
|
|
+ Showroom.builder()
|
|
|
+ .userId(order.getUserId())
|
|
|
+ .nickname(order.getNickname())
|
|
|
+ .status(AuthStatus.SUCCESS)
|
|
|
+ .type("AUCTION")
|
|
|
+ .maxCollection(maxCollection)
|
|
|
+ .build();
|
|
|
+
|
|
|
+ //一个月的优先拍卖权
|
|
|
+ PurchaserPrivilege.builder()
|
|
|
+ .userId(order.getUserId())
|
|
|
+ .title("元宇宙Bider")
|
|
|
+ .priority(true)
|
|
|
+ .priorityExpireAt(LocalDateTime.now().plusMonths(1))
|
|
|
+ .build();
|
|
|
+
|
|
|
+ BigDecimal totalPrice = order.getTotalPrice();
|
|
|
+ //手续费
|
|
|
+ BigDecimal serviceCharge = totalPrice.multiply(new BigDecimal("20"))
|
|
|
+ .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
+
|
|
|
+ //奖励费用
|
|
|
+ BigDecimal subtract = totalPrice.subtract(serviceCharge);
|
|
|
+ subtract.multiply(new BigDecimal("50")).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|