public bool ClientCompleteServiceOrder(CompleteServiceOrder order, out string msg) { LogHelper.Logger.Debug("订单信息:" + order.ToJson()); var orderId = order.OrderID; var orderInfo = _userPayOrdeRepository.FirstOrDefault(p => p.Id == orderId); if (orderInfo == null) { msg = "没有查询到相关的订单"; return(false); } LogHelper.Logger.Debug("查询到的订单信息为:" + orderInfo.ToJson()); if (orderInfo.State == 2) { msg = "充值成功,您可以登陆代理系统查看您的充值金额"; return(true); } var query = _orderPolicy.Orderquery(string.Format("{0}{1}", WxPayConfig.MCHID, order.OrderID), OrderType.OutTradeNo); if (query == null) { LogHelper.Logger.Error("没有查询到相关的订单信息"); orderInfo.State = 3; orderInfo.PayState = "FAIL"; orderInfo.UpdateTime = DateTime.Now; _userPayOrdeRepository.Update(orderInfo); msg = "没有查询到相关的订单信息"; return(false); } else { LogHelper.Logger.Debug(query.ToJson()); if (query.IsSet("trade_state") && query.GetValue("trade_state").ToString() == "SUCCESS") { // var orderState = _purchaseServiceRepository.CompleteServiceOrder(new CompleteServiceOrder() // { // OrderID = orderId, // Cost = (double)Convert.ToInt32(query.GetValue("total_fee")) / 100, // NewID = OrderHelper.GenerateNewId(), // PayState = query.GetValue("trade_state").ToString(), // PayExtendInfo = query.ToXml(), // PayOrderID = query.GetValue("transaction_id").ToString(), // Remarks = "微信公众号支付" // }); var orderState = CompleteRechargeOrder(query, out msg); return(orderState); } else { msg = "支付失败"; return(false); } } }
public int ClientCompleteServiceOrder(CompleteServiceOrder order) { LogHelper.Logger.Debug("订单信息:" + order.ToJson()); var orderId = order.OrderID; var orderInfo = _userPayOrdeRepository.FirstOrDefault(p => p.Id == orderId); if (orderInfo == null) { return(-2); } LogHelper.Logger.Debug("查询到的订单信息为:" + orderInfo.ToJson()); if (orderInfo.State == 2) { return(0); } var query = _orderPolicy.Orderquery(string.Format("{0}{1}", WxPayConfig.MCHID, order.OrderID), OrderType.OutTradeNo); if (query == null) { LogHelper.Logger.Error("没有查询到相关的订单信息"); _purchaseServiceRepository.UpdateServiceOrder(new UpdateServiceOrder() { ID = orderId, State = 3, PayState = "FAIL", }); return(-1); } else { LogHelper.Logger.Debug(query.ToJson()); if (query.IsSet("trade_state") && query.GetValue("trade_state").ToString() == "SUCCESS") { var orderState = _purchaseServiceRepository.CompleteServiceOrder(new CompleteServiceOrder() { OrderID = orderId, Cost = (double)Convert.ToInt32(query.GetValue("total_fee")) / 100, NewID = OrderHelper.GenerateNewId(), PayState = query.GetValue("trade_state").ToString(), PayExtendInfo = query.ToXml(), PayOrderID = query.GetValue("transaction_id").ToString(), Remarks = "微信公众号支付" }); return(orderState); } else { return(-1); } } }
public int CompleteServiceOrder(CompleteServiceOrder payOrder) { var sqlParamsList = new List <SqlParameter>(); var properties = payOrder.GetType().GetProperties(); foreach (var pro in properties) { sqlParamsList.Add(new SqlParameter() { ParameterName = string.Format("@{0}", pro.Name), Value = pro.GetValue(payOrder, null) }); } sqlParamsList.Add(new SqlParameter() { ParameterName = "@Ret", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Output, }); using (System.Data.Common.DbCommand cmd = Context.Database.Connection.CreateCommand()) { try { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "P_PAY_CompleteServiceOrder"; cmd.Parameters.AddRange(sqlParamsList.ToArray()); if (cmd.Connection.State != ConnectionState.Open) { cmd.Connection.Open(); } cmd.ExecuteNonQuery(); return(Convert.ToInt32(sqlParamsList[sqlParamsList.Count - 1].Value)); } catch (Exception e) { LogHelper.Logger.Error(e.Message); return(-1); } } }