Exemplo n.º 1
0
 public async Task RollBackUserBalance(ReduceUserBalanceEvent input)
 {
     //随机模拟50%概率补偿失败
     if (RandomHelper.GetRandomBool())
     {
         logger.LogInformation($"用户余额回滚成功!,订单编号:{input.OrderNo},用户需支付余额:{input.Balance}!");
     }
     else
     {
         logger.LogError($"用户余额回滚异常!");
         await RollBack();
     }
 }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 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();
     }
 }