public async Task RollBackUserBalance(ReduceUserBalanceEvent input) { //随机模拟50%概率补偿失败 if (RandomHelper.GetRandomBool()) { logger.LogInformation($"用户余额回滚成功!,订单编号:{input.OrderNo},用户需支付余额:{input.Balance}!"); } else { logger.LogError($"用户余额回滚异常!"); await RollBack(); } }
public async Task ReduceUserBalance(ReduceUserBalanceEvent input) { //随机模拟50%概率回退 if (RandomHelper.GetRandomBool()) { var data = new CreateOrderEvent(); data.OrderNo = input.OrderNo; logger.LogInformation($"用户余额扣款成功,订单编号:{input.OrderNo},用户需支付余额:{input.Balance}!"); await CallNext(data); } else { logger.LogWarning("用户余额扣款失败!"); await RollBack(); } }
public async Task ReduceProductStock(ReduceProductStockEvent input) { //随机模拟50%概率回退 if (RandomHelper.GetRandomBool()) { var data = new ReduceUserBalanceEvent(); data.OrderNo = input.OrderNo; data.UserId = 1; data.Balance = input.Items.Sum(x => x.Count * (decimal)2.88); logger.LogInformation($"商品预扣库存成功,订单编号:{input.OrderNo},商品数量:{input.Items.Sum(x => x.Count)}!"); await CallNext(data); } else { logger.LogWarning("商品预扣库存失败!"); await RollBack(); } }