This commit is contained in:
2025-05-08 17:15:55 +08:00
parent f929755e73
commit 7650802c30
12 changed files with 1094 additions and 950 deletions
@@ -399,7 +399,7 @@ public class ProductService {
// 选择少数量/打印不干胶按钮
if ("少数量".contentEquals(dto.getStickerKind()) || "专版打印".contentEquals(dto.getStickerKind())) {
stickersList = lessSticker(dto, kind, number, width, length, count, stickersList);
stickersList = lessSticker(dto, kind, number, width, length, count, stickersList, role);
if (stickersList.get(0) == null) {
return null;
@@ -1364,20 +1364,37 @@ public class ProductService {
//第二款开始的设计费按照式设计内容
if (number > 1) {
double desFee = 0;
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
if (role.indexOf("1045") == -1) {
if (number == 2) {
desFee = 5.5;
}
if (number == 3) {
desFee = 5.5 + 3.5;
}
if (number > 3) {
desFee = 5.5 + 3.5 + 2.5 * (number - 3);
}
for (Product product : priceList) {
product.setPrice(Math.ceil(product.getPrice() + desFee));
}
} else {
desFee = 5;
}
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
} else {
desFee = 5;
}
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
}
}
}
return priceList;
} else {
@@ -2320,7 +2337,6 @@ public class ProductService {
} else {
priceList = new PriceUtils().UVStickerPrice(length, width, count, number, dto.getCraftMo(), dto.getCraft());
}
if (priceList.get(0).getCount() != count) {
priceList.get(0).setCount(count);
}
@@ -2655,37 +2671,69 @@ public class ProductService {
}
}
}
if (role.indexOf("1045") == -1) {
if (number > 1) {
double designFee = 0;
if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单")) {
if (number == 2) {
designFee = 5.5;
}
if (number == 3) {
designFee = 5.5 + 3.5;
}
if (number > 3) {
designFee = 5.5 + 3.5 + 2.5 * (number - 3);
}
}
if (dto.getProTypeLabel().equals("菜单") || dto.getProTypeLabel().equals("婚礼报纸")) {
if (number == 2) {
designFee = 17;
}
if (number == 3) {
designFee = 17 + 17;
}
if (number > 3) {
designFee = 17 + 17 + 12 * (number - 3);
}
}
//第二款开始的设计费按照式设计内容
if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单") && number > 1) {
double desFee = 0;
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
} else {
desFee = 18;
int min = getNumAdd((length - 4) / 10, (width - 4) / 10);
if (min == 1) {
desFee = 7;
}
if (min == 2) {
desFee = 10;
}
if (min == 3) {
desFee = 14;
}
if (min == 4) {
desFee = 18;
for (Product product : priceList) {
product.setPrice(Math.ceil(product.getPrice() + designFee));
}
}
} else {
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
//第二款开始的设计费按照式设计内容
if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单") && number > 1) {
double desFee = 0;
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
} else {
desFee = 18;
int min = getNumAdd((length - 4) / 10, (width - 4) / 10);
if (min == 1) {
desFee = 7;
}
if (min == 2) {
desFee = 10;
}
if (min == 3) {
desFee = 14;
}
if (min == 4) {
desFee = 18;
}
}
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
}
}
}
@@ -3101,19 +3149,35 @@ public class ProductService {
if (("0".equals(kind) && "0".equals(kind2)) || ("1".equals(kind) && ("1".equals(kind2) || "3".equals(kind2) || "8".equals(kind2) || "15".equals(kind2))) || "2".equals(kind)) {
double desFee = 0;
if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
desFee = 3;
} else if (dto.getP() == 4) {
desFee = 5;
} else if (dto.getP() == 5) {
desFee = 6;
if (role.indexOf("1045") == -1) {
if (number == 2) {
desFee = 11;
}
if (number == 3) {
desFee = 11 + 11;
}
if (number > 3) {
desFee = 11 + 11 + 11 * (number - 3);
}
for (Product product : priceList) {
product.setPrice(Math.ceil(product.getPrice() + desFee));
}
} else {
desFee = 11;
if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
desFee = 3;
} else if (dto.getP() == 4) {
desFee = 5;
} else if (dto.getP() == 5) {
desFee = 6;
} else {
desFee = 11;
}
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
}
}
for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
}
}
}
@@ -3319,7 +3383,7 @@ public class ProductService {
* if (priceList.size() >= 4) { priceList = priceList.subList(0, 4); }
*/
String[] ztCraft = {"背胶"};
priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, ztCraft, dto);
priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, ztCraft, dto, role);
for (Product product : priceList) {
if (dto.getKindValue().equals("0") || dto.getKindValue().equals("10")) {
wei = 0.38;
@@ -3792,7 +3856,7 @@ public class ProductService {
product.setPrice(Math.floor(product.getPrice() * number));
}
} else {// 打印的价格和pvc不干胶打印价格一样--23.8.17更新后取消这个
priceList = lessSticker(dto, proType, number, width, length, count, priceList);
priceList = lessSticker(dto, proType, number, width, length, count, priceList, role);
return priceList;
}
// 重量
@@ -3932,7 +3996,7 @@ public class ProductService {
return priceList;
case "数码PVC":
// 价格按照大纸裁
priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, dto.getCraft(), dto);
priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, dto.getCraft(), dto, role);
for (Product product : priceList) {
if (dto.getKindValue().equals("1") || dto.getKindValue().equals("2") || dto.getKindValue().equals("3")) {
wei = 0.38;
@@ -4348,7 +4412,7 @@ public class ProductService {
}
private List<Product> lessSticker(Product dto, String kind, Integer number, Double width, Double length,
int count, List<Product> stickersList) {
int count, List<Product> stickersList, String role) {
double price = 0.0;
// 一张大纸收费
double addPrice = 0.0;
@@ -4418,22 +4482,36 @@ public class ProductService {
}
if (number > 1) {
double desFee = 0;
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
if (role.indexOf("1045") == -1) {
if (number == 2) {
desFee = 3.5;
}
if (number == 3) {
desFee = 3.5 + 2.5;
}
if (number > 3) {
desFee = 3.5 + 2.5 + 1.5 * (number - 3);
}
} else {
desFee = 5;
if (dto.getP() == 1) {
desFee = 0.6;
} else if (dto.getP() == 2 || dto.getP() == 3) {
desFee = 0.8;
} else if (dto.getP() == 4) {
desFee = 1.2;
} else if (dto.getP() == 5) {
desFee = 2;
} else {
desFee = 5;
}
desFee = desFee * number;
}
for (Product product : stickersList) {
if ("0".equals(kind) && "纯烫金".equals(dto.getCraftTang())) {
product.setPrice(product.getPrice() * number);
} else {
product.setPrice(Math.floor(product.getPrice() + desFee * number));
product.setPrice(Math.ceil(product.getPrice() + desFee));
}
}
+24 -9
View File
@@ -36,7 +36,7 @@ public class ZsPrice {
return list;
}
public static List<Product> getSmPrice(int count, Double length, Double width, List<Product> list, Integer number, String[] craft, Product dto) {
public static List<Product> getSmPrice(int count, Double length, Double width, List<Product> list, Integer number, String[] craft, Product dto, String role) {
double price = 60;
double l = 438.0;
double w = 304.0;
@@ -68,18 +68,33 @@ public class ZsPrice {
if (number > 1) {
double desFee = 0;
if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
desFee = 3;
} else if (dto.getP() == 4) {
desFee = 5;
} else if (dto.getP() == 5) {
desFee = 6;
if (role.indexOf("1045") == -1) {
if (number == 2) {
desFee = 5.75;
}
if (number == 3) {
desFee = 5.75 + 3.75;
}
if (number > 3) {
desFee = 5.75 + 3.75 + 2.75 * (number - 3);
}
price += desFee;
} else {
desFee = 8;
if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
desFee = 3;
} else if (dto.getP() == 4) {
desFee = 5;
} else if (dto.getP() == 5) {
desFee = 6;
} else {
desFee = 8;
}
price += desFee * (number - 1);
}
price += desFee * (number - 1);
}
Product pro = new Product();
pro.setPrice(Math.ceil(price));
pro.setCount(count);