.NET Core 6中Stripe支付后订单状态无法自动更新问题
问题:下单后订单状态未从Pending更新为Submitted导致后台无数据显示
项目集成Stripe支付,数据库包含OrderHeader和OrderDetails实体表,自定义SD类定义订单状态,默认状态为Pending_Payment。预期下单后状态应更新为Submitted_PaymentApproved,但所有订单仍保留Pending_Payment状态,导致后台管理页查询Submitted或InProcess状态的订单无数据,仅将查询条件改为u.Status == SD.StatusPending时能正常显示数据(因所有订单状态均为Pending_Payment)。需解决下单后将订单状态从Pending更新为Submitted的问题。
相关代码如下:
ManageOrderModel 代码
public class ManageOrderModel : PageModel { private readonly IUnitOfWork _uniOfWork; public List<OrderDetailVM> OrderDetailVM { get; set; } public ManageOrderModel(IUnitOfWork unitOfWork) { _uniOfWork = unitOfWork; } public void OnGet() { OrderDetailVM = new(); List<OrderHeader> orderHeaders = _uniOfWork.OrderHeader.GetAll(u => u.Status == SD.StatusSubmitted || u.Status == SD.StatusInProcess).ToList(); foreach(OrderHeader item in orderHeaders) { OrderDetailVM individual = new OrderDetailVM() { OrderHeader = item, OrderDetails = _uniOfWork.OrderDetails.GetAll(u => u.OrderId == item.Id).ToList() }; OrderDetailVM.Add(individual); } } }
Razor视图代码
@page @model PracticeWithVideo.Pages.Admin.Order.ManageOrderModel <h1 class="text-primary py-3">Manage Order's</h1> <form method="post"> <div class="container row bg-white p-2 mb-3 rounded"> @foreach(var item in Model.OrderDetailVM) { <div class="col-12 pb-3 pt-3 mt-4 border rounded"> <div class="row"> <div class="col-4"> Order Number: @item.OrderHeader.Id <ul class="text-info"> @foreach(var details in item.OrderDetails) { <li>@details.Name x @details.Count</li> } </ul> </div> <div class="col-4 pb-2"> <div class="input-group pb-2"> <div class="input-group-prepend"> <span class="input-group-text bg-secondary border">Time</span> </div> <input type="text" value="@item.OrderHeader.PickUpTime" class="form-control" readonly /> </div> <textarea readonly asp-for="@item.OrderHeader.Comments" class="rounded border form-control" rows="3"></textarea> </div> <div class="col-3 offset-1 d-flex align-content-center"> <div class="col-12"> <button type="submit" class="btn btn-primary form-control mb-3"> <i class="bi bi-check-square"></i> Start Cooking </button> <button type="submit" class="btn btn-success form-control mb-3"> <i class="bi bi-emoji-laughing"></i> Order Ready </button> <button type="submit" class="btn btn-warning form-control mb-3"> <i class="bi bi-x-square-fill"></i> Cancel Order </button> </div> </div> </div> </div> } </div> </form>
内容的提问来源于stack exchange,提问作者Sahar
相关产品推荐
相关产品推荐

