diff --git a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs index 98e042e7..855fe425 100644 --- a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs @@ -12,6 +12,7 @@ using System.Threading.Tasks; using Yitter.IdGenerator; using System.Linq; using BBWY.Server.Model.Db; +using FreeSql; namespace BBWY.Server.Business.Sync { @@ -54,10 +55,14 @@ namespace BBWY.Server.Business.Sync StorageType = o.StorageType }); + List insertServiceOrderList = new List(); + List> updateServiceOrderList = new List>(); + foreach (var serviceOrderJToken in jtokenList) { var serviceId = serviceOrderJToken.Value("serviceId"); var status = serviceOrderJToken.Value("sserviceOrderJToken"); + var statusUpdateTime = serviceOrderJToken.Value("updateTime"); var dbServiceOrder = dbServiceOrderList.FirstOrDefault(s => s.ServiceId == serviceId); if (dbServiceOrder == null) { @@ -113,15 +118,31 @@ namespace BBWY.Server.Business.Sync Status = status, CreateTime = DateTime.Now, SkuId = skuId, - StatusUpdateTime = serviceOrderJToken.Value("updateTime"), + StatusUpdateTime = statusUpdateTime, IsSubscribeKuaiDi100 = false, IsNeedSubscribeKuaiDi100 = isNeedSubscribeKuaiDi100, WaybillNo = string.Empty, ExpressName = string.Empty, ApplyTime = serviceOrderJToken.Value("applyTime") }; + insertServiceOrderList.Add(dbServiceOrder); + } + else if (dbServiceOrder.Status != status) + { + var update = fsql.Update(dbServiceOrder.Id).Set(s => s.Status, status) + .Set(s => s.StatusUpdateTime, statusUpdateTime); + updateServiceOrderList.Add(update); } } + + fsql.Transaction(() => + { + if (insertServiceOrderList.Count() > 0) + fsql.Insert(insertServiceOrderList).ExecuteAffrows(); + if (updateServiceOrderList.Count() > 0) + foreach (var update in updateServiceOrderList) + update.ExecuteAffrows(); + }); } private void SyncServiceOrder(ShopResponse shop, string orderId, DateTime? startTime = null, DateTime? endTime = null, bool isAuto = false) @@ -143,6 +164,8 @@ namespace BBWY.Server.Business.Sync 线下换新取消,待处理:7090 商家催收: 13000 */ + + var loggerName = $"新服务单同步-{shop.ShopName}"; try { var shopId = long.Parse(shop.ShopId); @@ -181,8 +204,7 @@ namespace BBWY.Server.Business.Sync } catch (Exception ex) { - var shopData = JsonConvert.SerializeObject(shop); - nLogManager.Default().Error(ex, $"SyncServiceOrder ShopData:{shopData}"); + nLogManager.GetLogger(loggerName).Error(ex, $"SyncServiceOrder ShopName:{shop.ShopName} ShopId:{shop.ShopId}"); } } }