public async Task <DefaultEventHandlerResponse> RecordTradeLogByOrderPay(EventHandleRequest <OperateOrderSuccDto> input) { return(await new DefaultEventHandlerResponse().RunAsync(nameof(RecordTradeLogByOrderPay), input.GetDataJson(), async() => { var eventData = input.GetData(); var order = await repository.GetAsync(eventData.OrderId); if (order == null) { throw new ApplicationServiceException($"没有找到订单"); } var tradeLog = new TradeLog(); tradeLog.CreateTradeLog(TradeLogState.PayOrder, eventData.OrderId, order.OrderNo, null, null, eventData.UserId, eventData.UserName); tradeLogRepository.Add(tradeLog); await unitofWork.CommitAsync(); })); }
public async Task <DefaultEventHandlerResponse> ExpireCancelOrder(EventHandleRequest <OperateOrderSuccDto> input) { return(await new DefaultEventHandlerResponse().RunAsync(nameof(ExpireCancelOrder), input.GetDataJson(), async() => { var eventData = input.GetData(); var order = await repository.GetAsync(eventData.OrderId); if (order == null) { throw new ApplicationServiceException($"没有找到订单"); } var cancelOrderService = new CancelOrderService(UnDeductionGoodsStock); if (await cancelOrderService.Cancel(order)) { repository.Update(order); var tradeLog = new TradeLog(); tradeLog.CreateTradeLog(TradeLogState.CancelOrder, eventData.OrderId, order.OrderNo, null, null, Guid.Empty, null); tradeLogRepository.Add(tradeLog); await unitofWork.CommitAsync(); } })); }
public async Task <DefaultEventHandlerResponse> RecordTradeLogByLogisticsReceiveSucc(EventHandleRequest <CreateLogisticsSuccDto> input) { return(await new DefaultEventHandlerResponse().RunAsync(nameof(RecordTradeLogByOrderPay), input.GetDataJson(), async() => { var eventData = input.GetData(); var order = await repository.GetAsync(eventData.OrderId); if (order == null) { throw new ApplicationServiceException($"没有找到订单"); } var log = await logisticsRepository.GetAsync(eventData.LogisticsId); if (log == null) { throw new ApplicationServiceException($"没有找到物流单"); } var tradeLog = new TradeLog(); tradeLog.CreateTradeLog(TradeLogState.ReceivingGoods, eventData.OrderId, order.OrderNo, log.Id, log.LogisticsNo, eventData.UserId, eventData.UserName); tradeLogRepository.Add(tradeLog); await unitofWork.CommitAsync(); })); }