/// <summary> /// 出票通知 /// </summary> /// <param name="result"></param> /// <returns></returns> private async Task <bool> TicketNoticing(string result) { JObject jarr = JObject.Parse(result); if (jarr.HasValues) { foreach (var json in jarr["notifyList"]) { string Status = json["status"].ToString(); string orderid = json["orderId"].ToString(); var order = await _orderingApplicationService.FindOrderAsync(orderid); if (order.Status == 2000) { if (Status.IsIn("0", "1")) { return(false); } else if (Status.Equals("2")) { string ticketId = json["tickSn"].ToString(); DateTime tickettime = DateTime.Now; LotteryTicketingTypes lotteryTicketingType = LotteryTicketingTypes.Success; await _lotteryNoticingMessagePublisher.PublishAsync($"LotteryOrdering.Ticketed.{order.LdpVenderId}", new NoticeMessage <LotteryTicketed>(orderid, order.LdpVenderId, new LotteryTicketed { LvpMerchanerId = order.LdpVenderId, LvpOrderId = order.LvpOrderId, TicketingType = lotteryTicketingType, })); return(true); } else { LotteryTicketingTypes lotteryTicketingType = LotteryTicketingTypes.Success; await _lotteryNoticingMessagePublisher.PublishAsync($"LotteryOrdering.Ticketed.{order.LdpVenderId}", new NoticeMessage <LotteryTicketed>(orderid, order.LdpVenderId, new LotteryTicketed { LvpMerchanerId = order.LdpVenderId, LvpOrderId = order.LvpOrderId, TicketingType = lotteryTicketingType, })); return(true); } } } } return(false); }
/// <summary> /// xAgent=3821&xAction=501&xSign=dfa62fc1b09d94fca897a3462a928545&xValue=D200900067_2003,D200900054_2003 /// </summary> /// <param name="httpContext"></param> /// <returns></returns> public async Task Invoke(HttpContext httpContext) { try { var xAgent = httpContext.Request.Form["xAgent"].ToString(); var xAction = httpContext.Request.Form["xAction"].ToString(); var xSign = httpContext.Request.Form["xSign"].ToString(); var xValue = httpContext.Request.Form["xValue"].ToString(); var merchanter = await _lotteryMerchanterApplicationService.FindMerchanterAsync(xAgent); string str = $"{xAgent}{xAction}{xValue}{merchanter.SecretKey}"; if (str.VerifyMd5(xSign)) { string[] items = xValue.Split(","); foreach (var item in items) { string[] values = item.Split("_"); var order = await _orderingApplicationService.FindOrderAsync(values[0]); if (order.Status < 4000) { LotteryTicketingTypes lotteryTicketingType = values[1] == "1" ? LotteryTicketingTypes.Success : LotteryTicketingTypes.Failure; _logger.LogTrace($"{order.Id} Ticketed: {lotteryTicketingType}"); await _lotteryNoticingMessagePublisher.PublishAsync($"LotteryOrdering.Ticketed.{xAgent}", new NoticeMessage <LotteryTicketed>(values[0], xAgent, new LotteryTicketed { LvpMerchanerId = order.LdpVenderId, LvpOrderId = order.LvpOrderId, TicketingType = lotteryTicketingType, })); } else { _logger.LogWarning($"{order.Id} {order.Status}"); } } await httpContext.Response.WriteAsync("1"); } } catch (Exception ex) { _logger.LogError(ex.Message); } await httpContext.Response.WriteAsync("0"); }