|
@@ -24,10 +24,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Controller - 第三方设备管理
|
|
@@ -54,7 +51,8 @@ public class ProductController extends BaseController {
|
|
|
Double f=0.00;
|
|
|
int num=0;
|
|
|
int n=0;
|
|
|
- List<Double> price = new ArrayList<Double>();
|
|
|
+ HashSet<Double> price = new HashSet<Double>();
|
|
|
+ HashSet<Double> minprice = new HashSet<Double>();
|
|
|
List<ProductVo> list = new ArrayList<>();
|
|
|
for (Map<String,String> map:products) {
|
|
|
Product product = new Product();
|
|
@@ -107,38 +105,46 @@ public class ProductController extends BaseController {
|
|
|
//价格和平台分销比例要大于0
|
|
|
if(pricePro>0&&rmbPrice>0){
|
|
|
//重新设定价格后平台收入和平台最低收入比较
|
|
|
- if(rmbPrice*pricePro<minProportion){
|
|
|
- num++;
|
|
|
+ Double latePrice = rmbPrice-(tran2(provincePrice)+tran2(cityPrice)+tran2(personPrice));
|
|
|
+ if(tran(latePrice)<minProportion){
|
|
|
+ if(rmbPrice*pricePro>minProportion){
|
|
|
+ n++;
|
|
|
+ price.add(rmbPrice);
|
|
|
+ continue;
|
|
|
+ }else{
|
|
|
+ num++;
|
|
|
+ minprice.add(rmbPrice);
|
|
|
+ }
|
|
|
//保留4位小数点
|
|
|
BigDecimal b = new BigDecimal(minProportion/pricePro);
|
|
|
Double d = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
//最低价格f
|
|
|
Double testPrice = d-(tran2(d*provinceProportion)+tran2(d*cityProportion)+tran2(d*personProportion));
|
|
|
if(tran(testPrice)>=0.01){
|
|
|
- f=d;
|
|
|
+ f=tran(d);
|
|
|
}else {
|
|
|
for(int i=0;i<=100;i++){
|
|
|
- d+=0.1;
|
|
|
+ d+=0.01;
|
|
|
Double pricecd = d-(tran2(d*provinceProportion)+tran2(d*cityProportion)+tran2(d*personProportion));
|
|
|
if(tran(pricecd)>=0.01){
|
|
|
- f=d;
|
|
|
+ f=tran(d);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
continue;
|
|
|
}
|
|
|
- Double testPrice = rmbPrice-(tran2(provincePrice)+tran2(cityPrice)+tran2(personPrice));
|
|
|
- testPrice= new BigDecimal(testPrice).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
- //判断本次价格设定是否合理
|
|
|
- if(testPrice<0.01){
|
|
|
- n++;
|
|
|
- if(rmbPrice!=null){
|
|
|
- price.add(rmbPrice);
|
|
|
- }
|
|
|
-
|
|
|
- continue;
|
|
|
- }
|
|
|
+// Double testPrice = rmbPrice-(tran2(provincePrice)+tran2(cityPrice)+tran2(personPrice));
|
|
|
+// testPrice= new BigDecimal(testPrice).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
+// //判断本次价格设定是否合理
|
|
|
+// if(testPrice<0.01){
|
|
|
+// n++;
|
|
|
+// if(rmbPrice!=null){
|
|
|
+// price.add(rmbPrice);
|
|
|
+// }
|
|
|
+//
|
|
|
+// continue;
|
|
|
+// }
|
|
|
}
|
|
|
productService.update(product1, "equipmentId", "productName", "sellStatus");
|
|
|
productVo.setId(map.get("id"));
|
|
@@ -152,13 +158,13 @@ public class ProductController extends BaseController {
|
|
|
if(num>0 || n>0){
|
|
|
String errorData=null;
|
|
|
if(num>0 && n==0){
|
|
|
- errorData = "最低价格为"+f+"元,或者设为0元。有"+num+"处价低于"+f;
|
|
|
+ errorData = "建议测试价格为"+f+"元,或者设为0元。价格"+minprice.toString()+"设置不通过";
|
|
|
}
|
|
|
if(num==0 && n>0){
|
|
|
errorData = "价格"+price.toString()+"设置不通过,请尽量提高价格";
|
|
|
}
|
|
|
if(num>0&&n>0){
|
|
|
- errorData ="最低价格为"+f+"元,或者设为0元。有"+num+"处价低于"+f+"。并有价格"+price.toString()+"设置不通过,请尽量提高价格";
|
|
|
+ errorData ="建议测试价格为"+f+"元,或者设为0元。价格"+minprice.toString()+"设置不通过。并有价格"+price.toString()+"设置不通过,请尽量提高价格";
|
|
|
}
|
|
|
ERROR_MESSAGE.setContent(errorData);
|
|
|
addFlashMessage(redirectAttributes, ERROR_MESSAGE);
|