Explorar el Código

推送erp 下单时间异常修复订单 旺店通版

xgb hace 3 semanas
padre
commit
afd3e3684c

+ 1 - 1
fs-admin/src/main/java/com/fs/hisStore/task/MallStoreTask.java

@@ -222,7 +222,7 @@ public class MallStoreTask
                         for(ErpDeliverys delivery:orderQuery.getDeliverys()){
                             if(delivery.getDelivery()&&StringUtils.isNotEmpty(delivery.getMail_no())){
                                 //更新商订单状态 删除REDIS
-                                orderService.deliveryOrder(order.getOrderCode(),order.getExtendOrderId(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
+                                orderService.deliveryOrder(order.getOrderCode(),order.getExtendOrderId(),delivery,orderQuery.getConsignTime());
                                 redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
                             }
                         }

+ 72 - 30
fs-company/src/main/java/com/fs/company/controller/common/CommonController.java

@@ -6,6 +6,7 @@ import com.fs.common.constant.Constants;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
 import com.fs.common.exception.file.OssException;
+import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.file.FileUploadUtils;
@@ -53,6 +54,7 @@ import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -99,6 +101,7 @@ public class CommonController
 
     @Autowired
     private TokenService tokenService;
+
 //    @Autowired
 //    private TestTwoService testService2;
 ////
@@ -113,43 +116,82 @@ public class CommonController
     @Autowired
     private WdtTwoErpGoodsServiceImpl wdtTwoErpGoodsService;
 
+//    @GetMapping("common/test")
+//    public R test(String barcode) throws Exception
+//    {
+////        qwWorkTaskService.delQwWorkTaskByOver();
+//      //  qwWorkTaskService.addQwWorkByFirstCourse();
+////        qwWorkTaskService.addQwWorkByCourse();
+////        qwWorkTaskService.addQwWorkByConversionDay();
+//        List<FsStoreOrderScrm> list = fsStoreOrderMapper.selectUpdateExpress();
+//        for (FsStoreOrderScrm order : list){
+//            if(!"2016767346466619392".equals(order.getExtendOrderId())){
+//                continue;
+//            }
+//
+//            ErpOrderQueryRequert request = new ErpOrderQueryRequert();
+//            request.setCode(order.getExtendOrderId());
+//            IErpOrderService erpOrderService = getErpOrderService();
+//            ErpOrderQueryResponse response = erpOrderService.getOrder(request);
+//            if(response.getOrders()!=null&&response.getOrders().size()>0){
+//                for(ErpOrderQuery orderQuery : response.getOrders()){
+//                    if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
+//                        for(ErpDeliverys delivery:orderQuery.getDeliverys()){
+//                            if(delivery.getDelivery()&& org.apache.commons.lang3.StringUtils.isNotEmpty(delivery.getMail_no())){
+//                                //更新商订单状态 删除REDIS
+//                                orderService.deliveryOrder(order.getOrderCode(),order.getExtendOrderId(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
+////                                redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
+//                            }
+//                        }
+//
+//                    }
+//                }
+//
+//            }
+//
+//        }
+//
+//
+//      return R.ok();
+//    }
+
+
+//    @GetMapping("common/test")
+//    public R test(String barcode) throws Exception
+//    {
+//
+//
+//            ErpOrderQueryRequert request = new ErpOrderQueryRequert();
+//            request.setCode(barcode);
+//            IErpOrderService erpOrderService = getErpOrderService();
+//            ErpOrderQueryResponse response = erpOrderService.getOrder(request);
+//
+//            log.info("查询结果:{}",response);
+//
+//        return R.ok();
+//    }
+
     @GetMapping("common/test")
-    public R test(String barcode) throws Exception
+    public R test(String id,String barcode) throws Exception
     {
-//        qwWorkTaskService.delQwWorkTaskByOver();
-      //  qwWorkTaskService.addQwWorkByFirstCourse();
-//        qwWorkTaskService.addQwWorkByCourse();
-//        qwWorkTaskService.addQwWorkByConversionDay();
-        List<FsStoreOrderScrm> list = fsStoreOrderMapper.selectUpdateExpress();
-        for (FsStoreOrderScrm order : list){
-            if(!"2016767346466619392".equals(order.getExtendOrderId())){
-                continue;
-            }
 
-            ErpOrderQueryRequert request = new ErpOrderQueryRequert();
-            request.setCode(order.getExtendOrderId());
-            IErpOrderService erpOrderService = getErpOrderService();
-            ErpOrderQueryResponse response = erpOrderService.getOrder(request);
-            if(response.getOrders()!=null&&response.getOrders().size()>0){
-                for(ErpOrderQuery orderQuery : response.getOrders()){
-                    if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
-                        for(ErpDeliverys delivery:orderQuery.getDeliverys()){
-                            if(delivery.getDelivery()&& org.apache.commons.lang3.StringUtils.isNotEmpty(delivery.getMail_no())){
-                                //更新商订单状态 删除REDIS
-                                orderService.deliveryOrder(order.getOrderCode(),order.getExtendOrderId(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
-//                                redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
-                            }
-                        }
-
-                    }
-                }
 
-            }
+        orderService.getErpOrderDeliverySendTime(Long.parseLong(id),barcode);
 
-        }
+        return R.ok();
+    }
+
+
+
+
+
+    public static void main(String[] args) {
+        // 时间差转换时间
+        String time="1769931653000";
+        long timeLong = Long.parseLong(time);
+        System.out.println(new Date(timeLong));
 
 
-      return R.ok();
     }
 
     private IErpOrderService getErpOrderService(){

+ 3 - 3
fs-service/src/main/java/com/fs/erp/service/impl/WdtTwoErpOrderServiceImpl.java

@@ -169,8 +169,8 @@ public class WdtTwoErpOrderServiceImpl implements IErpOrderService {
         rawTrade.setPlatformCost(BigDecimal.ZERO);
         // 发票类别 0:不需要,1:普通发票,2:增值税普通发票电子,3:增值税普通发票纸质,4:增值税专用发票
 //        rawTrade.setInvoiceType();
-        // 发票内容
-//        rawTrade.setInvoiceContent("");
+        // 线下支付金额 发票内容
+        rawTrade.setInvoiceContent(String.valueOf(fsStoreOrder.getOfflinePayAmount()));
         // 物流类别
 //        rawTrade.setLogisticsType();
         // 物流编号
@@ -450,7 +450,7 @@ public class WdtTwoErpOrderServiceImpl implements IErpOrderService {
         }
 
         if(order.getConsignTime() != null){
-            // todo
+            erpOrderQuery.setConsignTime(new Date(Long.parseLong(order.getConsignTime())));
         }
 
         // 物流信息

+ 3 - 1
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -2,6 +2,7 @@ package com.fs.hisStore.service;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -11,6 +12,7 @@ import com.fs.api.vo.OrderListVO;
 import com.fs.common.core.domain.R;
 import com.fs.company.domain.CompanyUser;
 import com.fs.course.dto.FsOrderDeliveryNoteDTO;
+import com.fs.erp.domain.ErpDeliverys;
 import com.fs.erp.domain.ErpOrder;
 import com.fs.his.param.FsStoreOrderSalesParam;
 import com.fs.his.vo.FsStoreOrderExcelVO;
@@ -107,7 +109,7 @@ public interface IFsStoreOrderScrmService
 
     void refundOrder(Long orderId);
 
-    void deliveryOrder(String orderCode,String extendOrderId,String deliveryId,String deliverCode,String deliverName);
+    void deliveryOrder(String orderCode, String extendOrderId, ErpDeliverys delivery, Date consignTime);
 
     void updateDeliveryOrder(Long id,String deliveryId,String deliverCode,String deliverName);
 

+ 44 - 18
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -1145,7 +1145,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
     }
 
     @Override
-    public void deliveryOrder(String orderCode,String extendOrderId, String deliveryId, String deliverCode, String deliverName) {
+    public void deliveryOrder(String orderCode, String extendOrderId, ErpDeliverys delivery, Date consignTime) {
         FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
         if (order != null && order.getStatus() == OrderInfoEnum.STATUS_1.getValue()) {
             // 查询订单出库时间
@@ -1161,13 +1161,13 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
 //                }
 //            }
 
-            FsExpressScrm express = expressService.selectFsExpressByOmsCode(deliverCode);
+            FsExpressScrm express = expressService.selectFsExpressByOmsCode(delivery.getExpress_code());
             if (express != null) {
-                order.setDeliveryName(deliverName);
+                order.setDeliveryName(delivery.getExpress_name());
                 order.setDeliverySn(express.getCode());
             }
             order.setStatus(OrderInfoEnum.STATUS_2.getValue());
-            order.setDeliveryId(deliveryId);
+            order.setDeliveryId(delivery.getMail_no());
 //            if(StringUtils.isEmptconsignTime)){
 //                // 后期优化
 //                logger.info("发货时间为空更新为当前时间,订单:{}",orderCode);
@@ -1175,8 +1175,12 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
 //            }else {
 //                order.setDeliverySendTime(DateUtils.parseDate(consignTime));
 //            }
+            // 定时每2小时同步物流信息
+            if(consignTime!=null){
+                order.setDeliverySendTime(consignTime);
+            }
+
             // todo 后面优化
-            order.setDeliverySendTime(new Date());
             // 定时每2小时同步物流信息
 //            if(StringUtils.isNotBlank(consignTime) && !consignTime.startsWith("0000")){
 //                order.setDeliverySendTime(DateUtils.parseDate(consignTime));
@@ -3865,23 +3869,45 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
      */
     @Override
     public void getErpOrderDeliverySendTime(Long id, String extendOrderId) {
-        ErpOrderQueryRequert param=new ErpOrderQueryRequert();
-        param.setCode(extendOrderId);
-        Map<String, Object> result=wdtOrderService.stockOutOrderQueryTrade(param);
-        List<Map<String, Object>> stockoutList=(List<Map<String, Object>>) result.get("stockout_list");
-        String consignTime=null;
-        if(stockoutList!=null&& !stockoutList.isEmpty()){
-            if(stockoutList.get(0).get("consign_time")!=null){
-                consignTime = stockoutList.get(0).get("consign_time").toString();
-                log.info("主键id{},发货时间:{}",id,consignTime);
-                if(StringUtils.isNotBlank(consignTime) && !consignTime.startsWith("0000")){
-                    FsStoreOrderScrm order=new FsStoreOrderScrm();
+        // 企业版
+//        ErpOrderQueryRequert param=new ErpOrderQueryRequert();
+//        param.setCode(extendOrderId);
+//        Map<String, Object> result=wdtTwoOrderService.stockOutOrderQueryTrade(param);
+//        List<Map<String, Object>> stockoutList=(List<Map<String, Object>>) result.get("stockout_list");
+//        String consignTime=null;
+//        if(stockoutList!=null&& !stockoutList.isEmpty()){
+//            if(stockoutList.get(0).get("consign_time")!=null){
+//                consignTime = stockoutList.get(0).get("consign_time").toString();
+//                log.info("主键id{},发货时间:{}",id,consignTime);
+//                if(StringUtils.isNotBlank(consignTime) && !consignTime.startsWith("0000")){
+//                    FsStoreOrderScrm order=new FsStoreOrderScrm();
+//                    order.setId(id);
+//                    order.setDeliverySendTime(DateUtils.parseDate(consignTime));
+//                    fsStoreOrderMapper.updateFsStoreOrder(order);
+//                }
+//            }
+//        }
+
+        // 旗舰版
+
+        ErpOrderQueryRequert request = new ErpOrderQueryRequert();
+        request.setCode(extendOrderId);
+        IErpOrderService erpOrderService = getErpService();
+        ErpOrderQueryResponse response = erpOrderService.getOrder(request);
+        if (response.getOrders() != null && !response.getOrders().isEmpty()) {
+            ErpOrderQuery erpOrderQuery = response.getOrders().get(0);
+            if(erpOrderQuery.getConsignTime()!=null){
+                FsStoreOrderScrm order=new FsStoreOrderScrm();
                     order.setId(id);
-                    order.setDeliverySendTime(DateUtils.parseDate(consignTime));
+                    order.setDeliverySendTime(erpOrderQuery.getConsignTime());
                     fsStoreOrderMapper.updateFsStoreOrder(order);
-                }
             }
+
         }
+
+
+
+
     }
 
     @Override