Browse Source

完善退款同步逻辑

qianyi
shanji 3 years ago
parent
commit
75014f612e
  1. 18
      BBWY.Server.Business/Order/OrderBusiness.cs

18
BBWY.Server.Business/Order/OrderBusiness.cs

@ -1542,7 +1542,23 @@ namespace BBWY.Server.Business
private void SyncJDRefundOrder(JArray refundOrderTokenJArray, ShopResponse shopResponse)
{
var validRefundOrderTokenJArray = refundOrderTokenJArray.Where(j => j.Value<int>("status") == 13 && j.Value<decimal>("refoundAmount") != 0M).ToList();
//var orderIds
var orderIds = validRefundOrderTokenJArray.Select(j => j["sameOrderServiceBill"]["orderId"].ToString()).Distinct().ToList();
var orderSkuIds = validRefundOrderTokenJArray.Select(j => j["sameOrderServiceBill"]["wareId"].ToString()).Distinct().ToList();
var dbOrders = fsql.Select<Order>().Where(o => orderIds.Contains(o.Id) && o.IsAfterSaleOrder == false).ToList();
var dbOrderSkus = fsql.Select<OrderSku>().Where(osku => orderIds.Contains(osku.OrderId) &&
orderSkuIds.Contains(osku.SkuId) &&
osku.IsRefund == false).ToList();
fsql.Transaction(() =>
{
if (dbOrders.Count() > 0)
foreach (var dbOrder in dbOrders)
fsql.Update<Order>(dbOrder.Id).Set(o => o.IsAfterSaleOrder, true).ExecuteAffrows();
if (dbOrderSkus.Count() > 0)
foreach (var dbOrderSku in dbOrderSkus)
fsql.Update<OrderSku>(dbOrderSku.Id).Set(osku => osku.IsRefund, true).ExecuteAffrows();
});
}
public void SyncRefundOrder(ShopResponse shop, string orderId, DateTime? startTime = null, DateTime? endTime = null, bool isAuto = false)

Loading…
Cancel
Save