public async Task <IActionResult> PutOrdersItem(long id, OrdersItem ordersItem) { if (id != ordersItem.TicketId) { return(BadRequest()); } _context.Entry(ordersItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrdersItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PlaceAnOrder(long id, OrdersItem ordersItem) { if (id != ordersItem.TicketId) { return(BadRequest()); } var entity = _context.OrdersItems.Find(ordersItem.TicketId); _context.OrdersItems.Attach(entity); entity.UserId = ordersItem.UserId; entity.Status = 1; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrdersItemExists(id)) { return(NotFound()); } else { throw; } } return(Content("you have booked a ticket, please pay for it.")); }
public async Task <IActionResult> DeleteATicket(long id, OrdersItem ordersItem) { if (id != ordersItem.TicketId) { return(BadRequest()); } var entity = _context.OrdersItems.Find(ordersItem.TicketId); _context.OrdersItems.Attach(entity); entity.Status = -1; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrdersItemExists(id)) { return(NotFound()); } else { throw; } } return(Content("delete the ticket successfully")); }
/// <summary> /// 确认订单是否有效 /// /// TODO /// </summary> private bool ConfirmOrder(OrdersItem order) { string querenURL = "http://api.dev.zonghejiaofei.net/api/Channel/RechargeConfirm"; string pwdKey = "ChannelId" + GetAppConfig("acount") + "OrderId" + order.OrderId + "Secretkey" + GetAppConfig("password"); string reqData = "ChannelId=" + GetAppConfig("acount") + "&OrderId=" + order.OrderId + "&Hmac=" + GetMD5(pwdKey); //string result = HttpUtils.postRequest(querenURL, reqData); //从接口上发送请求和data string jsonData = HttpUtils.OpenReadWithHttps(querenURL, reqData, "utf-8"); // JSON 解析 ConfirmEntity confirmResult = JsonConvert.DeserializeObject <ConfirmEntity>(jsonData); if (confirmResult.Result.Equals("Success")) { // TODO // 返回 false 应该是表示订单已处理 if (confirmResult.Data.Res) { rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认成功,状态:" + confirmResult.Data.Res, GetThreadID() }); return(true); } else { rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认成功,状态:" + confirmResult.Data.Res + "; 已跳过处理", GetThreadID() }); return(false); } } rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认异常,错误信息:" + confirmResult.Message, GetThreadID() }); return(false); }
/// <summary> /// GetItemDetailByOrderID /// </summary> /// <param name="orderID"></param> /// <param name="tenantID"></param> /// <param name="userID"></param> /// <returns></returns> public OrdersItemDetails GetItemDetailByOrderID(int orderID, int tenantID, int userID) { DataSet ds = new DataSet(); MySqlCommand cmd = new MySqlCommand(); List <OrdersItem> lstOrdersItem = new List <OrdersItem>(); OrdersItemDetails ordersItemDetails = new OrdersItemDetails(); try { conn.Open(); cmd.Connection = conn; MySqlCommand sqlcmd = new MySqlCommand("SP_PHYGetItemDetailByOrderID", conn); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.Parameters.AddWithValue("order_ID", orderID); sqlcmd.Parameters.AddWithValue("tenant_ID", tenantID); sqlcmd.Parameters.AddWithValue("user_ID", userID); MySqlDataAdapter da = new MySqlDataAdapter(); da.SelectCommand = sqlcmd; da.Fill(ds); if (ds != null && ds.Tables[0] != null) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { OrdersItem ordersItems = new OrdersItem { ID = ds.Tables[0].Rows[i]["ID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]), ItemID = ds.Tables[0].Rows[i]["ItemID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemID"]), ItemName = ds.Tables[0].Rows[i]["ItemName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemName"]), ItemPrice = ds.Tables[0].Rows[i]["ItemPrice"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemPrice"]), Quantity = ds.Tables[0].Rows[i]["Quantity"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Quantity"]), OrderID = ds.Tables[0].Rows[i]["OrderID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["OrderID"]), Disable = ds.Tables[0].Rows[i]["Disable"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Disable"]), Checked = ds.Tables[0].Rows[i]["Checked"] == DBNull.Value ? false : Convert.ToBoolean(ds.Tables[0].Rows[i]["Checked"]), }; lstOrdersItem.Add(ordersItems); } ordersItemDetails.OrdersItems = lstOrdersItem; } if (ds != null && ds.Tables[1] != null) { ordersItemDetails.InvoiceNumber = ds.Tables[1].Rows[0]["InvoiceNo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[1].Rows[0]["InvoiceNo"]); } } catch (Exception) { throw; } finally { if (conn != null) { conn.Close(); } } return(ordersItemDetails); }
public async Task <ActionResult <OrdersItem> > PostOrdersItem(OrdersItem ordersItem) { _context.OrdersItems.Add(ordersItem); await _context.SaveChangesAsync(); // return CreatedAtAction("GetOrdersItem", new { id = ordersItem.ID }, ordersItem); return(CreatedAtAction(nameof(GetOrdersItem), new { id = ordersItem.TicketId }, ordersItem)); }
public static void InsertOrder(OrdersItem order) { // 这里应该不会有 SQL 注入问题 string sql = "INSERT INTO orders(orderid,account,money,starttime,endtime,remark,state,userid) VALUES (@orderid,@account,@money,@starttime,@endtime,@remark,@state,@userid)"; MySqlParameter[] sqlParameter = GetParameterArray(new string[] { "@orderid", "@account", "@money", "@starttime", "@endtime", "@remark", "@state", "@userid" }, new object[] { order.OrderId, order.Account, order.Amount, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), "", "3", ConfigurationManager.AppSettings["acount"] }); ConnHelper.GetcomPara(sql, sqlParameter); }
/// <summary> /// 更新订单的状态信息 /// /// 更新最后的时间和状态,根据订单编号 /// </summary> /// <param name="order"></param> public static void UpdateOrder(OrdersItem order, string state, string remark) { // 这里应该不会有 SQL 注入问题 string sql = "UPDATE orders SET endtime=@endtime,remark=@remark,state=@state WHERE orderid=@orderid"; MySqlParameter[] sqlParameter = GetParameterArray(new string[] { "@endtime", "@remark", "@state", "@orderid" }, new object[] { DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), remark, state, order.OrderId }); ConnHelper.GetcomPara(sql, sqlParameter); //string sql = "UPDATE orders SET account=@account,money=@money,endtime=@endtime,remark=@remark,state=@state WHERE orderid=@orderid"; //MySqlParameter[] sqlParameter = getParameterArray(new string[] { "@account", "@money", "@endtime", "@remark", "@state", "@orderid" }, //new object[] { order.Account, order.Amount, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), "", state, order.OrderId }); }
public void Checkout(string userName) { var user = db.Users.FirstOrDefault(u => u.UserName == userName); var order = new Order { id = Guid.NewGuid(), Date = DateTime.Now, amount = GetCartPrice(), User = user }; db.Orders.Add(order); db.SaveChanges(); var cartItems = GetCartItems(); foreach (var item in cartItems) { var orderItem = new OrdersItem { Id = Guid.NewGuid(), MenuItemId = item.MenuItemId, OrderId = order.id, Quantity = item.Quantity }; db.OrdersItems.Add(orderItem); db.SaveChanges(); var menuItem = db.MenuItems.Find(item.MenuItem.Id); if (menuItem.OrderedSum == null) { menuItem.OrderedSum = item.Quantity; } else { menuItem.OrderedSum += item.Quantity; } } db.SaveChanges(); }
/// <summary> /// 返平台结果 /// </summary> private void ReturnResult(OrdersItem order) { // ConfigurationManager.AppSettings["acount"] + "Secretkey" + ConfigurationManager.AppSettings["password"]; string state = "Success"; string url = "http://api.dev.zonghejiaofei.net/api/Channel/Result"; string key = "ChannelId" + ConfigurationManager.AppSettings["acount"] + "OrderId" + order.OrderId + "Secretkey" + ConfigurationManager.AppSettings["password"] + "State" + state; string reqData = "ChannelId=" + ConfigurationManager.AppSettings["acount"] + "&OrderId=" + order.OrderId + "&State=" + state + "&Hmac=" + GetMD5(key); string result = HttpUtils.OpenReadWithHttps(url, reqData, "utf-8"); // JSON 解析 NetSpaceEntity netSpaceResult = JsonConvert.DeserializeObject <NetSpaceEntity>(result); if (netSpaceResult.Result.Equals("Success")) { rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单处理成功,状态标记为" + netSpaceResult.Data.State, GetThreadID() }); // 更新数据库 状态 utils.SQLDMl.UpdateOrder(order, netSpaceResult.Data.State, ""); return; } rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单处理错误,异常为:" + netSpaceResult.Message, GetThreadID() }); }
/// <summary> /// 获取订单列表 /// </summary> public void GetOrdersList() { int start = GetInt("start"); int limit = GetInt("limit"); var type = (ReqOrderStatus)(GetInt("type") + 1); //if (type == ReqOrderStatus.WaitDeliverGoods) type = ReqOrderStatus.End; var wheresql = "";//string.Format(" where Status={0} ", (int)OrderStatus.Pay) switch (type) { case ReqOrderStatus.Pay: wheresql = string.Format(" where Status={0} ", (int)OrderStatus.Pay); break; //case ReqOrderStatus.WaitDeliverGoods: // wheresql = string.Format(" where OrderType={0} and Status={1} ", (int)OrderType.WaitDelivery, (int)OrderStatus.Pay); // break; case ReqOrderStatus.DeliverGoodsed: wheresql = string.Format(" where OrderType={0} and Status={1} ", (int)OrderType.Deliveryed, (int)OrderStatus.Pay); break; case ReqOrderStatus.End: wheresql = string.Format(" where Status={0} ", (int)OrderStatus.End); break; default: break; } if (string.IsNullOrEmpty(wheresql)) { wheresql = string.Format(" where sellerId={0}", CurSellerId); } else { wheresql += string.Format(" and sellerId={0}", CurSellerId); } var result = OrdersHelper.GetOrdersList(wheresql, "", start * limit, limit, 1); var list = new List <OrdersItem>(); foreach (var item in result.Results) { var i = new OrdersItem(); i.Id = item.Id; i.UserId = item.UserId; i.Money = item.TotalPrice; i.CreateTime = item.CreateTime.ToString("yyyy-M-d HH:mm:ss"); i.GoodsCount = item.NumList.Sum(o => o); i.Status = (int)item.GetReqStatus(); i.Type = (int)item.OrderType; list.Add(i); } var jt = new JsonTransfer(); jt.Add("list", list); jt.Add("count", result.TotalCount); Response.Write(jt.ToJson()); Response.End(); }