From 3e549c1856a755b6a7e45eea3ddc61ffbe836c3a Mon Sep 17 00:00:00 2001 From: zhuyiyi <649091362@qq.com> Date: Sat, 6 Jun 2026 08:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=9A=E5=85=8B=E5=8A=9B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lingtao/net/service/ProductService.java | 11 +++- .../java/lingtao/net/util/PosterPrice.java | 59 +++++++++++++------ 2 files changed, 48 insertions(+), 22 deletions(-) diff --git a/src/main/java/lingtao/net/service/ProductService.java b/src/main/java/lingtao/net/service/ProductService.java index 6da0aff..57005dd 100644 --- a/src/main/java/lingtao/net/service/ProductService.java +++ b/src/main/java/lingtao/net/service/ProductService.java @@ -4260,6 +4260,11 @@ public class ProductService { } product.setWeight(df.format(0.28 * width * length * product.getCount() / 10000 * number)); } + if (width < 50 || length < 50) { + if (role.contains("1053")) { + product.setPrice(Math.ceil(product.getPrice() + number * 5)); + } + } } return chucklePrice(role, priceList); case "29"://慕斯垫 @@ -4592,7 +4597,7 @@ public class ProductService { ShengDaPriceResultVo result = ShengDaPriceUtils.getPrice(params); double price = Math.ceil(result.getData().getPrice() / (1 - 0.65)); - double designPrice = number * 5; + double designPrice = number * 8; Product product = new Product(); product.setPrice(Math.ceil(Math.max(price, 30) + designPrice)); @@ -5291,7 +5296,7 @@ public class ProductService { if (craft_list.contains("防风绳")) { product.setPrice(Math.floor(product.getPrice() + dto.getPcount() * 2)); } - product.setWeight(String.valueOf(area * 0.18 + dto.getShuliang() * 3.3)); + product.setWeight(String.valueOf(area * count * number * 0.08 + dto.getShuliang() * 3.3)); } return priceList; @@ -8550,7 +8555,7 @@ public class ProductService { public List chucklePrice(String role, List list) { // - List roleList = Arrays.asList("1045", "1061", "1029", "1054", "1053"); + List roleList = Arrays.asList("1045", "1061", "1029", "1054", "1053", "1055"); boolean isIn = false; for (String s : roleList) { if (role.indexOf(s) > -1) { diff --git a/src/main/java/lingtao/net/util/PosterPrice.java b/src/main/java/lingtao/net/util/PosterPrice.java index 1714827..1827151 100644 --- a/src/main/java/lingtao/net/util/PosterPrice.java +++ b/src/main/java/lingtao/net/util/PosterPrice.java @@ -306,14 +306,10 @@ public class PosterPrice { price = area * 380 > 380 + 15 ? area * 380 : 380 + 15; break; } - if (!"24".equals(kind2)) { - double area_jis = area; - if (width * length < 40 * 50) { - area_jis = area_jis * number; - } -// if ("8".equals(kind2) && width * length < 40 * 50) { -// price = new PriceUtils().getTestPrice(length, width, count, number, areas, prices, min_price, last_price); -// } else { + Product pro = new Product(); + List list = new ArrayList(); + pro.setCount(count); + if ("15".equals(kind2)) { danjia = last_price; for (int i = 0; i < areas.length; i++) { if (area <= areas[i]) { @@ -321,19 +317,44 @@ public class PosterPrice { break; } } - price = Math.max(area_jis * danjia, min_price); -// } + price = Math.max(area * danjia, min_price) * number; + if (area < areas[0]) { + area = area * number; + for (int i = 0; i < areas.length; i++) { + if (area <= areas[i]) { + danjia = prices[i]; + break; + } + } + price = Math.max(min_price, area * danjia) + 25 + 15 * (number - 1); + } + pro.setPrice(Math.ceil(price)); + } else { + + if (!"24".equals(kind2)) { + double area_jis = area; + + if (width * length < 40 * 50) { + area_jis = area_jis * number; + } + + danjia = last_price; + for (int i = 0; i < areas.length; i++) { + if (area <= areas[i]) { + danjia = prices[i]; + break; + } + } + price = Math.max(area_jis * danjia, min_price); + } + // 价格 = 面积 * 单价 + (款数-1) * 40 + if (number > 1 && width * length >= 40 * 50) { + pro.setPrice(Math.ceil(price * number)); + } else { + pro.setPrice(Math.ceil(price)); + } } - Product pro = new Product(); - List list = new ArrayList(); - pro.setCount(count); - // 价格 = 面积 * 单价 + (款数-1) * 40 - if (number > 1 && width * length >= 40 * 50) { - pro.setPrice(Math.ceil(price * number)); - } else { - pro.setPrice(Math.ceil(price)); - } pro.setWeight(weight); list.add(pro); return list;