From f304d0d023e34bda1250d93c68d42ffbf217c4e2 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 11 Nov 2021 14:31:55 +0800 Subject: [PATCH] 20211108 --- gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 9 ++++++++- 1 files changed, 8 insertions(+), 1 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 cadc24b..7d3e689 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 @@ -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(); @@ -240,21 +241,26 @@ if(goods.getQgStartTime().before(new Date()) && goods.getQgEndTime().after(new Date())){ if(addGoodsOrderDto.getCnt() <= quotaTime){ totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(quotaTime)); + 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