public string SendRedPack(string re_openid, string sub_mch_id, string wishing, string act_name, string remark, int amount, int sendredpackrecordid) { SiteSettings masterSettings = SettingsManager.GetMasterSettings(false, wid); if (masterSettings.EnableWeiXinRequest) { DateTime now = DateTime.Now; DateTime time2 = DateTime.Parse(now.ToString("yyyy-MM-dd") + " 00:00:01"); DateTime time3 = DateTime.Parse(now.ToString("yyyy-MM-dd") + " 08:00:00"); if ((now > time2) && (now < time3)) { return("北京时间0:00-8:00不触发红包赠送"); } if ((string.IsNullOrEmpty(masterSettings.WeixinAppId) || string.IsNullOrEmpty(masterSettings.WeixinPartnerID)) || ((string.IsNullOrEmpty(masterSettings.WeixinPartnerKey) || string.IsNullOrEmpty(masterSettings.WeixinCertPath)) || string.IsNullOrEmpty(masterSettings.WeixinCertPassword))) { return("系统微信发红包配置接口未配置好"); } if (string.IsNullOrEmpty(re_openid)) { return("用户未绑定微信"); } string siteName = masterSettings.SiteName; string str3 = masterSettings.SiteName; RedPackClient client = new RedPackClient(); return(client.SendRedpack(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, sub_mch_id, siteName, str3, re_openid, wishing, Globals.IPAddress, act_name, remark, amount, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword, sendredpackrecordid)); } return("管理员后台未开启微信付款!"); }
public string SendRedPack(string re_openid, string sub_mch_id, string wishing, string act_name, string remark, int amount, string RedpackId) { string result = string.Empty; SiteSettings masterSettings = SettingsManager.GetMasterSettings(true); if (masterSettings.EnableWeiXinRequest) { System.DateTime now = System.DateTime.Now; System.DateTime t = System.DateTime.Parse(now.ToString("yyyy-MM-dd") + " 00:00:01"); System.DateTime t2 = System.DateTime.Parse(now.ToString("yyyy-MM-dd") + " 08:00:00"); if (now > t && now < t2) { result = "北京时间0:00-8:00不触发红包赠送"; return(result); } if (string.IsNullOrEmpty(masterSettings.WeixinAppId) || string.IsNullOrEmpty(masterSettings.WeixinPartnerID) || string.IsNullOrEmpty(masterSettings.WeixinPartnerKey) || string.IsNullOrEmpty(masterSettings.WeixinCertPath) || string.IsNullOrEmpty(masterSettings.WeixinCertPassword)) { result = "系统微信发红包配置接口未配置好"; return(result); } if (string.IsNullOrEmpty(re_openid)) { result = "用户未绑定微信"; return(result); } string siteName = masterSettings.SiteName; string siteName2 = masterSettings.SiteName; RedPackClient redPackClient = new RedPackClient(); try { string text = Globals.IPAddress; if (text.Length < 8) { text = "192.168.1.1"; } result = redPackClient.SendRedpack(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, sub_mch_id, siteName, siteName2, re_openid, wishing, text, act_name, remark, amount, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword, RedpackId, masterSettings.EnableSP, masterSettings.Main_AppId, masterSettings.Main_Mch_ID, masterSettings.Main_PayKey); return(result); } catch (System.Exception ex) { result = ex.Message.ToString().Trim(); return(result); } } result = "管理员后台未开启微信付款!"; return(result); }
public string SendRedPack(string re_openid, string sub_mch_id, string wishing, string act_name, string remark, int amount, int sendredpackrecordid, bool isSend) { string empty = string.Empty; SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); if (!masterSettings.EnableWeiXinRequest) { empty = "管理员后台未开启微信付款!"; } else { DateTime now = DateTime.Now; DateTime dateTime = DateTime.Parse(string.Concat(now.ToString("yyyy-MM-dd"), " 00:00:01")); DateTime dateTime1 = DateTime.Parse(string.Concat(now.ToString("yyyy-MM-dd"), " 08:00:00")); if (now > dateTime && now < dateTime1) { empty = "北京时间0:00-8:00不触发红包赠送"; } else if (string.IsNullOrEmpty(masterSettings.WeixinAppId) || string.IsNullOrEmpty(masterSettings.WeixinPartnerID) || string.IsNullOrEmpty(masterSettings.WeixinPartnerKey) || string.IsNullOrEmpty(masterSettings.WeixinCertPath) || string.IsNullOrEmpty(masterSettings.WeixinCertPassword)) { empty = "系统微信发红包配置接口未配置好"; } else if (!string.IsNullOrEmpty(re_openid)) { if (!isSend) { string siteName = masterSettings.SiteName; string str = masterSettings.SiteName; RedPackClient redPackClient = new RedPackClient(); empty = redPackClient.SendRedpack(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, sub_mch_id, siteName, str, re_openid, wishing, Globals.IPAddress, act_name, remark, amount, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword, sendredpackrecordid); } else { empty = "已经发送过,不能重复发送"; } } else { empty = "用户未绑定微信"; } } return(empty); }
public string SendRedPack(string re_openid, string sub_mch_id, string wishing, string act_name, string remark, int amount, string sendredpackrecordid) { SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); if (masterSettings.EnableWeiXinRequest) { DateTime now = DateTime.Now; DateTime time2 = DateTime.Parse(now.ToString("yyyy-MM-dd") + " 00:00:01"); DateTime time3 = DateTime.Parse(now.ToString("yyyy-MM-dd") + " 08:00:00"); if ((now > time2) && (now < time3)) { return("北京时间0:00-8:00不触发红包赠送"); } if ((string.IsNullOrEmpty(masterSettings.WeixinAppId) || string.IsNullOrEmpty(masterSettings.WeixinPartnerID)) || ((string.IsNullOrEmpty(masterSettings.WeixinPartnerKey) || string.IsNullOrEmpty(masterSettings.WeixinCertPath)) || string.IsNullOrEmpty(masterSettings.WeixinCertPassword))) { return("系统微信发红包配置接口未配置好"); } if (string.IsNullOrEmpty(re_openid)) { return("用户未绑定微信"); } string siteName = masterSettings.SiteName; string str3 = masterSettings.SiteName; RedPackClient client = new RedPackClient(); try { string iPAddress = Globals.IPAddress; if (iPAddress.Length < 8) { iPAddress = "192.168.1.1"; } return(client.SendRedpack(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, sub_mch_id, siteName, str3, re_openid, wishing, iPAddress, act_name, remark, amount, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword, sendredpackrecordid, masterSettings.EnableSP, masterSettings.Main_AppId, masterSettings.Main_Mch_ID, masterSettings.Main_PayKey)); } catch (Exception exception) { return(exception.Message.ToString().Trim()); } } return("管理员后台未开启微信付款!"); }
public void RedPackCheckJob() { new StringBuilder(); DateTime time = DateTime.Now.Date.AddDays(-3.0); DataTable table = new DataTable(); string query = "select UserId,SerialID,RedpackId,Amount from Hishop_BalanceDrawRequest WHERE IsCheck=2 AND RequestType=3 AND CheckTime>=@CheckTime"; DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time); using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand)) { table = DataHelper.ConverDataReaderToDataTable(reader); } RedPackClient client = new RedPackClient(); SiteSettings masterSettings = SettingsManager.GetMasterSettings(true); DistributorsDao dao = new DistributorsDao(); if ((table != null) && (table.Rows.Count > 0)) { foreach (DataRow row in table.Rows) { string str2 = row["RedpackId"].ToString(); RedPackInfo info = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str2, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword); if (info != null) { redPackStatus status = info.Getstatus(); if (((int)status == 4) || ((int)status == 2)) { int id = int.Parse(row["SerialID"].ToString()); Globals.Debuglog(string.Concat(new object[] { "BalanceDrawRequest-", id, ":", info.ToString() }), "RedPackCheck.txt"); decimal num2 = decimal.Parse(row["Amount"].ToString()); int userId = int.Parse(row["UserId"].ToString()); dao.UpdateBalanceDistributors(userId, -1M * num2); dao.UpdateRedPackStatus(id, "红包" + status.ToString(), null); } } } } query = "select UserId,Id,RedpackId,Amount from Hishop_MemberAmountRequest WHERE State=2 AND RequestType=3 AND CheckTime>=@CheckTime"; AmountDao dao2 = new AmountDao(); sqlStringCommand = this.database.GetSqlStringCommand(query); this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time); using (IDataReader reader2 = this.database.ExecuteReader(sqlStringCommand)) { table = DataHelper.ConverDataReaderToDataTable(reader2); } if ((table != null) && (table.Rows.Count > 0)) { foreach (DataRow row2 in table.Rows) { string str3 = row2["RedpackId"].ToString(); RedPackInfo info2 = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str3, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword); if (info2 != null) { redPackStatus status2 = info2.Getstatus(); if (((int)status2 == 4) || ((int)status2 == 2)) { int num4 = int.Parse(row2["Id"].ToString()); Globals.Debuglog(string.Concat(new object[] { "MemberAmountRequest-", num4, ":", info2.ToString() }), "RedPackCheck.txt"); decimal.Parse(row2["Amount"].ToString()); int.Parse(row2["UserId"].ToString()); dao2.SetAmountRequestStatus(new int[] { num4 }, 3, "红包" + status2.ToString(), "", "SYSJOB"); } } } } }
public void RedPackCheckJob() { StringBuilder stringBuilder = new StringBuilder(); DateTime dateTime = DateTime.Now.Date.AddDays(-3.0); System.Data.DataTable dataTable = new System.Data.DataTable(); string query = "select UserId,SerialID,RedpackId,Amount from Hishop_BalanceDrawRequest WHERE IsCheck=2 AND RequestType=3 AND CheckTime>=@CheckTime"; System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); this.database.AddInParameter(sqlStringCommand, "CheckTime", System.Data.DbType.DateTime, dateTime); using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { dataTable = DataHelper.ConverDataReaderToDataTable(dataReader); } RedPackClient redPackClient = new RedPackClient(); SiteSettings masterSettings = SettingsManager.GetMasterSettings(true); DistributorsDao distributorsDao = new DistributorsDao(); if (dataTable != null && dataTable.Rows.Count > 0) { foreach (System.Data.DataRow dataRow in dataTable.Rows) { string mch_billno = dataRow["RedpackId"].ToString(); RedPackInfo redpackInfo = redPackClient.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, mch_billno, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword); if (redpackInfo != null) { redPackStatus redPackStatus = redpackInfo.Getstatus(); if (redPackStatus == redPackStatus.已退款 || redPackStatus == redPackStatus.发放失败) { int num = int.Parse(dataRow["SerialID"].ToString()); Globals.Debuglog(string.Concat(new object[] { "BalanceDrawRequest-", num, ":", redpackInfo.ToString() }), "RedPackCheck.txt"); decimal d = decimal.Parse(dataRow["Amount"].ToString()); int userId = int.Parse(dataRow["UserId"].ToString()); distributorsDao.UpdateBalanceDistributors(userId, -1m * d); distributorsDao.UpdateRedPackStatus(num, "红包" + redPackStatus.ToString(), null); } } } } query = "select UserId,Id,RedpackId,Amount from Hishop_MemberAmountRequest WHERE State=2 AND RequestType=3 AND CheckTime>=@CheckTime"; AmountDao amountDao = new AmountDao(); sqlStringCommand = this.database.GetSqlStringCommand(query); this.database.AddInParameter(sqlStringCommand, "CheckTime", System.Data.DbType.DateTime, dateTime); using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { dataTable = DataHelper.ConverDataReaderToDataTable(dataReader); } if (dataTable != null && dataTable.Rows.Count > 0) { foreach (System.Data.DataRow dataRow in dataTable.Rows) { string mch_billno = dataRow["RedpackId"].ToString(); RedPackInfo redpackInfo = redPackClient.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, mch_billno, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword); if (redpackInfo != null) { redPackStatus redPackStatus = redpackInfo.Getstatus(); if (redPackStatus == redPackStatus.已退款 || redPackStatus == redPackStatus.发放失败) { int num = int.Parse(dataRow["Id"].ToString()); Globals.Debuglog(string.Concat(new object[] { "MemberAmountRequest-", num, ":", redpackInfo.ToString() }), "RedPackCheck.txt"); decimal d = decimal.Parse(dataRow["Amount"].ToString()); int userId = int.Parse(dataRow["UserId"].ToString()); amountDao.SetAmountRequestStatus(new int[] { num }, 3, "红包" + redPackStatus.ToString(), "", "SYSJOB"); } } } } }