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 Yitter.IdGenerator;
using System.Linq; using System.Linq;
using BBWY.Server.Model.Db; using BBWY.Server.Model.Db;
using FreeSql;
namespace BBWY.Server.Business.Sync namespace BBWY.Server.Business.Sync
{ {
@ -54,10 +55,14 @@ namespace BBWY.Server.Business.Sync
StorageType = o.StorageType StorageType = o.StorageType
}); });
List<ServiceOrder> insertServiceOrderList = new List<ServiceOrder>();
List<IUpdate<ServiceOrder>> updateServiceOrderList = new List<IUpdate<ServiceOrder>>();
foreach (var serviceOrderJToken in jtokenList) foreach (var serviceOrderJToken in jtokenList)
{ {
var serviceId = serviceOrderJToken.Value<string>("serviceId"); var serviceId = serviceOrderJToken.Value<string>("serviceId");
var status = serviceOrderJToken.Value<int>("sserviceOrderJToken"); var status = serviceOrderJToken.Value<int>("sserviceOrderJToken");
var statusUpdateTime = serviceOrderJToken.Value<DateTime>("updateTime");
var dbServiceOrder = dbServiceOrderList.FirstOrDefault(s => s.ServiceId == serviceId); var dbServiceOrder = dbServiceOrderList.FirstOrDefault(s => s.ServiceId == serviceId);
if (dbServiceOrder == null) if (dbServiceOrder == null)
{ {
@ -113,17 +118,33 @@ namespace BBWY.Server.Business.Sync
Status = status, Status = status,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
SkuId = skuId, SkuId = skuId,
StatusUpdateTime = serviceOrderJToken.Value<DateTime>("updateTime"), StatusUpdateTime = statusUpdateTime,
IsSubscribeKuaiDi100 = false, IsSubscribeKuaiDi100 = false,
IsNeedSubscribeKuaiDi100 = isNeedSubscribeKuaiDi100, IsNeedSubscribeKuaiDi100 = isNeedSubscribeKuaiDi100,
WaybillNo = string.Empty, WaybillNo = string.Empty,
ExpressName = string.Empty, ExpressName = string.Empty,
ApplyTime = serviceOrderJToken.Value<DateTime>("applyTime") 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) 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 线:7090
: 13000 : 13000
*/ */
var loggerName = $"新服务单同步-{shop.ShopName}";
try try
{ {
var shopId = long.Parse(shop.ShopId); var shopId = long.Parse(shop.ShopId);
@ -181,8 +204,7 @@ namespace BBWY.Server.Business.Sync
} }
catch (Exception ex) catch (Exception ex)
{ {
var shopData = JsonConvert.SerializeObject(shop); nLogManager.GetLogger(loggerName).Error(ex, $"SyncServiceOrder ShopName:{shop.ShopName} ShopId:{shop.ShopId}");
nLogManager.Default().Error(ex, $"SyncServiceOrder ShopData:{shopData}");
} }
} }
} }

Loading…
Cancel
Save