Forráskód Böngészése

同步物流到微信

xdd 1 hónapja
szülő
commit
939a073b05

+ 40 - 0
fs-admin/src/main/java/com/fs/task/StoreTask.java

@@ -22,6 +22,8 @@ import com.fs.store.param.*;
 import com.fs.store.service.*;
 import com.fs.store.vo.FsUserShareVO;
 import com.fs.system.service.ISysConfigService;
+import com.fs.wx.domain.FsWxExpressTask;
+import com.fs.wx.mapper.FsWxExpressTaskMapper;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -101,6 +104,15 @@ public class StoreTask {
 
     @Autowired
     private IFsExpressService expressService;
+
+    @Autowired
+    private IFsStorePaymentService fsStorePaymentService;
+
+
+    @Autowired
+    private FsWxExpressTaskMapper fsWxExpressTaskMapper;
+
+
     /**
      * 发货任务
      */
@@ -430,12 +442,16 @@ public class StoreTask {
         }
     }
 
+
+
     /**
      * 更新发货状态
      */
     @QuartzRunnable(name = "发货任务")
     public void updateExpress() {
         List<FsStoreOrder> list = fsStoreOrderMapper.selectUpdateExpress();
+        List<FsWxExpressTask> tasks = new ArrayList<>();
+
         for (FsStoreOrder order : list) {
             ErpOrderQueryRequert request = new ErpOrderQueryRequert();
             request.setCode(order.getExtendOrderId());
@@ -456,10 +472,34 @@ public class StoreTask {
                                         delivery.getExpress_code(), delivery.getExpress_name());
                             }
                         }
+
+                        FsWxExpressTask fsWxExpressTask = new FsWxExpressTask();
+                        fsWxExpressTask.setUserId(order.getUserId());
+                        fsWxExpressTask.setStatus(0);
+                        fsWxExpressTask.setRetryCount(0);
+                        fsWxExpressTask.setCreateTime(LocalDateTime.now());
+                        fsWxExpressTask.setUpdateTime(LocalDateTime.now());
+                        fsWxExpressTask.setOrderCode(order.getOrderCode());
+
+                        List<FsStorePayment> fsStorePayments = fsStorePaymentService.selectFsStorePaymentByOrderIdNew(order.getId());
+                        if(CollectionUtils.isNotEmpty(fsStorePayments)){
+                            FsStorePayment fsStorePayment = fsStorePayments.get(0);
+                            fsWxExpressTask.setPayCode(fsStorePayment.getPayCode());
+                        }
+
+                        tasks.add(fsWxExpressTask);
+
                     }
                 }
             }
         }
+
+
+        if(CollectionUtils.isNotEmpty(tasks)){
+            fsWxExpressTaskMapper.insertBatch(tasks);
+        }
+
+
     }
 
 

+ 3 - 3
fs-admin/src/test/java/com/fs/company/controller/CompanyControllerTest.java

@@ -48,7 +48,7 @@ public class CompanyControllerTest {
     public void test(){
         UploadShippingInfoRequest request = new UploadShippingInfoRequest();
         OrderKey orderKey = new OrderKey();
-        orderKey.setTransactionId("4200002594202504182663638650");
+        orderKey.setTransactionId("4200002594202504182109677796");
         orderKey.setOrderNumberType(2);
         request.setOrderKey(orderKey);
         request.setLogisticsType(1);
@@ -56,14 +56,14 @@ public class CompanyControllerTest {
         request.setShippingList(Arrays.asList(ShippingItem.builder()
                         .expressCompany("SF")
                         .trackingNo("SF3172486548114")
-                        .contact(Contact.builder().consignorContact("13021971530").build())
+                        .contact(Contact.builder().consignorContact("17749925835").build())
                 .itemDesc("测试商品").build()));
         OffsetDateTime now = OffsetDateTime.now();
         DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
         String formattedTimestamp = now.format(formatter);
         request.setUploadTime(formattedTimestamp);
         Payer payer = new Payer();
-        payer.setOpenid("obmfC6y5ZOuvq9b4UlL7GUayuYQE");
+        payer.setOpenid("obmfC6_pHn2aLJ6Sm2PfQJvT2IIA");
         request.setPayer(payer);
         WeChatApiResponse weChatApiResponse = shippingService.uploadShippingInfo(request);
 

+ 0 - 13
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -315,19 +315,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
     }
 
-    public void test(){
-        OrderQueryRequest orderQueryRequest = new OrderQueryRequest();
-        orderQueryRequest.setAccount("37519015371852");
-        orderQueryRequest.setUpOrderId("91913098449039003648");
-        orderQueryRequest.setIsNeedUpInfo("1");
-
-        String sign = PayUtil.sign(orderQueryRequest.toSignMap());
-        orderQueryRequest.setSign(sign);
-
-        OrderQueryResponse orderQueryResponse = orderQueryService.queryOrder(orderQueryRequest);
-
-    }
-
     /**
      * 查询订单
      *

+ 19 - 0
fs-service-system/src/main/java/com/fs/wx/mapper/FsWxExpressTaskMapper.java

@@ -93,4 +93,23 @@ public interface FsWxExpressTaskMapper {
             "</foreach>" +
             "</script>")
     void batchUpdate(List<FsWxExpressTask> fsWxExpressTasks);
+
+    /**
+     * 批量插入新任务
+     * @param tasks 任务实体列表
+     * @return 影响行数 (Optional: change void to int if needed)
+     */
+    @Insert("<script>" +
+            "INSERT INTO fs_wx_express_task " +
+            "(order_code, user_id, data, status, retry_count, max_retries, request_params, request_body, response_body, error_message, create_time, update_time, pay_code) " +
+            "VALUES " +
+            "<foreach collection='tasks' item='task' separator=','>" +
+            "(" +
+            "#{task.orderCode}, #{task.userId}, #{task.data}, #{task.status}, #{task.retryCount}, #{task.maxRetries}, " + // Keep ::json if PostgreSQL
+            "#{task.requestParams}, #{task.requestBody}, #{task.responseBody}, #{task.errorMessage}, " +
+            "#{task.createTime}, #{task.updateTime},#{task.payCode}" +
+            ")" +
+            "</foreach>" +
+            "</script>")
+    void insertBatch(List<FsWxExpressTask> tasks);
 }