/// <summary> /// 取消下帐 /// </summary> /// <param name="CommunityId"></param> /// <param name="OrderId"></param> /// <returns></returns> public static string NoReceProperyOrder(string CommunityId, string OrderId) { try { string ConnStr = GetConnection(CommunityId); IDbConnection conn = new SqlConnection(GetConnection(CommunityId)); string query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@OrderId"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { orderId = OrderId }).SingleOrDefault(); if (T_Order.IsSucc.ToString() == "0") { return("物业账单未下账"); } conn.Dispose(); conn = new SqlConnection(GetConnection(CommunityId)); //更改状态 T_Order.IsSucc = 0; conn.Update <Tb_OL_WeiXinPayOrder>(T_Order); return("success"); } catch (Exception E) { return(E.Message.ToString()); } }
public string RefreshOrder(string CommunityId, string out_trade_no) { string strcon = PubConstant.GetConnectionString("APPConnection"); string BankResult = SearchBankOrder(CommunityId, out_trade_no); IDbConnection conn = new SqlConnection(strcon); string query = "SELECT * FROM Tb_OL_WeiXinOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); if (BankResult == "00") { //更新订单状态 UpdateProperyOrder(T_Order.CommunityId.ToString(), T_Order.out_trade_no.ToString(), BankResult, "成功"); if (T_Order.IsSucc.ToString() != "1") { //下账 ReceProperyOrder(T_Order.CommunityId.ToString(), T_Order.out_trade_no.ToString()); return(JSONHelper.FromString(true, "订单状态已更新并下账成功,请刷新订单")); } else { return(JSONHelper.FromString(true, "订单状态已更新,请刷新订单")); } } else { //更新订单状态 UpdateProperyOrder(T_Order.CommunityId.ToString(), T_Order.out_trade_no.ToString(), BankResult, "失败"); } return(""); }
/// <summary> /// 物业订单收款 /// </summary> /// <param name="CommunityId"></param> /// <param name="OrderId"></param> /// <param name="respCode"></param> /// <param name="respmsg"></param> /// <returns></returns> public static string ReceProperyOrder(string CommunityId, string out_trade_no, int?OrderType = null) { try { string ConnStr = GetConnection(CommunityId); IDbConnection conn = new SqlConnection(ConnStr); string query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); if (T_Order.IsSucc.ToString() == "1") { return(SetNotifyResult("FAIL", "物业账单已下账")); } string result = ReceCost(CommunityId, out_trade_no, OrderType); if (string.IsNullOrEmpty(result)) { return(SetNotifyResult("SUCCESS", "已下账")); } return(result); } catch (Exception E) { return(SetNotifyResult("FAIL", E.Message.ToString() + E.InnerException + E.StackTrace)); } }
public static string ReceCost(string CommunityId, string out_trade_no, int?OrderType = null) { IDbConnection conn = new SqlConnection(PubConstant.UnifiedContionString.ToString()); string query = "SELECT * FROM Tb_Community WHERE Id=@id"; var T = conn.Query <Tb_Community>(query, new { id = CommunityId }).FirstOrDefault(); if (T != null) { PubConstant.hmWyglConnectionString = GetConnectionStr(T); Global_Var.CorpSQLConnstr = PubConstant.hmWyglConnectionString; } conn.Dispose(); //查询账单信息 conn = new SqlConnection(PubConstant.hmWyglConnectionString); query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); query = "SELECT * FROM Tb_OL_WeiXinPayDetail_Prec WHERE PayOrderId=@PayOrderId"; Tb_OL_WeiXinPayDetail_Prec T_Prec = conn.Query <Tb_OL_WeiXinPayDetail_Prec>(query, new { PayOrderId = T_Order.Id.ToString() }).SingleOrDefault(); //预存收款 string strUserCode = "_Sys_"; string Result = ""; string ErrorMsg = ""; string chargeMode = "微信"; if (T.CorpID == 1973) { chargeMode = "自助缴费-微信"; } if (OrderType == 2) { chargeMode = "自助缴费-京东"; } long iReceID = 0; decimal PrecAmount = Convert.ToDecimal(T_Prec.DueAmount); ReceFeesPrec.ReceivePrecFees(AppGlobal.StrToInt(T_Order.CommID.ToString()), T_Order.CustId, T_Prec.RoomID, T_Prec.CostId.ToString(), chargeMode, PrecAmount, strUserCode, ref Result, ref ErrorMsg, ref iReceID, GetHandID(PubConstant.hmWyglConnectionString, out_trade_no)); if (string.IsNullOrEmpty(ErrorMsg)) { //更新账单信息 T_Order.IsSucc = 1; conn.Update(T_Order); T_Prec.PaidAmount = T_Prec.DueAmount; conn.Update(T_Prec); } return(iReceID + Result + ErrorMsg); }
public string CancelOrder(string CommunityId, string out_trade_no) { try { string ConnStr = GetConnection(CommunityId); Global_Var.CorpSQLConnstr = ConnStr; string BankResult = SearchBankOrder(CommunityId, out_trade_no); if (BankResult == "SUCCESS") { return(JSONHelper.FromString(false, "银行已交易成功,不能取消")); } IDbConnection conn = new SqlConnection(GetConnection(CommunityId)); string query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); if (T_Order.return_code.Trim().ToString() == "SUCCESS") { return(JSONHelper.FromString(false, "物业账单银行已付款")); } if (T_Order.IsSucc.ToString() == "1") { return(JSONHelper.FromString(false, "物业账单已下账")); } SqlParameter[] parameters = { new SqlParameter("@OrderId", SqlDbType.VarChar) }; parameters[0].Value = out_trade_no; new DbHelperSQLP(ConnStr).RunProcedure("Proc_OL_WeiXinPayCancelOrder", parameters); return(JSONHelper.FromString(true, "取消订单成功")); } catch (Exception E) { return(JSONHelper.FromString(false, E.Message.ToString())); } }
/// <summary> /// 物业订单收款 /// </summary> /// <param name="CommunityId"></param> /// <param name="OrderId"></param> /// <param name="respCode"></param> /// <param name="respmsg"></param> /// <returns></returns> public static string ReceProperyOrder(string CommunityId, string out_trade_no) { try { string strcon = PubConstant.GetConnectionString("APPConnection"); IDbConnection conn = new SqlConnection(strcon); string query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); if (T_Order.IsSucc.ToString() == "1") { return(SetNotifyResult("FAIL", "物业账单已下账")); } ReceFees(CommunityId, out_trade_no); return(SetNotifyResult("SUCCESS", "已下账")); } catch (Exception E) { return(SetNotifyResult("FAIL", E.Message.ToString())); } }
public string SearchBankOrder(string CommunityId, string out_trade_no) { string Result = ""; WxPayConfig wxPayConfig = GenerateConfig(CommunityId); string strcon = PubConstant.GetConnectionString("APPConnection"); IDbConnection conn = new SqlConnection(strcon); string query = "SELECT * FROM Tb_OL_WeiXinPayOrder WHERE out_trade_no=@out_trade_no"; Tb_OL_WeiXinPayOrder T_Order = conn.Query <Tb_OL_WeiXinPayOrder>(query, new { out_trade_no = out_trade_no }).SingleOrDefault(); if (T_Order == null) { Result = "未找到该物业订单"; return(Result); } WxPayData data = new WxPayData(); data.SetValue("out_trade_no", out_trade_no); WxPayData BankResult = WxPayApi.OrderQuery(data);//提交订单查询请求给API,接收返回数据 Result = BankResult.GetValue("trade_state").ToString(); return(Result); }