コード例 #1
0
ファイル: PreSaleJob.cs プロジェクト: spiltservice/cloudshop
        public void Execute(XmlNode node)
        {
            DateTime now;

            if (JobParams.IsExcutePreSaleJob)
            {
                now = DateTime.Now;
                Globals.AppendLog("正在执行!" + now.ToString(), null, "PreSaleJob", "");
            }
            else
            {
                JobParams.IsExcutePreSaleJob = true;
                int num = 100;
                try
                {
                    string str = "SELECT ho.Deposit,ho.OrderId,ho.FinalPayment,ho.DepositDate,ho.UserId,ho.Username,ho.CellPhone,hp.* FROM dbo.Hishop_Orders AS ho\r\n                                LEFT JOIN dbo.Hishop_ProductPreSale AS hp\r\n                                ON ho.PreSaleId = hp.PreSaleId";
                    now = DateTime.Now;
                    DateTime  dateTime         = now.AddHours(12.0);
                    DateTime  now2             = DateTime.Now;
                    string    str2             = " where ho.PreSaleId > 0 and IsSend = 0  and DepositDate is not null and hp.PaymentStartDate <='" + dateTime.ToString() + "'";
                    string    query            = str + str2;
                    Database  database         = DatabaseFactory.CreateDatabase();
                    DbCommand sqlStringCommand = database.GetSqlStringCommand(query);
                    DataSet   dataSet          = null;
                    dataSet = database.ExecuteDataSet(sqlStringCommand);
                    if (dataSet != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0)
                    {
                        SiteSettings  masterSettings = SettingsManager.GetMasterSettings();
                        List <string> list           = new List <string>();
                        foreach (DataRow row in dataSet.Tables[0].Rows)
                        {
                            list.Add(row["OrderId"].ToNullString());
                            string   orderId   = row["OrderId"].ToNullString();
                            decimal  deposit   = Convert.ToDecimal(row["Deposit"]);
                            decimal  num2      = Convert.ToDecimal(row["FinalPayment"]);
                            int      userId    = Convert.ToInt32(row["UserId"]);
                            DateTime dateTime2 = Convert.ToDateTime(row["PaymentStartDate"]);
                            DateTime dateTime3 = Convert.ToDateTime(row["PaymentEndDate"]);
                            Messenger.OrderPaymentRetainage(orderId, deposit, num2, userId, masterSettings, dateTime2, dateTime3, row["CellPhone"].ToNullString());
                            string username = row["Username"].ToNullString();
                            VShopHelper.AppPushRecordForPreSaleOrder(orderId, userId, username, num2, dateTime2, dateTime3);
                            if (list.Count == num)
                            {
                                this.UpdateOrdersSendStaut(list);
                                list.Clear();
                            }
                        }
                        if (list.Count > 0)
                        {
                            this.UpdateOrdersSendStaut(list);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Globals.AppendLog(ex.Message, null, "PreSaleJob", "");
                }
                finally
                {
                    JobParams.IsExcutePreSaleJob = false;
                }
            }
        }