Procházet zdrojové kódy

解决无法同步小亚通的发货信息的问题

xian před 5 roky
rodič
revize
535195e2f7

+ 7 - 7
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -1345,25 +1345,25 @@
           sales_return_status = #{salesReturnStatus},
       </if >
       <if test="salesAddressPostcode != null and salesAddressPostcode != ''">
-          sales_address_postcode = #{salesAddressPostcode}
+          sales_address_postcode = #{salesAddressPostcode},
       </if >
       <if test="salesIsSublist != null and salesIsSublist != ''">
-          sales_is_sublist = #{salesIsSublist}
+          sales_is_sublist = #{salesIsSublist},
       </if >
       <if test="salesBelongOrderId != null and salesBelongOrderId != ''">
-          sales_belong_orderId = #{salesBelongOrderId}
+          sales_belong_orderId = #{salesBelongOrderId},
       </if >
       <if test="orderCaseDate != null and orderCaseDate != ''">
-          order_case_date = #{orderCaseDate}
+          order_case_date = #{orderCaseDate},
       </if >
       <if test="salesIsShip != null">
-          sales_is_ship = #{salesIsShip}
+          sales_is_ship = #{salesIsShip},
       </if >
       <if test="salesWarrantyStatus != null">
-          sales_warranty_status = #{salesWarrantyStatus}
+          sales_warranty_status = #{salesWarrantyStatus},
       </if >
       <if test="salesProcessRefund != null">
-          sales_process_refund = #{salesProcessRefund}
+          sales_process_refund = #{salesProcessRefund},
       </if >
       <if test="salesDeliver != null">
           sales_deliver = #{salesDeliver}

+ 2 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java

@@ -517,7 +517,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
 
                         //订单状态::0 待支付;10 待成团;20 待发货;30 预售中;40 待审批;50 仓库代发货;60 已发货;70 已签收;80 已拒收;999 已作废
                         Integer orderStatus = infoObj.getInt("orderStatus");
-                        if (60 == orderStatus) {
+                        if (60 == orderStatus || orderStatus == 70) {
                             JSONArray logisticsArray = null;
                             if(job.has("logistics")){
                                 logisticsArray = job.getJSONArray("logistics");
@@ -553,6 +553,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                             so.setSalesStatus(1);
                             so.setSalesShippingStatus(1);
                             so.setSalesDeliver(2);
+                            so.setOrderCaseDate(sdf.parse(deliveryTime));
                             so.setSalesDeliverTime(sdf.parse(deliveryTime));
                             Integer res = salesOrderMapper.updateSalesOrder(so);
                             if(res > 0){

+ 7 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -637,14 +637,17 @@ public class MQTask implements InitializingBean {
 	 * 同步拉取京东自发订单的发货单号
 	 */
 //	@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
-	@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
+	@Scheduled(fixedDelay = 3_600_000, initialDelay = 3_000)//每小时执行一次
 	public void syncXytOrderPostNum(){
 		logger.info("-----定时拉取拉取京东自发订单的发货状态-开始----");
 		SalesOrder salesOrder = new SalesOrder();
-		salesOrder.setSalesStatus(4);
+//		salesOrder.setSalesStatus(4);
+		salesOrder.setSalesSendType(3);
 		List<SalesOrder> salesOrderList = salesOrderService.getSalesOrderListConcise(salesOrder);
 		for (SalesOrder so:salesOrderList) {
-			orderSyncLogService.syncXYTOrderPostNum(so.getSalesId());
+			if (so.getOrderCaseDate() == null) {
+				orderSyncLogService.syncXYTOrderPostNum(so.getSalesId());
+			}
 		}
 		logger.info("-----定时拉取拉取京东自发订单的发货状态-结束----");
 	}
@@ -652,7 +655,7 @@ public class MQTask implements InitializingBean {
 	/**
 	 * 同步拉取京东自发订单的发货单号
 	 */
-	@Scheduled(cron = "0 0 4 * * ?")//每天上午午4点触发
+	@Scheduled(fixedDelay = 3_600_000, initialDelay = 3_000)//每小时执行一次
 	public void syncXytOrderByJd(){
 		logger.info("-----定时拉取拉取京东仓已发货订单-开始----");
 		Integer flag = orderSyncLogService.syncXYTOrderByJD(1);