|
@@ -33,7 +33,13 @@ import com.iamberry.rst.service.order.mapper.ProvincesLogisticsMapper;
|
|
|
import com.iamberry.rst.service.product.mapper.ProductMapper;
|
|
|
import com.iamberry.rst.service.sys.mapper.SysConfigMapper;
|
|
|
import com.iamberry.rst.util.PageUtil;
|
|
|
+import com.iamberry.rst.util.TaobaoConfig;
|
|
|
import com.iamberry.wechat.tools.DateTimeUtil;
|
|
|
+import com.taobao.api.ApiException;
|
|
|
+import com.taobao.api.DefaultTaobaoClient;
|
|
|
+import com.taobao.api.TaobaoClient;
|
|
|
+import com.taobao.api.request.AlibabaAscpLogisticsOfflineSendRequest;
|
|
|
+import com.taobao.api.response.AlibabaAscpLogisticsOfflineSendResponse;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
@@ -2212,6 +2218,36 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
if (!orderSyncLogService.syncXYTOrderShip(new Integer[]{o.getSalesId()})) {
|
|
|
throw new RuntimeException("订单" + o.getSalesId() + "向小亚通发货失败,请查询订单状态");
|
|
|
}
|
|
|
+ SalesOrder salesOrder = salesOrderService.getSalesOrderByIdConcise(o.getSalesId());
|
|
|
+ if (salesOrder.getSalesBatchId().startsWith("ST")) {
|
|
|
+ // 淘宝订单发货
|
|
|
+ List<SalesOrderItem> salesOrderItemList = salesOrderService.getOrderItemListBySalesId(o.getSalesId());
|
|
|
+ String oid = "";
|
|
|
+ int size = salesOrderItemList.size() - 1;
|
|
|
+ for (int i = 0; i < salesOrderItemList.size(); i++) {
|
|
|
+ oid += salesOrderItemList.get(i).getItemOtherId();
|
|
|
+ if (i != (size)) {
|
|
|
+ oid += ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ TaobaoClient client = new DefaultTaobaoClient(TaobaoConfig.TAOBAO_URL, TaobaoConfig.appkey, TaobaoConfig.secret);
|
|
|
+ AlibabaAscpLogisticsOfflineSendRequest req = new AlibabaAscpLogisticsOfflineSendRequest();
|
|
|
+ req.setTid(salesOrder.getSalesOrderId());
|
|
|
+ req.setSubTid(oid);
|
|
|
+ List<AlibabaAscpLogisticsOfflineSendRequest.TopConsignPkgRequest> list2 = new ArrayList<AlibabaAscpLogisticsOfflineSendRequest.TopConsignPkgRequest>();
|
|
|
+ AlibabaAscpLogisticsOfflineSendRequest.TopConsignPkgRequest obj3 = new AlibabaAscpLogisticsOfflineSendRequest.TopConsignPkgRequest();
|
|
|
+ list2.add(obj3);
|
|
|
+ obj3.setOutSid(o.getSalesPostNum());
|
|
|
+ obj3.setCompanyCode(salesOrder.getSalesPostFirm());
|
|
|
+ req.setConsignPkgs(list2);
|
|
|
+ try {
|
|
|
+ AlibabaAscpLogisticsOfflineSendResponse rsp = client.execute(req, (String) TaobaoConfig.getToken().get("token"));
|
|
|
+ logger.info("", rsp.getBody());
|
|
|
+ } catch (ApiException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
// 添加订单追踪信息
|
|
|
OrderTracking orderTracking = new OrderTracking();
|
|
|
orderTracking.setAdminId(currAdmin);
|