first commit
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
package lingtao.net.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lingtao.net.bean.Product;
|
||||
|
||||
/**
|
||||
* 哑金/哑银不干胶价格
|
||||
*/
|
||||
public class YaJinStickersPrice {
|
||||
|
||||
int countArr[] = { 500, 1000, 2000, 3000, 4000, 5000, 10000 };
|
||||
|
||||
// 根据尺寸计算价格
|
||||
public List<Product> accountPriceBySize(Double width, Double length, int count, int[] priceArr1, int[] priceArr2,
|
||||
int[] priceArr3) {
|
||||
List<Product> list = new ArrayList<Product>();
|
||||
if ((length <= 6 && width <= 5) || (length <= 5 && width <= 6) || (length <= 10 && width <= 3)
|
||||
|| (length <= 3 && width <= 10)) {
|
||||
list = getPrice(count, priceArr1);
|
||||
} else if ((length <= 8 && width <= 8) || (length <= 10 && width <= 6) || (length <= 6 && width <= 10)) {
|
||||
list = getPrice(count, priceArr2);
|
||||
} else if ((length <= 11 && width <= 11) || (length <= 12 && width <= 8) || (length <= 8 && width <= 12)
|
||||
|| (length <= 20) && (width <= 4) || (width <= 20) && (length <= 4)) {
|
||||
list = getPrice(count, priceArr3);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// 6*5cm以下及10*3cm以下
|
||||
// 6*5cm-8*8cm;10-3cm-10*6cm以内
|
||||
// 8*8cm-11*11cm;10*6-12*8CM;20*4以内
|
||||
private List<Product> getPrice(int count, int[] priceArr) {
|
||||
Product pro = new Product();
|
||||
List<Product> list = new ArrayList<Product>();
|
||||
// 数量大于10000
|
||||
if (count > countArr[countArr.length - 1]) {
|
||||
pro.setCount(count);
|
||||
// 10000个的单价*数量
|
||||
pro.setPrice(Math.ceil(count * priceArr[countArr.length - 1] / countArr[countArr.length - 1]));
|
||||
list.add(pro);
|
||||
}
|
||||
for (int i = 0; i < countArr.length; i++) {
|
||||
if (countArr[i] < count) {
|
||||
continue;
|
||||
}
|
||||
pro = new Product();
|
||||
pro.setCount(countArr[i]);
|
||||
pro.setPrice(Math.ceil(priceArr[i]));
|
||||
list.add(pro);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// 哑金不干胶不带凹凸
|
||||
public List<Product> getPriceNoAoTu(Double length, Double width, int count) {
|
||||
double l = 404;
|
||||
double w = 289;
|
||||
double price = 0.0;
|
||||
List<Product> list = new ArrayList<Product>();
|
||||
Product pro = new Product();
|
||||
// 换成毫米每边+2
|
||||
length = length * 10 + 4;
|
||||
width = width * 10 + 4;
|
||||
if ((length > l || width > w) && (length > w || width > l))
|
||||
return null;
|
||||
// 一张A4纸 大的400*285 能做多少个此类尺寸的不干胶
|
||||
double max = Math.max(Math.floor(l / length) * Math.floor(w / width),
|
||||
Math.floor(l / width) * Math.floor(w / length));
|
||||
// 报的数量需要多少张大纸
|
||||
int num = (int) Math.ceil(count / max);
|
||||
if (max <= 20) {
|
||||
price = 65;
|
||||
} else if (max <= 50) {
|
||||
price = 75;
|
||||
} else if (max <= 100) {
|
||||
price = 85;
|
||||
} else if (max <= 200) {
|
||||
price = 100;
|
||||
} else if (max <= 300) {
|
||||
price = 110;
|
||||
} else {
|
||||
price = 150;
|
||||
}
|
||||
if (max <= 200) {
|
||||
/*price = price + (num - 1) * 12;
|
||||
// if (num > 10) {
|
||||
// price = price + (num - 1) * 10;
|
||||
// } else {
|
||||
// price = price + (num - 1) * 20;
|
||||
// }*/
|
||||
if(num < 50) {
|
||||
price = price + (num - 1 ) * 12;
|
||||
}else if(num <= 100) {
|
||||
price = price + (num - 1 ) * 10;
|
||||
}else {
|
||||
price = price + (num - 1 ) * 6;
|
||||
}
|
||||
} else {
|
||||
if (num > 10) {
|
||||
price = price + (num - 1) * 10;
|
||||
} else {
|
||||
price = price + (num - 1) * 30;
|
||||
}
|
||||
}
|
||||
|
||||
pro.setCount(count);
|
||||
pro.setPrice(price);
|
||||
list.add(pro);
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user