diff --git a/src/main/java/lingtao/net/service/ProductService.java b/src/main/java/lingtao/net/service/ProductService.java index 87ca62d..063670d 100644 --- a/src/main/java/lingtao/net/service/ProductService.java +++ b/src/main/java/lingtao/net/service/ProductService.java @@ -2543,19 +2543,20 @@ public class ProductService { } //一张大纸能放几个 - double num = Math.min(Math.floor(paperLength / length) * Math.floor(paperWidth / width), Math.floor(paperLength / width) * Math.floor(paperWidth / length)); + double num = Math.max(Math.min(Math.floor(paperLength / length) * Math.floor(paperWidth / width), Math.floor(paperLength / width) * Math.floor(paperWidth / length)), 1); if (craft_list.contains("烫画")) { num = Math.max(Math.ceil(paperLength / length) * Math.ceil(paperWidth / width), Math.ceil(paperLength / width) * Math.ceil(paperWidth / length)); } double baseCount = Math.max(Math.ceil(dto.getCount() * dto.getNumber() / num), 1); + double countNum = Math.max(Math.ceil(dto.getNumber() / num), 1); int coNumber = dto.getCo_number(); if (coNumber <= 0) { coNumber = 1; } - double price = new PriceUtils().CalculatePrice(craft_list, baseCount, coNumber); + double price = new PriceUtils().CalculatePrice(craft_list, baseCount, coNumber, countNum); Product pro = new Product(); pro.setCount(dto.getCount()); @@ -2569,7 +2570,8 @@ public class ProductService { break; } baseCount = Math.max(Math.ceil(quantitySteps[i] * dto.getNumber() / num), 1); - double currentPrice = new PriceUtils().CalculatePrice(craft_list, baseCount, coNumber); + countNum = Math.max(Math.ceil(dto.getNumber() / num), 1); + double currentPrice = new PriceUtils().CalculatePrice(craft_list, baseCount, coNumber, countNum); pro = new Product(); @@ -2578,9 +2580,9 @@ public class ProductService { priceList.add(pro); } - for (Product product : priceList) { - product.setPrice(Math.ceil(product.getPrice() + (number - 1) * 0.5)); - } +// for (Product product : priceList) { +// product.setPrice(Math.ceil(product.getPrice() + (number - 1) * 0.5)); +// } return priceList; } diff --git a/src/main/java/lingtao/net/util/PriceUtils.java b/src/main/java/lingtao/net/util/PriceUtils.java index 65b095d..f073e35 100644 --- a/src/main/java/lingtao/net/util/PriceUtils.java +++ b/src/main/java/lingtao/net/util/PriceUtils.java @@ -3440,19 +3440,29 @@ public class PriceUtils { return price; } - public double CalculatePrice(List craft_list, double count, int coNumber) { + public double CalculatePrice(List craft_list, double count, int coNumber, double countNum) { if (craft_list.contains("烫画")) { return (int) count * 120; } double price = 0; if (craft_list.contains("冷转印")) { - if (count <= 5) { - price = 260; - } else if (count < 100) { - price = 14 * count + 200; - } else { - price = 12 * count; + double banfei = 200; + if (countNum > 1) { + price = 260 * countNum; + banfei = 0; + count = Math.abs(count - countNum); + } + if (count > 0) { + if (count <= 5) { + price += 260; + } else if (count < 100) { + price += 14 * count + banfei; + } else { + price += 12 * count; + } + } + price = price + (coNumber - 1) * 100; }