shanji 2 years ago
parent
commit
8f6d609f38
  1. 28
      BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs

28
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<ServiceOrder> insertServiceOrderList = new List<ServiceOrder>();
List<IUpdate<ServiceOrder>> updateServiceOrderList = new List<IUpdate<ServiceOrder>>();
foreach (var serviceOrderJToken in jtokenList)
{
var serviceId = serviceOrderJToken.Value<string>("serviceId");
var status = serviceOrderJToken.Value<int>("sserviceOrderJToken");
var statusUpdateTime = serviceOrderJToken.Value<DateTime>("updateTime");
var dbServiceOrder = dbServiceOrderList.FirstOrDefault(s => s.ServiceId == serviceId);
if (dbServiceOrder == null)
{
@ -113,17 +118,33 @@ namespace BBWY.Server.Business.Sync
Status = status,
CreateTime = DateTime.Now,
SkuId = skuId,
StatusUpdateTime = serviceOrderJToken.Value<DateTime>("updateTime"),
StatusUpdateTime = statusUpdateTime,
IsSubscribeKuaiDi100 = false,
IsNeedSubscribeKuaiDi100 = isNeedSubscribeKuaiDi100,
WaybillNo = string.Empty,
ExpressName = string.Empty,
ApplyTime = serviceOrderJToken.Value<DateTime>("applyTime")
};
insertServiceOrderList.Add(dbServiceOrder);
}
else if (dbServiceOrder.Status != status)
{
var update = fsql.Update<ServiceOrder>(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}");
}
}
}

Loading…
Cancel
Save