Esempio n. 1
0
        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("管理员后台未开启微信付款!");
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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("管理员后台未开启微信付款!");
        }
Esempio n. 5
0
        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");
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        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");
                        }
                    }
                }
            }
        }