|
@@ -13,6 +13,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
|
import com.fs.erp.dto.*;
|
|
import com.fs.erp.dto.*;
|
|
|
|
|
+import com.fs.erp.dto.tl.JstLogisticsPushRequest;
|
|
|
import com.fs.erp.dto.tl.TlCreateOrderRequest;
|
|
import com.fs.erp.dto.tl.TlCreateOrderRequest;
|
|
|
import com.fs.erp.dto.tl.TlCreateOrderResponse;
|
|
import com.fs.erp.dto.tl.TlCreateOrderResponse;
|
|
|
import com.fs.erp.service.impl.JstTokenService;
|
|
import com.fs.erp.service.impl.JstTokenService;
|
|
@@ -69,6 +70,7 @@ public class JstErpHttpServiceImpl implements JstErpHttpService {
|
|
|
|
|
|
|
|
// 测试兔灵ERP
|
|
// 测试兔灵ERP
|
|
|
@Value("${jst.api.url:https://api.xiangyue.life/api}")
|
|
@Value("${jst.api.url:https://api.xiangyue.life/api}")
|
|
|
|
|
+ //@Value("${jst.api.url:https://papi.xiangyue.life/api}")
|
|
|
private String jstApiBaseUrl;
|
|
private String jstApiBaseUrl;
|
|
|
|
|
|
|
|
@Value("${jst.secret.key:xysync_dLsSaheCzK7RU9gd}")
|
|
@Value("${jst.secret.key:xysync_dLsSaheCzK7RU9gd}")
|
|
@@ -440,4 +442,30 @@ public class JstErpHttpServiceImpl implements JstErpHttpService {
|
|
|
}
|
|
}
|
|
|
return objectMapper.writeValueAsString(sortedList);
|
|
return objectMapper.writeValueAsString(sortedList);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public void processLogisticsPush(JstLogisticsPushRequest request) {
|
|
|
|
|
+ // 关键业务字段
|
|
|
|
|
+ String soId = request.getSoId(); // 外部单号
|
|
|
|
|
+ String lId = request.getLId(); // 物流单号
|
|
|
|
|
+ String lcId = request.getLcId(); // 快递公司编码
|
|
|
|
|
+ String sendDate = request.getSendDate();
|
|
|
|
|
+ log.info("【兔灵】物流单号推送: 外部单号:{}, 物流单号:{}, 快递公司编码:{}, 发送时间:{}", soId, lId, lcId, sendDate);
|
|
|
|
|
+
|
|
|
|
|
+ // TODO: 根据 soId 查询系统中的订单,并更新物流信息
|
|
|
|
|
+ // 示例伪代码:
|
|
|
|
|
+ // Order order = orderRepository.findBySoId(soId);
|
|
|
|
|
+ // if (order != null) {
|
|
|
|
|
+ // order.setLogisticsNo(lId);
|
|
|
|
|
+ // order.setLogisticsCompany(lcId);
|
|
|
|
|
+ // order.setShipTime(LocalDateTime.parse(sendDate, ...));
|
|
|
|
|
+ // orderRepository.save(order);
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
|
|
+ // 如果 items 有特殊用途(如分拣、库存核销),也可遍历处理
|
|
|
|
|
+ if (request.getItems() != null) {
|
|
|
|
|
+ request.getItems().forEach(item -> {
|
|
|
|
|
+ log.debug("商品项: skuId={}, qty={}", item.getSkuId(), item.getQty());
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|