zhuyiyi 4 недель назад
Родитель
Сommit
2012ad0a80

+ 134 - 118
src/main/java/lingtao/net/service/ProductService.java

@@ -1453,10 +1453,10 @@ public class ProductService {
                 double addPrice = 5;
 
                 List<String> craft_list = dto.getCraft() != null ? new ArrayList<>(Arrays.asList(dto.getCraft())) : new ArrayList<>();
-                if (craft_list.contains("压痕") && ((width <= 10 && length <= 7) || (width <= 7 && length <= 10))) {
-                    craft_list.remove("压痕");
-                    craft_list.add("异形模切");
-                }
+//                if (craft_list.contains("压痕") && ((width <= 10 && length <= 7) || (width <= 7 && length <= 10))) {
+//                    craft_list.remove("压痕");
+//                    craft_list.add("异形模切");
+//                }
                 if (!craft_list.isEmpty()) {
                     dto.setCraft(craft_list.toArray(new String[craft_list.size()]));
                 }
@@ -4729,121 +4729,9 @@ public class ProductService {
 
                 return priceList;
             case "定制衫":
-                double basePrice = 0;
-                double banfei = 0;
-                if ("YP".equals(dto.getKindValue())) {
-                    basePrice = 19;
-                }
-                if ("XW".equals(dto.getKindValue())) {
-                    basePrice = 31;
-                }
-                if ("EP".equals(dto.getKindValue())) {
-                    basePrice = 31;
-                }
-                if ("ZT".equals(dto.getKindValue())) {
-                    basePrice = 57;
-                }
-                if (!StringUtils.isEmpty(dto.getSize())) {
-                    String[] size_list = dto.getSize().split(",");
-                    for (int i = 0; i < size_list.length; i++) {
-                        double sizePirce = 0;
-                        if ("10*10".equals(size_list[i])) {
-                            sizePirce = 4;
-                        }
-                        if ("15*15".equals(size_list[i])) {
-                            sizePirce = 6;
-                        }
-                        if ("15*20".equals(size_list[i])) {
-                            sizePirce = 8;
-                        }
-                        if ("20*20".equals(size_list[i])) {
-                            sizePirce = 10;
-                        }
-                        if ("25*15".equals(size_list[i])) {
-                            sizePirce = 10;
-                        }
-                        if ("25*25".equals(size_list[i])) {
-                            sizePirce = 12;
-                        }
-                        if ("30*30".equals(size_list[i])) {
-                            sizePirce = 14;
-                        }
-                        if ("30*40".equals(size_list[i])) {
-                            sizePirce = 16;
-                        }
-
-                        basePrice += sizePirce;
-                    }
-
-                }
-                if (dto.getPo_number() != null && dto.getCo_number() != null) {
-                    if (dto.getPo_number() > 0 || dto.getCo_number() > 0) {
-                        basePrice += dto.getPo_number() * 4 * dto.getCo_number();
-                        banfei = dto.getPo_number() * 40 * dto.getCo_number();
-                    }
-                }
-                count = dto.getCount();
-
-                pro = new Product();
-                pro.setCount(count);
-                pro.setPrice(Math.max(basePrice * count * number, 30) + banfei);
-                priceList.add(pro);
-                return priceList;
+                return getClotherPrice(dto, width, length);
             case "手绘":
-                double price = 0;
-                if ("1".equals(dto.getKindValue())) {
-                    if (number >= 1 && number <= 4) {
-                        price = 80;
-                    } else if (number >= 5 && number <= 10) {
-                        price = 75;
-                    } else if (number >= 11 && number <= 20) {
-                        price = 70;
-                    } else {
-                        price = 65;
-                    }
-                } else if ("2".equals(dto.getKindValue())) {
-                    price = 70;
-                } else if ("3".equals(dto.getKindValue())) {
-                    price = 200;
-                } else if ("4".equals(dto.getKindValue())) {
-                    if ("1".equals(dto.getKind1Value())) {
-                        price = 80;
-                    }
-                    if ("2".equals(dto.getKind1Value())) {
-                        price = 160;
-                    }
-                } else if ("5".equals(dto.getKindValue())) {
-                    if ("1".equals(dto.getKind1Value())) {
-                        price = 80;
-                    }
-                    if ("2".equals(dto.getKind1Value())) {
-                        price = 160;
-                    }
-                } else if ("6".equals(dto.getKindValue())) {
-                    if ("1".equals(dto.getKind1Value())) {
-                        price = 80;
-                    }
-                    if ("2".equals(dto.getKind1Value())) {
-                        price = 98;
-                    }
-                } else if ("7".equals(dto.getKindValue())) {
-                    price = 150;
-                } else if ("8".equals(dto.getKindValue())) {
-                    if ("1".equals(dto.getKind1Value())) {
-                        price = 80;
-                    }
-                    if ("2".equals(dto.getKind1Value())) {
-                        price = 198;
-                    }
-                } else if ("9".equals(dto.getKindValue())) {
-                    price = 150;
-                }
-
-                pro = new Product();
-                pro.setCount(count);
-                pro.setPrice(price * number);
-                priceList.add(pro);
-                return priceList;
+                return getShouhuiPrice(dto, width, length);
             case "奖牌":
                 return getMedalPrice(dto, width, length);
             case "防伪标":
@@ -4898,6 +4786,134 @@ public class ProductService {
         return null;
     }
 
+    private List<Product> getClotherPrice(Product dto, Double width, Double length) {
+        List<String> craft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
+        List<Product> priceList = new ArrayList<>();
+        int count = dto.getCount();
+        int number = dto.getNumber();
+        double basePrice = 0;
+        double banfei = 0;
+        if ("YP".equals(dto.getKindValue())) {
+            basePrice = 19;
+        }
+        if ("XW".equals(dto.getKindValue())) {
+            basePrice = 31;
+        }
+        if ("EP".equals(dto.getKindValue())) {
+            basePrice = 31;
+        }
+        if ("ZT".equals(dto.getKindValue())) {
+            basePrice = 57;
+        }
+        if (!StringUtils.isEmpty(dto.getSize())) {
+            String[] size_list = dto.getSize().split(",");
+            for (int i = 0; i < size_list.length; i++) {
+                double sizePirce = 0;
+                if ("10*10".equals(size_list[i])) {
+                    sizePirce = 4;
+                }
+                if ("15*15".equals(size_list[i])) {
+                    sizePirce = 6;
+                }
+                if ("15*20".equals(size_list[i])) {
+                    sizePirce = 8;
+                }
+                if ("20*20".equals(size_list[i])) {
+                    sizePirce = 10;
+                }
+                if ("25*15".equals(size_list[i])) {
+                    sizePirce = 10;
+                }
+                if ("25*25".equals(size_list[i])) {
+                    sizePirce = 12;
+                }
+                if ("30*30".equals(size_list[i])) {
+                    sizePirce = 14;
+                }
+                if ("30*40".equals(size_list[i])) {
+                    sizePirce = 16;
+                }
+
+                basePrice += sizePirce;
+            }
+
+        }
+        if (dto.getPo_number() != null && dto.getCo_number() != null) {
+            if (dto.getPo_number() > 0 || dto.getCo_number() > 0) {
+                basePrice += dto.getPo_number() * 4 * dto.getCo_number();
+                banfei = dto.getPo_number() * 40 * dto.getCo_number();
+            }
+        }
+        count = dto.getCount();
+
+        Product pro = new Product();
+        pro.setCount(count);
+        pro.setPrice(Math.max(basePrice * count * number, 30) + banfei);
+        priceList.add(pro);
+        return priceList;
+    }
+
+    private List<Product> getShouhuiPrice(Product dto, Double width, Double length) {
+        List<String> craft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
+        List<Product> priceList = new ArrayList<>();
+        int count = dto.getCount();
+        int number = dto.getNumber();
+        double price = 0;
+        if ("1".equals(dto.getKindValue())) {
+            if (number >= 1 && number <= 4) {
+                price = 80;
+            } else if (number >= 5 && number <= 10) {
+                price = 75;
+            } else if (number >= 11 && number <= 20) {
+                price = 70;
+            } else {
+                price = 65;
+            }
+        } else if ("2".equals(dto.getKindValue())) {
+            price = 70;
+        } else if ("3".equals(dto.getKindValue())) {
+            price = 200;
+        } else if ("4".equals(dto.getKindValue())) {
+            if ("1".equals(dto.getKind1Value())) {
+                price = 80;
+            }
+            if ("2".equals(dto.getKind1Value())) {
+                price = 160;
+            }
+        } else if ("5".equals(dto.getKindValue())) {
+            if ("1".equals(dto.getKind1Value())) {
+                price = 80;
+            }
+            if ("2".equals(dto.getKind1Value())) {
+                price = 160;
+            }
+        } else if ("6".equals(dto.getKindValue())) {
+            if ("1".equals(dto.getKind1Value())) {
+                price = 80;
+            }
+            if ("2".equals(dto.getKind1Value())) {
+                price = 98;
+            }
+        } else if ("7".equals(dto.getKindValue())) {
+            price = 150;
+        } else if ("8".equals(dto.getKindValue())) {
+            if ("1".equals(dto.getKind1Value())) {
+                price = 80;
+            }
+            if ("2".equals(dto.getKind1Value())) {
+                price = 198;
+            }
+        } else if ("9".equals(dto.getKindValue())) {
+            price = 150;
+        }
+
+        Product pro = new Product();
+        pro.setCount(count);
+        pro.setPrice(price * number);
+        priceList.add(pro);
+        return priceList;
+    }
+
     private List<Product> getWarmStickerPrice(Product dto, Double width, Double length) {
         List<String> craft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
         List<Product> priceList = new ArrayList<>();

+ 7 - 0
src/main/webapp/views/product/stickers.jsp

@@ -1640,6 +1640,13 @@
                 });
                 return false;
             }
+            if (kindValue == "银平光" && stickerKind == '常用种类') {
+                if ((size.split("*")[0] > 30 || size.split("*")[1] > 30)) {
+                    layer.msg("【银平光】尺寸不能超过30*30 cm", {offset: ['300px', '300px']}, function () {
+                    });
+                    return false;
+                }
+            }
             if (stickerKind[0] != "插旗" && stickerKind[0] != "双面印刷不干胶") {
                 if (!stickerKind[0]) {
                     layer.msg('请选择品种!', {offset: ['300px', '300px']}, function () {