Browse Source

退款同步细节调整,支持先换后退

qianyi
shanji 3 years ago
parent
commit
15b0cb73dc
  1. 16
      BBWY.Client/APIServices/AfterOrderService.cs
  2. 4
      BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs
  3. 13
      BBWY.Server.Business/Sync/RefundOrderSyncBusiness.cs

16
BBWY.Client/APIServices/AfterOrderService.cs

@ -0,0 +1,16 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.APIServices
{
public class AfterOrderService : BaseApiService, IDenpendency
{
public AfterOrderService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
}
}

4
BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs

@ -1,10 +1,6 @@
using BBWY.Common.Models;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using BBWY.Server.Model.Dto.Request;
using System;
using System.Collections.Generic;
using System.Text;
using Yitter.IdGenerator;
namespace BBWY.Server.Business

13
BBWY.Server.Business/Sync/RefundOrderSyncBusiness.cs

@ -50,9 +50,8 @@ namespace BBWY.Server.Business
var orderSkuIds = validRefundOrderTokenJArray.Select(j => j["sameOrderServiceBill"]["wareId"].ToString()).Distinct().ToList();
var updateOrders = fsql.Select<Order>().Where(o => orderIds.Contains(o.Id) && o.IsAfterSaleOrder == false).ToList();
var updateOrderSkus = fsql.Select<OrderSku>().Where(osku => orderIds.Contains(osku.OrderId) &&
orderSkuIds.Contains(osku.SkuId) &&
osku.IsRefund == false).ToList();
var dbOrderSkus = fsql.Select<OrderSku>().Where(osku => orderIds.Contains(osku.OrderId) && orderSkuIds.Contains(osku.SkuId)).ToList();
var updateOrderSkus = dbOrderSkus.Where(osku => osku.IsRefund == false).ToList();
var afterOrders = fsql.Select<AfterSaleOrder>().Where(aso => orderIds.Contains(aso.OrderId)).ToList();
@ -72,15 +71,15 @@ namespace BBWY.Server.Business
var afterOrder = afterOrders.FirstOrDefault(aso => aso.ServiceId == serviceId);
if (afterOrder == null)
{
var updateSku = updateOrderSkus.FirstOrDefault(osku => osku.OrderId == orderId && osku.SkuId == skuId);
if (updateSku == null)
var dbSku = dbOrderSkus.FirstOrDefault(osku => osku.OrderId == orderId && osku.SkuId == skuId);
if (dbSku == null)
continue;
insertAfterSaleOrders.Add(new AfterSaleOrder()
{
Id = idGenerator.NewLong(),
CreateTime = DateTime.Now,
OrderId = updateSku.OrderId,
ProductId = updateSku.ProductId,
OrderId = dbSku.OrderId,
ProductId = dbSku.ProductId,
RefundAmount = refundAmount,
RefundTime = refundCompleteTime,
SkuId = skuId,

Loading…
Cancel
Save