wjj 1 nedēļu atpakaļ
vecāks
revīzija
73646138d6

+ 1 - 1
fs-service/src/main/java/com/fs/erp/service/TlErpOrderService.java

@@ -15,7 +15,7 @@ public interface TlErpOrderService {
      * @param request 请求参数
      * @return CommonResponse<AfterSaleResponseDTO>
      */
-    HttpResponse syncOrderToJst(TlCreateOrderRequest request);
+    Boolean syncOrderToJst(TlCreateOrderRequest request);
 
     /**
      * 聚水潭erp物流回调接口

+ 18 - 14
fs-service/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -194,9 +194,16 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
         }
         log.info("推送ERP参数: {}",JSON.toJSONString(shopOrderDTO));
-        ErpOrderResponseDTO upload = null;
+        ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
         if (order.getErpType() == null || order.getErpType() == 1) {
-            upload = jstErpHttpService.upload(shopOrderDTO);
+            ErpOrderResponseDTO upload = jstErpHttpService.upload(shopOrderDTO);
+            ErpOrderResponseDTO.OrderData orderData = upload.getDatas().get(0);
+            erpOrderResponse.setSuccess(true);
+            erpOrderResponse.setCode(String.valueOf(orderData.getOId()));
+            if(CollectionUtils.isEmpty(upload.getDatas())) {
+                log.info("推送ERP返回结果: {}",upload);
+                throw new IllegalArgumentException("推送ERP返回数不应该为0");
+            }
         } else if (order.getErpType() == 2) {
             TlCreateOrderRequest request = new TlCreateOrderRequest();
             request.setData(Arrays.asList(toTlOrderItem(shopOrderDTO)));
@@ -205,19 +212,16 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
             TlOptions options = new TlOptions();
             options.setJstServerId(1);
             request.setOptions(options);
-            HttpResponse response = tlErpOrderService.syncOrderToJst(request);
-            upload = parseResponse(response,  new TypeReference<CommonResponse<ErpOrderResponseDTO>>() {});
-        }
-
-        if(CollectionUtils.isEmpty(upload.getDatas())) {
-            log.info("推送ERP返回结果: {}",upload);
-            throw new IllegalArgumentException("推送ERP返回数不应该为0");
+            Boolean syncedOrderToJst = tlErpOrderService.syncOrderToJst(request);
+            if (syncedOrderToJst){
+                erpOrderResponse.setSuccess(true);
+                erpOrderResponse.setCode("兔灵ERP");
+            } else {
+                erpOrderResponse.setSuccess(false);
+            }
+            //HttpResponse response = tlErpOrderService.syncOrderToJst(request);
+            //upload = parseResponse(response,  new TypeReference<CommonResponse<ErpOrderResponseDTO>>() {});
         }
-        ErpOrderResponseDTO.OrderData orderData = upload.getDatas().get(0);
-
-        ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
-        erpOrderResponse.setSuccess(true);
-        erpOrderResponse.setCode(String.valueOf(orderData.getOId()));
         return erpOrderResponse;
     }
 

+ 2 - 2
fs-service/src/main/java/com/fs/erp/service/impl/TlErpOrderServiceImpl.java

@@ -34,7 +34,7 @@ public class TlErpOrderServiceImpl implements TlErpOrderService {
             .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);
 
     @Override
-    public HttpResponse syncOrderToJst(TlCreateOrderRequest request) {
+    public Boolean syncOrderToJst(TlCreateOrderRequest request) {
         try {
             String corpId = request.getCorpId();
             List<?> rawData = request.getData();
@@ -84,7 +84,7 @@ public class TlErpOrderServiceImpl implements TlErpOrderService {
                 throw new RuntimeException("【兔灵】同步订单失败: " + (errmsg != null ? errmsg : "未知错误"));
             }
             log.info("订单同步到【兔灵】成功!{}",result);
-            return response;
+            return true;
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

+ 1 - 1
fs-service/src/main/java/com/fs/erp/utils/TlOrderConverter.java

@@ -20,7 +20,7 @@ public class TlOrderConverter {
         TlOrderItem item = new TlOrderItem();
 
         // 基础字段
-        item.setShopId(safeLongToInt(shopOrder.getShopId()));
+        item.setShopId(19415819);
         item.setSoId(shopOrder.getSoId());
         item.setOrderDate(convertLocalToUtcIso(shopOrder.getOrderDate()));
         item.setShopStatus(shopOrder.getShopStatus());

+ 10 - 4
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -2394,6 +2394,13 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         if (order == null) {
             return;
         }
+        FsPackageOrder fsPackageOrder = fsPackageOrderMapper.selectByOderCode(order.getOrderCode());
+        if (fsPackageOrder == null) {
+            return;
+        }
+        FsPackage fsPackage = JSONUtil.toBean(fsPackageOrder.getPackageJson(), FsPackage.class);
+        //获取ERP类型 1-聚水潭 2-兔灵
+        erpOrder.setErpType(fsPackage.getErpType());
 
         if (order.getCompanyId() != null) {
             erpOrder.setVip_code(order.getUserId().toString() + order.getCompanyId().toString());
@@ -2568,16 +2575,15 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             PrescribeImg = fsPrescribeService.PrescribeImgYsy(order.getPrescribeId());
         }
         erpOrder.setSeller_memo(erpOrder.getSeller_memo() + "||" + PrescribeImg + "||");
-        erpOrder.setErpType(2);
         ErpOrderResponse response = erpOrderService.addOrder(erpOrder);
         log.info("ErpCreate:" + order.getOrderCode() + ":" + JSONUtil.toJsonStr(response));
         if (Boolean.TRUE.equals(response.getSuccess())) {
-            //支付成功后 将订单号写入待发货的REDIS中
-            redisCache.setCacheObject("delivery" + ":" + response.getCode(), order.getOrderCode());
             //写入外部订单号
-            if (erpType == 2) {
+            if (fsPackage.getErpType() == 2) {
                 order.setExtendOrderId(order.getOrderCode());
             } else {
+                //支付成功后 将订单号写入待发货的REDIS中
+                redisCache.setCacheObject("delivery" + ":" + response.getCode(), order.getOrderCode());
                 order.setExtendOrderId(response.getCode());
             }
             fsStoreOrderMapper.updateFsStoreOrder(order);