| | |
| | | } |
| | | |
| | | BigDecimal totalPrice = BigDecimal.ZERO; |
| | | BigDecimal unitPrice = BigDecimal.ZERO; |
| | | if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) { |
| | | //限购数量 |
| | | Integer quotaTime = goods.getQuotaTime() == null ? 0:goods.getQuotaTime(); |
| | |
| | | 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) { |
| | |
| | | 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()); |