|
@@ -51,6 +51,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.*;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.*;
|
|
|
|
|
|
/**
|
|
|
* 订单信息
|
|
@@ -2228,11 +2229,11 @@ public class AdminSalesOrderController {
|
|
|
@RequestMapping("/uploadPostageExcel")
|
|
|
@ResponseBody
|
|
|
public String uploadPostageExcel(HttpServletResponse response,HttpServletRequest request,@RequestParam("file") String file)throws IOException {
|
|
|
- Integer maxNumber = 1000;
|
|
|
+ Integer maxNumber = 5000;
|
|
|
String path = request.getServletContext().getRealPath(file);
|
|
|
boolean flag = ExcelUtil.readExcelNumber(path,maxNumber);
|
|
|
if(!flag){
|
|
|
- return "最大上传数量为1000条,请检查文档内的数据是否符合条件!";
|
|
|
+ return "最大上传数量为5000条,请检查文档内的数据是否符合条件!";
|
|
|
}
|
|
|
List<String> listString = ExcelUtil.readExcelHead(path);
|
|
|
if(listString == null){
|
|
@@ -2248,30 +2249,24 @@ public class AdminSalesOrderController {
|
|
|
if( orderNumbers.size() != costs.size()){
|
|
|
return "数据不合格,请检查文档内的数据是否正常!";
|
|
|
}
|
|
|
- SalesOrder salesOrder = new SalesOrder();
|
|
|
- int success = 0,error = 0;
|
|
|
- ArrayList<String> errorOrders = new ArrayList<>(costs.size());
|
|
|
- for (int i = 0;i< orderNumbers.size();i++){
|
|
|
- if( orderNumbers.get(i) != null && !"".equals(orderNumbers.get(i)) && costs.get(i) != null && !"".equals(costs.get(i))){
|
|
|
- salesOrder.setSalesPostNum(orderNumbers.get(i));
|
|
|
- Double co = Double.parseDouble(costs.get(i)) * 100;
|
|
|
- Integer rentCount = co.intValue();
|
|
|
- salesOrder.setSalesPostageCost(rentCount);
|
|
|
- Integer msg = salesOrderService.updateSalesOrderBySalesPostNum(salesOrder);
|
|
|
- if(msg > 0){
|
|
|
- success++;
|
|
|
- }else{
|
|
|
- errorOrders.add(orderNumbers.get(i));
|
|
|
- error++;
|
|
|
+
|
|
|
+ THREAD_POOL.execute(() -> {
|
|
|
+ SalesOrder salesOrder = new SalesOrder();
|
|
|
+ for (int i = 0;i< orderNumbers.size();i++){
|
|
|
+ if( orderNumbers.get(i) != null && !"".equals(orderNumbers.get(i)) && costs.get(i) != null && !"".equals(costs.get(i))){
|
|
|
+ salesOrder.setSalesPostNum(orderNumbers.get(i));
|
|
|
+ Double co = Double.parseDouble(costs.get(i)) * 100;
|
|
|
+ Integer rentCount = co.intValue();
|
|
|
+ salesOrder.setSalesPostageCost(rentCount);
|
|
|
+ salesOrderService.updateSalesOrderBySalesPostNum(salesOrder);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- String data = "上传完成,成功:"+success+"条,失败:"+error+"条";
|
|
|
- if(error > 0){
|
|
|
- data = data+errorOrders.toString();
|
|
|
- }
|
|
|
- return data;
|
|
|
+ });
|
|
|
+ return "上传完成,成功!";
|
|
|
}
|
|
|
+
|
|
|
+ private static final ThreadPoolExecutor THREAD_POOL = new ThreadPoolExecutor(5, 10, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(100), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
|
|
|
+
|
|
|
/**
|
|
|
* 进入添加拉货数量
|
|
|
* @param request
|