Commit 552d384a by 张洪涛

增加批量推单的接口

parent 2a8b2fb7
......@@ -21,7 +21,9 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List;
@Controller
......@@ -56,5 +58,15 @@ public class OrdersController {
// 修复sku
return ordersService.RepairByRightSku(orderProductDTO);
}
@ApiOperation("批量推单")
@PostMapping("/batchPush")
@ResponseBody
public BaseResponse batchPush(@RequestParam("file") MultipartFile file, @RequestParam("batchNumber") String batchNumber){
if(file == null || batchNumber.equals("")){
return new BaseResponse(ResponseCode.RESPONSE_CODE_101.getCode(),ResponseCode.RESPONSE_CODE_101.getMsg(),"1","请求参数不正确");
}
return ordersService.batchPush(file, batchNumber);
}
}
......@@ -13,6 +13,7 @@
package com.freemud.Service.Impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.Constant.ResponseCode;
import com.freemud.Mapper.OrderProductMapper;
import com.freemud.Service.OrdersService;
......@@ -28,6 +29,7 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
......@@ -79,6 +81,7 @@ public class OrdersServiceImpl implements OrdersService {
FileSystemResource resource = new FileSystemResource(file.getPath());
MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
param.add("file",resource);
log.info(">>>>>>>>>>>>>>请求参数:{}", param);
String code = "";
try {
code = restTemplate.postForObject(url,param,String.class);
......@@ -96,4 +99,56 @@ public class OrdersServiceImpl implements OrdersService {
}
@Override
public BaseResponse batchPush(MultipartFile file, String batchNumber) {
log.info("请求参数:batchNumber------------------>{}", batchNumber);
//导入Excel文件
BaseResponse importResult = remoteRequest(batchNumber, "import", file);
log.info("导入Excel结果----------------->{}", JSON.toJSONString(importResult));
if (importResult.getCode().equals(ResponseCode.RESPONSE_CODE_100)){
//处理对账的状态(初始化)
BaseResponse handleOrderExStatusResult = remoteRequest(batchNumber, "handleOrderExStatus", null);
log.info("》》》》》》》》》》》》》》》》处理对账的状态:{}", handleOrderExStatusResult);
if (handleOrderExStatusResult.getCode().equals(ResponseCode.RESPONSE_CODE_100)){
//推送订单
BaseResponse pushOrderResult = remoteRequest(batchNumber, "pushOrder", null);
log.info("》》》》》》》》》》》》》》》》推送订单的结果:{}", pushOrderResult);
if (pushOrderResult.getCode().equals(ResponseCode.RESPONSE_CODE_100)){
//获取订单的处理结果
BaseResponse getOrderHandleResult = remoteRequest(batchNumber, "getOrderHandleResult", null);
log.info("》》》》》》》》》》》》》》》》获取订单的处理结果:{}", getOrderHandleResult);
return getOrderHandleResult;
}
}
}
return new BaseResponse(ResponseCode.RESPONSE_CODE_102.getCode(),ResponseCode.RESPONSE_CODE_102.getMsg(),"1","推送失败,批次号不能重复"); }
/**
* 处理对账的状态(初始化)
* @param batchNumber
* @return
*/
private BaseResponse remoteRequest(String batchNumber, String urll, MultipartFile file) {
String url = RequestUrl + "/orderEx/" + urll;
MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
if (file != null){
param.add("file", file);
}
param.add("batchNumber", batchNumber);
log.info("{}接口请求参数》》》》》》》》{}", urll, param);
BaseResponse importResult = new BaseResponse();
try {
importResult.setCode("100");
importResult = restTemplate.postForObject(url, param, BaseResponse.class);
} catch (Exception e) {
log.error("调用{}接口出错》》》》》》》》》》{}",urll,e.fillInStackTrace());
importResult = new BaseResponse(ResponseCode.RESPONSE_CODE_102.getCode(),ResponseCode.RESPONSE_CODE_102.getMsg(),"1","调用"+urll+"接口出错");
}
return importResult;
}
}
......@@ -14,7 +14,9 @@ package com.freemud.Service;
import com.freemud.dto.BaseResponse;
import com.freemud.dto.OrderProductDTO;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List;
public interface OrdersService {
......@@ -28,4 +30,5 @@ public interface OrdersService {
BaseResponse RepairByRightSku(OrderProductDTO orderProductDTO);
BaseResponse batchPush(MultipartFile file, String batchNumber);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment