24282 8 månader sedan
förälder
incheckning
81bab518c4

+ 8 - 3
hx-admin/src/test/java/BootTest.java

@@ -2,7 +2,7 @@ import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.admin.BytesailingApplication;
 import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.victoriatourist.entity.jd.vo.JdInfoVo;
+import com.fjhx.victoriatourist.service.jd.JdOrderService;
 import com.fjhx.victoriatourist.service.jd.constants.RunParamConstant;
 import com.fjhx.victoriatourist.service.jd.impl.JdApiServiceImpl;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
@@ -30,6 +30,9 @@ public class BootTest {
     @Autowired
     private StockWaitServiceImpl stockWaitServiceImpl;
 
+    @Autowired
+    private JdOrderService jdOrderService;
+
     /**
      * 重新同步 同步异常的京东采购单
      */
@@ -39,7 +42,9 @@ public class BootTest {
         SecurityUtils.setTenantId(RunParamConstant.tenantId);
         DynamicDataSourceContextHolder.push(SourceConstant.VICTORIATOURIST);
 
-        jdApiServiceImpl.startJdOrder(new JdInfoVo());
+        //jdApiServiceImpl.startJdOrder(null,null, Collections.singletonList(78L));
+
+        jdOrderService.reacquire(00L);
 
         SecurityUtils.clearTenantId();
         DynamicDataSourceContextHolder.poll();
@@ -48,7 +53,7 @@ public class BootTest {
 
     @TenantIgnore
     @Test
-    public void test2(){
+    public void test2() {
         SecurityUtils.setTenantId(RunParamConstant.tenantId);
 
         StockWaitSelectDto dto = new StockWaitSelectDto();

+ 9 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderController.java

@@ -219,4 +219,13 @@ public class JdOrderController {
         jdOrderService.batchOutStock(file, warehouseId, outInfo);
     }
 
+
+    /**
+     * 重新获取京东订单
+     */
+    @PostMapping("/reacquire")
+    public void reacquire(@RequestBody BaseSelectDto dto) {
+        jdOrderService.reacquire(dto.getId());
+    }
+
 }

+ 8 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdApiService.java

@@ -3,6 +3,9 @@ package com.fjhx.victoriatourist.service.jd;
 import com.fjhx.victoriatourist.entity.jd.vo.JdInfoVo;
 import com.fjhx.victoriatourist.entity.jd.vo.TellBackOrderVO;
 
+import java.util.Date;
+import java.util.List;
+
 public interface JdApiService {
 
     JdInfoVo validJdInfo();
@@ -28,6 +31,11 @@ public interface JdApiService {
     void startJdOrder(JdInfoVo jdInfoVo) throws Exception;
 
     /**
+     * 开始京东订单采集
+     */
+    void startJdOrder(Date startTime, Date endTime, List<Long> orderIds) throws Exception;
+
+    /**
      * 开始京东退货单采集
      */
     void startJdBackOrder(JdInfoVo jdInfoVo) throws Exception;

+ 3 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdOrderService.java

@@ -87,4 +87,7 @@ public interface JdOrderService extends BaseService<JdOrder> {
      * 京东订单批量出库
      */
     void batchOutStock(MultipartFile file, Long warehouseId, JSONObject outInfo);
+
+    void reacquire(Long id);
+
 }

+ 8 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdApiServiceImpl.java

@@ -324,7 +324,14 @@ public class JdApiServiceImpl implements JdApiService {
             startTime = lastJdOrder.getCreatedDate();
         }
 
-        List<PurchaseOrderDto> purchaseOrderDtoList = getJdOrderInfo(startTime, endTime, null);
+        startJdOrder(startTime, endTime, null);
+
+    }
+
+    @DSTransactional
+    @Override
+    public void startJdOrder(Date startTime, Date endTime, List<Long> orderIds) throws Exception {
+        List<PurchaseOrderDto> purchaseOrderDtoList = getJdOrderInfo(startTime, endTime, orderIds);
 
         if (CollectionUtil.isEmpty(purchaseOrderDtoList)) {
             return;

+ 18 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
@@ -78,6 +79,7 @@ import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -1000,6 +1002,22 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         //wmsService.jdTellBackOrer(stockWaitDto);
     }
 
+    @Override
+    public void reacquire(Long id) {
+        JdOrder jdOrder = getById(id);
+        Assert.notEmpty(jdOrder, "未找到相关订单信息");
+
+        removeById(id);
+        jdOrderDetailsService.remove(q -> q.eq(JdOrderDetails::getJdOrderId, jdOrder.getId()));
+
+        try {
+            jdApiService.startJdOrder(null, null, Collections.singletonList(jdOrder.getOrderId()));
+        } catch (Exception e) {
+            log.error("重新同步京东订单失败", e);
+            throw new ServiceException("重新同步京东订单失败");
+        }
+    }
+
     private List<JdBatchOutStockBo> getJdBatchOutStockBos(List<Map<Integer, String>> list) {
         List<JdBatchOutStockBo> outList = new ArrayList<>();
         Object[] titles = null;