diff --git a/BBWY.Server.API/Controllers/OrderSyncController.cs b/BBWY.Server.API/Controllers/OrderSyncController.cs
index 30ce2de9..7185a235 100644
--- a/BBWY.Server.API/Controllers/OrderSyncController.cs
+++ b/BBWY.Server.API/Controllers/OrderSyncController.cs
@@ -53,9 +53,19 @@ namespace BBWY.Server.API.Controllers
///
///
[HttpPost]
- public void SyncOrderByDate([FromBody]SyncOrderByDateRequest syncOrderByDateRequest)
- {
+ public void SyncOrderByDate([FromBody] SyncOrderByDateRequest syncOrderByDateRequest)
+ {
orderSyncBusiness.SyncOrderByDate(syncOrderByDateRequest);
}
+
+ ///
+ /// 订单推送
+ ///
+ ///
+ [HttpPost]
+ public void OrderPublish([FromBody] OrderPublishRequest request)
+ {
+ orderSyncBusiness.OrderPublish(request);
+ }
}
}
diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
index 30624f47..f4c2cd28 100644
--- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
@@ -28,6 +28,7 @@ namespace BBWY.Server.Business
private IMemoryCache memoryCache;
+
public OrderSyncBusiness(RestApiService restApiService,
IOptions options,
NLogManager nLogManager,
@@ -807,5 +808,85 @@ namespace BBWY.Server.Business
return orderState;
}
+
+ public void OrderPublish(OrderPublishRequest request)
+ {
+ /*
+ if (erpOrderStatus.equals(("1"))){
+ status="新订单";
+}else if (erpOrderStatus.equals(("2"))){
+ status="等待付款";
+}else if (erpOrderStatus.equals(("3"))){
+ status="等待付款确认";
+}else if (erpOrderStatus.equals(("4"))){
+ status="延迟付款确认";
+}else if (erpOrderStatus.equals(("5"))){
+ status="暂停";
+}else if (erpOrderStatus.equals(("6"))){
+ status="店长最终审核";
+}else if (erpOrderStatus.equals(("7"))){
+ status="等待打印";
+}else if (erpOrderStatus.equals(("8"))){
+ status="等待出库";
+}else if (erpOrderStatus.equals(("9"))){
+ status="等待打包";
+}else if (erpOrderStatus.equals(("10"))){
+ status="等待发货";
+}else if (erpOrderStatus.equals(("11"))){
+ status="自提途中";
+}else if (erpOrderStatus.equals(("12"))){
+ status="上门提货";
+}else if (erpOrderStatus.equals(("13"))){
+ status="自提退货";
+}else if (erpOrderStatus.equals(("14"))){
+ status="确认自提";
+}else if (erpOrderStatus.equals(("15"))){
+ status="等待回执";
+}else if (erpOrderStatus.equals(("16"))){
+ status="等待确认收货";
+}else if (erpOrderStatus.equals(("17"))){
+ status="配送退货";
+}else if (erpOrderStatus.equals(("18"))){
+ status="货到付款确认";
+}else if (erpOrderStatus.equals(("19"))){
+ status="完成";
+}else if (erpOrderStatus.equals(("20"))){
+ status="等待分期付款";
+}else if (erpOrderStatus.equals(("21"))){
+ status="收款确认";
+}else if (erpOrderStatus.equals(("22"))){
+ status="锁定";
+}else if (erpOrderStatus.equals(("23"))){
+ status="等待退款";
+}else if (erpOrderStatus.equals(("24"))){
+ status="等待客户回复";
+}else if (erpOrderStatus.equals(("25"))){
+ status="厂商确认完成";
+}else if (erpOrderStatus.equals(("29"))){
+ status="等待三方出库";
+}else if (erpOrderStatus.equals(("30"))){
+ status="等待三方发货";
+}else if (erpOrderStatus.equals(("31"))){
+ status="等待三方发货完成";
+}else if (erpOrderStatus.equals(("26"))){
+ status="等待再审核";
+}else if (erpOrderStatus.equals(("27"))){
+ status="对账中";
+}else if (erpOrderStatus.equals(("28"))){
+ status="退款中";
+}else if (erpOrderStatus.equals(("-1"))){
+ status="未知";
+}else if (erpOrderStatus.equals(("NOT_PAY"))){
+ status="新订单";
+}else if (erpOrderStatus.equals(
+ */
+ if (request.erpOrderStatus != 5)
+ return;
+ var shop = venderBusiness.GetShopByVenderId(request.venderId);
+ if (shop == null)
+ return;
+
+ Task.Factory.StartNew(() => SyncOrder(shop, request.orderId, null, null, isAuto: false, Enums.SortTimeType.StartTime), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler);
+ }
}
}
diff --git a/BBWY.Server.Business/Vender/VenderBusiness.cs b/BBWY.Server.Business/Vender/VenderBusiness.cs
index e9ef710b..7c5eb43f 100644
--- a/BBWY.Server.Business/Vender/VenderBusiness.cs
+++ b/BBWY.Server.Business/Vender/VenderBusiness.cs
@@ -294,6 +294,12 @@ namespace BBWY.Server.Business
.ToList();
}
+ public ShopResponse GetShopByVenderId(string venderId)
+ {
+ return freeSqlMultiDBManager.MDSfsql.Select().Where(s => s.VenderId == venderId)
+ .ToOne();
+ }
+
public IList GetShopListByShopIds(QueryShopByIdsRequest request)
{
return freeSqlMultiDBManager.MDSfsql.Select().Where(s => !string.IsNullOrEmpty(s.ShopId))
diff --git a/BBWY.Server.Model/Dto/Request/Sync/OrderPublishRequest.cs b/BBWY.Server.Model/Dto/Request/Sync/OrderPublishRequest.cs
new file mode 100644
index 00000000..80d7d402
--- /dev/null
+++ b/BBWY.Server.Model/Dto/Request/Sync/OrderPublishRequest.cs
@@ -0,0 +1,11 @@
+namespace BBWY.Server.Model.Dto
+{
+ public class OrderPublishRequest
+ {
+ public int erpOrderStatus { get; set; }
+
+ public string orderId { get; set; }
+
+ public string venderId { get; set; }
+ }
+}
diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs
index 665b89ed..7639900b 100644
--- a/BBWY.Test/Program.cs
+++ b/BBWY.Test/Program.cs
@@ -46,21 +46,30 @@ namespace BBWY.Test
IJdClient client = GetJdClient(appkey, appSecret);
- PopOrderSearchRequest req = new PopOrderSearchRequest();
- req.startDate = "2023-03-05 13:30:00";
- req.endDate = "2023-03-06 00:00:00";
+ var req = new B2bGxptServiceErpServiceQueryServiceListRequest();
- req.orderState = "WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED,NOT_PAY";
+ req.applyStartDate = DateTime.Now.AddMonths(-1);
+ req.applyEndDate = DateTime.Now;
+ req.serviceId = 1686635060;
+ //req.purchaseId = ;
- req.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,orderState,orderStateRemark,orderRemark,orderStartTime,orderEndTime,modified,consigneeInfo,itemInfoList,couponDetailList,taxFee,venderRemark,pin,waybill,storeOrder,storeId,sellerDiscount";
+ //req.orderStatus = ;
+
+ req.pageSize = 100;
+
+
+ //req.type = ;
+
+ //req.submitEndDate = ;
+
+ req.pageIndex = 1;
+
+ //req.serviceStatus = ;
+
+ //req.submitStartDate = ;
-
- req.page = "1";
- req.pageSize = "100";
- req.sortType = "0";
- req.dateType = "1";
var response = client.Execute(req, token, DateTime.Now.ToLocalTime());