|
|
|
using BBWYB.Common.Log;
|
|
|
|
using BBWYB.Common.Models;
|
|
|
|
using BBWYB.Server.Model.Db;
|
|
|
|
using FreeSql;
|
|
|
|
using Yitter.IdGenerator;
|
|
|
|
|
|
|
|
namespace BBWYB.Server.Business
|
|
|
|
{
|
|
|
|
public class DataRepairBusiness : BaseBusiness, IDenpendency
|
|
|
|
{
|
|
|
|
private KuaiDi100Manager kuaiDi100Manager;
|
|
|
|
public DataRepairBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, KuaiDi100Manager kuaiDi100Manager) : base(fsql, nLogManager, idGenerator)
|
|
|
|
{
|
|
|
|
this.kuaiDi100Manager = kuaiDi100Manager;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void RepairPurchaseExpressOrder()
|
|
|
|
{
|
|
|
|
var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(peo => !string.IsNullOrEmpty(peo.PurchaseOrderId)).ToList();
|
|
|
|
var wayBillNos = purchaseExpressOrderList.Select(peo => peo.WaybillNo).ToList();
|
|
|
|
var relationList = fsql.Select<ExpressOrderRelationInfo>().Where(eori => wayBillNos.Contains(eori.WayBillNo)).ToList();
|
|
|
|
|
|
|
|
List<ExpressOrderRelationInfo> insertExpressOrderRelationInfoList = new List<ExpressOrderRelationInfo>();
|
|
|
|
foreach (var peo in purchaseExpressOrderList)
|
|
|
|
{
|
|
|
|
var relation = relationList.FirstOrDefault(r => r.WayBillNo == peo.WaybillNo && r.PurchaseOrderId == peo.PurchaseOrderId);
|
|
|
|
if (relation != null)
|
|
|
|
continue;
|
|
|
|
insertExpressOrderRelationInfoList.Add(new ExpressOrderRelationInfo()
|
|
|
|
{
|
|
|
|
Id = idGenerator.NewLong(),
|
|
|
|
CreateTime = DateTime.Now,
|
|
|
|
OrderId = peo.OrderId,
|
|
|
|
PurchaseOrderId = peo.PurchaseOrderId,
|
|
|
|
ShopId = peo.ShopId,
|
|
|
|
WayBillNo = peo.WaybillNo
|
|
|
|
});
|
|
|
|
}
|
|
|
|
fsql.Transaction(() =>
|
|
|
|
{
|
|
|
|
fsql.Insert(insertExpressOrderRelationInfoList).ExecuteAffrows();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
public void SubscribeKD100(string waybillNo, string targetCompanyCode)
|
|
|
|
{
|
|
|
|
kuaiDi100Manager.SubscribeKuaiDi100(waybillNo, targetCompanyCode, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|