From c7d9c1d4c8e497bf38025d1e9a69a649afac6148 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 11 Nov 2021 15:15:42 +0800
Subject: [PATCH] 20211108
---
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 29 ++++++++++++++++++-----------
1 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
index 20729e4..b5146f9 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -210,15 +210,15 @@
throw new RestException(-3, "商品不存在或已下架");
}
- if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) {
- if (new Date().before(goods.getQgStartTime())) {
- throw new RestException(-3, "抢购未开始");
- }
-
- if (new Date().after(goods.getQgEndTime())) {
- throw new RestException(-3, "抢购已结束");
- }
- }
+// if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) {
+// if (new Date().before(goods.getQgStartTime())) {
+// throw new RestException(-3, "抢购未开始");
+// }
+//
+// if (new Date().after(goods.getQgEndTime())) {
+// throw new RestException(-3, "抢购已结束");
+// }
+// }
if (addGoodsOrderDto.getCnt() > sku.getStock()) {
throw new RestException(-3, "库存不足");
@@ -230,6 +230,7 @@
}
BigDecimal totalPrice = BigDecimal.ZERO;
+ BigDecimal unitPrice = BigDecimal.ZERO;
if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) {
//限购数量
Integer quotaTime = goods.getQuotaTime() == null ? 0:goods.getQuotaTime();
@@ -239,22 +240,27 @@
quotaTime = quotaTime-sumCnt;
if(goods.getQgStartTime().before(new Date()) && goods.getQgEndTime().after(new Date())){
if(addGoodsOrderDto.getCnt() <= quotaTime){
- totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(quotaTime));
+ totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
+ unitPrice = sku.getPresentPrice();
}else{
if(quotaTime > 0){
totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(quotaTime)).add(
sku.getOriginalPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()-quotaTime)));
+ unitPrice = totalPrice.divide(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
}else{
totalPrice = sku.getOriginalPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
+ unitPrice = sku.getOriginalPrice();
}
}
}else{
//开启抢购,不再时间内,直接原价* 数量
totalPrice = sku.getOriginalPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
+ unitPrice = sku.getOriginalPrice();
}
}else{
//没有开启抢购,直接现价* 数量
totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
+ unitPrice = sku.getPresentPrice();
}
BigDecimal score = new BigDecimal(accountInfo.getCollectScore());
if (score.compareTo(totalPrice) < 0) {
@@ -279,7 +285,8 @@
orderDetails.setOrderId(order.getId());
orderDetails.setCnt(addGoodsOrderDto.getCnt());
orderDetails.setTotalPrice(totalPrice);
- orderDetails.setUnitPrice(sku.getPresentPrice());
+// orderDetails.setUnitPrice(sku.getPresentPrice());
+ orderDetails.setUnitPrice(unitPrice);
orderDetails.setGoodsId(goods.getId());
orderDetails.setSkuId(sku.getId());
orderDetails.setThumb(goods.getThumb());
--
Gitblit v1.9.1