Beispiel #1
0
 public static void Fatal(string ikey, string logtype, string module, string orderNo, string content, string keyword)
 {
     if (LogLevelEnum.Fatal >= LogSetting.LogLevel)
     {
         DBLog.Process(RequestProfile.Username, ikey, RequestProfile.ClientIP, module, orderNo, logtype, content, string.IsNullOrWhiteSpace(keyword) ? "Fatal" : keyword);
     }
 }
Beispiel #2
0
        public int ExecNotifyMessageDataMove(int day)
        {
            string notifySql =
                @"CREATE TEMPORARY TABLE temp_notifymessage  (SELECT * FROM notifymessage WHERE DATEDIFF(CURRENT_TIME(),createtime) >=@Day  LIMIT 30000) ;
INSERT INTO notifymessage_backup(messageid ,appid,messagepriority,clientip,createtime,sourcefrom,messagekey,messagetype,notifydata)
SELECT messageid ,appid,messagepriority,clientip,createtime,sourcefrom,messagekey,messagetype,notifydata 
FROM temp_notifymessage ;
DELETE a FROM notifymessage a,temp_notifymessage b  
WHERE a.mid=b.mid ;
DROP TABLE temp_notifymessage;";

            DynamicParameters param = new DynamicParameters();

            param.Add("Day", day);
            int row = 0;

            using (IDbConnection conn = ConnectionFactory.JinRiNotify_CMD)
            {
                try
                {
                    conn.Open();
                    IDbTransaction tran = conn.BeginTransaction();
                    row = conn.Execute(notifySql, param);
                    if (row > 0)
                    {
                        tran.Commit();
                    }
                }
                catch (Exception ex) {
                    DBLog.Process("", "", ClientHelper.GetClientIP(), "", "", "数据迁移", string.Format("数据迁移异常【{0}】", ex.ToString()), "数据");
                }
                return(row);
            }
        }
Beispiel #3
0
        public List <PushMessageEntity> GetPushMessageList(PushMessageCondition con)
        {
            using (IDbConnection conn = ConnectionFactory.JinRiNotify_SELECT)
            {
                const string sql =
                    @"SELECT PushId, MessageId, SettingId, MessagePriority, MessageKey, MessageType, PushData, PushStatus, NextPushTime, LastModifyTime, MessageCreateTime, CreateTime, PushCount
FROM PushMessage 
WHERE {2}
ORDER BY {0} {1}
LIMIT @PageSize";
                string condition = string.Join(" AND ", GetPushMessageConditionList(con).ToArray());
                string trueSql   = string.Format(sql, con.OrderBy, con.OrderDirection, condition);
                DBLog.Process("", con.MessagePriority, "", "GetPushMessageList", "", "获取重推数据列表", trueSql);

                return(conn.Query <PushMessageEntity>(trueSql, con).ToList());
            }
        }
Beispiel #4
0
        internal List <NotifyOrderEntity> QueryOrdersList(ScanOrderCondition condition)
        {
            string sql = "";

            try
            {
                const string             table       = @" dbo.tblOrders   WITH(NOLOCK) ";
                const string             selectField = @"OrderId, OrderNo,  OrderStatus,{0} OutTime,SalesmanID,ProviderID,ProxyerID";
                string                   orderby     = "OutTime" + " " + condition.OrderDirection;
                string                   sqlWhere    = string.Join(" AND ", GetOrdersConditionList(condition).ToArray());
                List <NotifyOrderEntity> list        = CommonPage.GetData <NotifyOrderEntity, ScanOrderCondition>(table, string.Format(selectField, condition.OrderBy), orderby, sqlWhere, condition, out sql);
                DBLog.Process("", "", "", "JinRiDBQuery.QueryOrdersList", "", "获取订单信息", string.Format("sql:【{0}】,扫描查询条件ScanOrderCondition:【{1}】", sql, JsonConvert.SerializeObject(condition)), "Info");
                return(list);
            }
            catch (Exception ex)
            {
                DBLog.Process("", "", "", "JinRiDBQuery.QueryOrdersList", "", "获取订单信息", string.Format("sql:【{0}】,扫描查询条件ScanOrderCondition:【{1}】,获取订单信息异常,ex:{2}", sql, JsonConvert.SerializeObject(condition), ex.Message), "Fatal");
                List <NotifyOrderEntity> list = new List <NotifyOrderEntity>();
                return(list);
            }
        }
Beispiel #5
0
        /// <summary>
        /// 获取扫描订单信息
        /// </summary>
        /// <param name="setting"></param>
        /// <param name="stime"></param>
        /// <param name="etime"></param>
        /// <returns></returns>
        public List <NotifyOrderEntity> GetOrdersList(ScanOrderCondition condition)
        {
            string sql = "";

            try
            {
                const string sqlStr =
                    @"SELECT OrderNo,  OrderStatus,{0} OutTime,SalesmanID,ProviderID,ProxyerID
FROM tblOrders WITH(NOLOCK) 
WHERE OrderStatus = @OrderStatus 
AND {0} BETWEEN @Stime AND @Etime 
AND OrderId > @OrderId  {1}
ORDER BY {0}";
                string includes = "";
                if (!string.IsNullOrWhiteSpace(condition.Includes))
                {
                    includes = string.Format(" AND SalesmanId IN ({0}) ", condition.Includes);
                }
                sql = string.Format(sqlStr, condition.OrderBy, includes);

                DynamicParameters parameter = new DynamicParameters();
                parameter.Add("OrderStatus", condition.Status);
                parameter.Add("Stime", condition.StartTime);
                parameter.Add("Etime", condition.EndTime);
                parameter.Add("OrderId", condition.ScanOrderIdInit);
                parameter.Add("OrderByField", condition.OrderBy);

                DBLog.Process("sql", "sql", "", "sql", "sql", "sql", string.Format("sql:【{0}】,扫描查询条件ScanOrderCondition:【{1}】", sql, JsonConvert.SerializeObject(condition)), "sql");
                using (var conn = new SqlConnection(ConnectionString.JinRiDB_SELECT))
                {
                    return(conn.Query <NotifyOrderEntity>(sql, parameter).ToList());
                }
            }
            catch (Exception ex)
            {
                DBLog.Process("", "", "", "JinRiDBQuery.GetOrdersList", "", "获取订单信息", string.Format("sql:【{0}】,扫描查询条件ScanOrderCondition:【{1}】,获取订单信息异常,ex:{2}", sql, JsonConvert.SerializeObject(condition), ex.Message), "Fatal");
                List <NotifyOrderEntity> list = new List <NotifyOrderEntity>();
                return(list);
            }
        }
Beispiel #6
0
        public void TestHandleShouldBeSuccess()
        {
            Task.Run(() =>
            {
                for (int i = 0; i < 380; i++)
                {
                    var logMessage = new LogMessage
                    {
                        ClientIP = "ClientIP",
                        Content  = "Content",
                        Ikey     = Guid.NewGuid().ToString(),
                        IsHandle = true,
                        Keyword  = "keyword",
                        LogTime  = DateTime.Now,
                        LogType  = "LogType",
                        Module   = "Module",
                        OrderNo  = "OrdeNo",
                        ServerIP = "ServerIP",
                        Username = "******"
                    };
                    if (i % 2 == 1)
                    {
                        logMessage.IsHandle = false;
                        DBLog.Process(logMessage);
                    }
                    else
                    {
                        DBLog.Handle(logMessage);
                    }
                }
            });

            Task.Run(() =>
            {
                DBLog.ConsumeForEach();
            });

            Thread.Sleep(1000 * 60 * 10);
        }
Beispiel #7
0
        //[Fact]
        public void HandleTest()
        {
            List <LogMessage> list = new List <LogMessage>();

            for (int i = 0; i < 100000 * 10; i++)
            {
                LogMessage log = new LogMessage();
                log.Ikey     = Guid.NewGuid().ToString("N");
                log.Username = "******";
                log.ClientIP = "0.0.0.0";
                log.Content  = "批量测试";
                log.Keyword  = "测试";
                log.ServerIP = "127.0.0.1";
                log.OrderNo  = "";
                log.Module   = Assembly.GetExecutingAssembly().GetLoadedModules()[0].Name;
                log.LogType  = "LogMessageDALTest";
                log.LogTime  = DateTime.Now;
                log.IsHandle = true;
                list.Add(log);
                DBLog.Process(log);
            }
            Thread.Sleep(1000 * 60 * 20);
        }
Beispiel #8
0
        public int ExecPushMessageDataMove(int day)
        {
            string notifySql =
                @"CREATE TEMPORARY TABLE temp_pushmessage  (SELECT * FROM pushmessage WHERE DATEDIFF(CURRENT_TIME(),createtime) >=@Day  LIMIT 30000) ;
INSERT INTO pushmessage_backup(pushid,messageid,settingid,pushstatus,nextpushtime,lastmodifytime,messagecreatetime,createtime,pushcount,messagepriority,messagekey,
messagetype,pushdata,memo)
SELECT pushid,messageid,settingid,pushstatus,nextpushtime,lastmodifytime,messagecreatetime,createtime,pushcount,messagepriority,messagekey,
messagetype,pushdata,memo 
FROM temp_pushmessage ;
DELETE a FROM pushmessage a,temp_pushmessage b  
WHERE a.pid=b.pid ;
DROP TABLE temp_pushmessage;";

            DynamicParameters param = new DynamicParameters();

            param.Add("Day", day);
            int row = 0;

            using (IDbConnection conn = ConnectionFactory.JinRiNotify_CMD)
            {
                try
                {
                    conn.Open();
                    IDbTransaction tran = conn.BeginTransaction();
                    row = conn.Execute(notifySql, param);
                    if (row > 0)
                    {
                        tran.Commit();
                    }
                }
                catch (Exception ex)
                {
                    DBLog.Process("", "", ClientHelper.GetClientIP(), "", "", "数据迁移", string.Format("数据迁移异常【{0}】", ex.ToString()), "数据");
                }
                return(row);
            }
        }
Beispiel #9
0
 /// <summary>
 /// 发送短信
 /// </summary>
 /// <param name="sMobilephone">手机号</param>
 /// <param name="scontext">发送内容</param>
 /// <param name="guid">日志guid</param>
 /// <param name="jinriDBKey">数据库链接key</param>
 /// <returns></returns>
 public static bool SendSms(string sMobilephone, string scontext, string guid, string jinriDBKey)
 {
     try
     {
         string doResult   = string.Empty;
         string smsFlag    = new TblWebConfig(jinriDBKey).GetCacheValue("JinriSMSPostMsgFlag", "0");
         string smsKey     = new TblWebConfig(jinriDBKey).GetCacheValue("JinriSMSKeyCode", "");//密钥
         string requestStr = smsFlag + "^" + sMobilephone + "^" + scontext;
         requestStr = CryptographyHelper.Encrypt(requestStr, smsKey);
         try
         {
             SmsService sendSms = new SmsService();
             doResult = sendSms.SendSms(requestStr);
         }
         catch (Exception ex)
         {
             DBLog.Process("", guid, "", "SmsHelper.cs", "", "短信发送失败", "短信发送失败,[" + ex.Message + "]" + ex.StackTrace);
             return(false);
         }
         string[] resultStr = doResult.Split('^');
         if (resultStr[0].Contains("全部成功"))
         {
             return(true);
         }
         else
         {
             DBLog.Process("", guid, "", "SmsHelper.cs", "", "短信发送失败", "短信发送失败,[" + doResult + "]");
             return(false);
         }
     }
     catch (Exception ex)
     {
         DBLog.Process("", guid, "", "SmsHelper.cs", "", "短信发送失败", "短信发送失败,[" + ex.Message + "]" + ex.StackTrace);
         return(false);
     }
 }
Beispiel #10
0
 public static void LogInfo(string settingName, string value, string module, string errMsg)
 {
     DBLog.Process(RequestProfile.Username, "", RequestProfile.ClientIP, module, "", "初始化服务配置", string.Format("配置名:{0},配置值:{1},消息:{2}", settingName, value, errMsg), "Info");
 }
Beispiel #11
0
        /// <summary>
        /// 补扫
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public List <NotifyOrderEntity> GetOrdersListBuSao(ScanOrderCondition condition)
        {
            string sql = "";

            try
            {
                List <NotifyOrderEntity> notifyList = new List <NotifyOrderEntity>();
                List <NotifyOrderEntity> list1      = null;
                List <NotifyOrderEntity> list2      = null;
                List <NotifyOrderEntity> list3      = null;
                string includes = "";
                if (!string.IsNullOrWhiteSpace(condition.Includes))
                {
                    includes = string.Format(" AND SalesmanId IN ({0}) ", condition.Includes);
                }

                #region 出票
                string sqlStr =
                    @"SELECT OrderNo,  OrderStatus
FROM tblOrders WITH(NOLOCK) 
WHERE OrderStatus =2 
AND OutTime BETWEEN @Stime AND @Etime 
AND OrderId > @OrderId  {0}
ORDER BY OutTime";
                sql = string.Format(sqlStr, includes);
                DynamicParameters parameter = new DynamicParameters();
                parameter.Add("Stime", condition.StartTime);
                parameter.Add("Etime", condition.EndTime);
                parameter.Add("OrderId", condition.ScanOrderIdInit);
                using (var conn = new SqlConnection(ConnectionString.JinRiDB_SELECT))
                {
                    list1 = conn.Query <NotifyOrderEntity>(sql, parameter).ToList();
                }
                #endregion

                #region 暂不能出票
                sqlStr =
                    @"SELECT OrderNo,  OrderStatus
FROM tblOrders WITH(NOLOCK) 
WHERE OrderStatus =7 
AND Contingent7 BETWEEN @Stime AND @Etime 
AND OrderId > @OrderId  {0}
ORDER BY Contingent7";
                sql = string.Format(sqlStr, includes);
                using (var conn = new SqlConnection(ConnectionString.JinRiDB_SELECT))
                {
                    list2 = conn.Query <NotifyOrderEntity>(sql, parameter).ToList();
                }
                #endregion

                #region 退款成功
                sqlStr =
                    @"SELECT OrderNo,  OrderStatus
FROM tblOrders WITH(NOLOCK) 
WHERE OrderStatus =5 
AND OverTime BETWEEN @Stime AND @Etime 
AND OrderId > @OrderId  {0}
ORDER BY OverTime";
                sql = string.Format(sqlStr, includes);
                using (var conn = new SqlConnection(ConnectionString.JinRiDB_SELECT))
                {
                    list3 = conn.Query <NotifyOrderEntity>(sql, parameter).ToList();
                }
                #endregion

                if (list1.Any())
                {
                    notifyList.AddRange(list1);
                }
                if (list2.Any())
                {
                    notifyList.AddRange(list2);
                }
                if (list3.Any())
                {
                    notifyList.AddRange(list3);
                }
                return(notifyList);
            }
            catch (Exception ex)
            {
                DBLog.Process("", "", "", "JinRiDBQuery.GetOrdersList", "", "获取订单信息", string.Format("sql:【{0}】,扫描查询条件ScanOrderCondition:【{1}】,获取订单信息异常,ex:{2}", sql, JsonConvert.SerializeObject(condition), ex.Message), "Fatal");
                List <NotifyOrderEntity> list = new List <NotifyOrderEntity>();
                return(list);
            }
        }