|
@ -555,6 +555,12 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
|
public void CancelOrder(CancelOrderRequest request, string mdsToken) |
|
|
public void CancelOrder(CancelOrderRequest request, string mdsToken) |
|
|
{ |
|
|
{ |
|
|
|
|
|
var order = fsql.Select<Order>(request.OrderId).ToOne(); |
|
|
|
|
|
if (order == null) |
|
|
|
|
|
throw new BusinessException("订单不存在"); |
|
|
|
|
|
if (order.OrderState == Enums.OrderState.已取消) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
opPlatformClientFactory.GetClient((AdapterEnums.PlatformType)request.Platform).CancelOrder(new OP_CancelOrderRequest() |
|
|
opPlatformClientFactory.GetClient((AdapterEnums.PlatformType)request.Platform).CancelOrder(new OP_CancelOrderRequest() |
|
@ -573,10 +579,33 @@ namespace BBWYB.Server.Business |
|
|
throw new BusinessException(ex.Message); |
|
|
throw new BusinessException(ex.Message); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var orderSkus = fsql.Select<OrderSku>().Where(osku => osku.OrderId == request.OrderId).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
IList<IUpdate<SpuTotalSaleInfo>> updateSpuTotalSaleInfoList = new List<IUpdate<SpuTotalSaleInfo>>(); |
|
|
|
|
|
IList<IUpdate<SkuTotalSaleInfo>> updateSkuTotalSaleInfoList = new List<IUpdate<SkuTotalSaleInfo>>(); |
|
|
|
|
|
|
|
|
|
|
|
var skuGroupsByProductId = orderSkus.GroupBy(osku => osku.ProductId); |
|
|
|
|
|
foreach (var group in skuGroupsByProductId) |
|
|
|
|
|
{ |
|
|
|
|
|
var totalItemCount = group.Sum(osku => osku.ItemTotal ?? 0); |
|
|
|
|
|
foreach (var osku in group) |
|
|
|
|
|
{ |
|
|
|
|
|
var updateSku = fsql.Update<SkuTotalSaleInfo>(osku.SkuId).Set(s => s.ItemCount - osku.ItemTotal); |
|
|
|
|
|
updateSkuTotalSaleInfoList.Add(updateSku); |
|
|
|
|
|
} |
|
|
|
|
|
var updateSpu = fsql.Update<SpuTotalSaleInfo>(group.Key).Set(s => s.ItemCount - totalItemCount); |
|
|
|
|
|
updateSpuTotalSaleInfoList.Add(updateSpu); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
fsql.Transaction(() => |
|
|
{ |
|
|
{ |
|
|
fsql.Update<Order>(request.OrderId).Set(o => o.OrderState, Enums.OrderState.已取消).ExecuteAffrows(); |
|
|
fsql.Update<Order>(request.OrderId).Set(o => o.OrderState, Enums.OrderState.已取消).ExecuteAffrows(); |
|
|
fsql.Delete<TimeLimitTask>().Where(t => t.OrderId == request.OrderId).ExecuteAffrows(); |
|
|
fsql.Delete<TimeLimitTask>().Where(t => t.OrderId == request.OrderId).ExecuteAffrows(); |
|
|
|
|
|
foreach (var update in updateSkuTotalSaleInfoList) |
|
|
|
|
|
update.ExecuteAffrows(); |
|
|
|
|
|
foreach (var update in updateSpuTotalSaleInfoList) |
|
|
|
|
|
update.ExecuteAffrows(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
try |
|
|
try |
|
@ -592,14 +621,6 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//var sql = $"update purchaseorderv2 set OrderState=6 where Id='{request.OrderId}'";
|
|
|
|
|
|
////取消C端采购单
|
|
|
|
|
|
//restApiService.SendRequest("https://bbwy.qiyue666.com",
|
|
|
|
|
|
// "/Api/Sql/ExecuteNonQuery",
|
|
|
|
|
|
// new { sql = sql.AESEncrypt() },
|
|
|
|
|
|
// new Dictionary<string, string>() { { "Authorization", $"Bearer {mdsToken}" } },
|
|
|
|
|
|
// HttpMethod.Post);
|
|
|
|
|
|
|
|
|
|
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
//取消齐库的任务
|
|
|
//取消齐库的任务
|
|
|