Просмотр исходного кода

自定义查询redis部分调通

lcl 2 лет назад
Родитель
Сommit
694d915d04

+ 1 - 2
AppStart/Redis/CustomRedisDbconn.cs

@@ -11,9 +11,8 @@ namespace MySystem
     public class CustomRedisDbconn
     {
         public CSRedis.CSRedisClient csredis;
-        public CustomRedisDbconn(string key, int Database = 0)
+        public CustomRedisDbconn(string connstr, int Database = 0)
         {
-            string connstr = Library.ConfigurationManager.AppSettings[key].ToString();
             csredis = new CSRedis.CSRedisClient(connstr);
         }
 

+ 3 - 3
Areas/Admin/Controllers/MainServer/CustomQueryController.cs

@@ -492,7 +492,7 @@ namespace MySystem.Areas.Admin.Controllers
                 string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"FileName\":\"执行\",\"MaxCount\":\"50\",\"ConnectStr\":\"" + ConnectStr + "\"}";
                 RedisDbconn.Instance.AddList("ExportQueue", SendData);
             }
-            else if(item.ExcuteFlag == 2)
+            else if(item.ExcuteFlag == 3)
             {
                 string redisCommand = sql;
                 string[] redisCommandList = redisCommand.Split(' ');
@@ -507,11 +507,11 @@ namespace MySystem.Areas.Admin.Controllers
                 {
                     new CustomRedisDbconn(ConnectStr).Set(key, val);
                 }
-                else if(kind == "set")
+                else if(kind == "addint")
                 {
                     new CustomRedisDbconn(ConnectStr).AddInt(key, int.Parse(val));
                 }
-                else if(kind == "set")
+                else if(kind == "addnum")
                 {
                     new CustomRedisDbconn(ConnectStr).AddNumber(key, decimal.Parse(val));
                 }

+ 15 - 12
Areas/Admin/Controllers/MainServer/CustomQueryDoController.cs

@@ -148,15 +148,15 @@ namespace MySystem.Areas.Admin.Controllers
                         if(!string.IsNullOrEmpty(sub.DataKey))
                         {
                             string[] TextFields = sub.DataText.Split(',');
-                            Dictionary<string, string> vals = new Dictionary<string, string>();
                             foreach(DataRow dr in dtsub.Rows)
                             {
-                                foreach(string key in TextFields)
+                                Dictionary<string, string> vals = new Dictionary<string, string>();
+                                foreach (string key in TextFields)
                                 {
                                     vals.Add(key, dr[key].ToString());
                                 }
+                                dicValsJson.Add(sub.Alias + "." + dr[sub.DataKey].ToString(), vals);
                             }
-                            dicValsJson.Add(sub.Alias + "." + sub.DataKey, vals);
                         }
                         else
                         {
@@ -208,13 +208,16 @@ namespace MySystem.Areas.Admin.Controllers
             foreach(Match m in mc)
             {
                 string fieldName = m.Value.Replace("#{", "").Replace("}#", "");
-                if(dicVals.ContainsKey(fieldName))
+                if(!fieldName.Contains("."))
                 {
-                    sql = sql.Replace(m.Value, dicVals[fieldName]);
-                }
-                else
-                {
-                    sql = sql.Replace(m.Value, "");
+                    if(dicVals.ContainsKey(fieldName))
+                    {
+                        sql = sql.Replace(m.Value, dicVals[fieldName]);
+                    }
+                    else
+                    {
+                        sql = sql.Replace(m.Value, "");
+                    }
                 }
             }
             mc = Regex.Matches(sql, @"\$\replace{.*?\}\$");
@@ -284,7 +287,7 @@ namespace MySystem.Areas.Admin.Controllers
                         Dictionary<string, string> row = new Dictionary<string, string>();
                         foreach(string ColumnName in dr.Keys)
                         {
-                            Match m = Regex.Match(dr[ColumnName], @"\#\{.*?\}\#");
+                            Match m = Regex.Match(function.CheckNull(dr[ColumnName]), @"\#\{.*?\}\#");
                             if(m.Success)
                             {
                                 string fieldName = m.Value.Replace("#{", "").Replace("}#", "");
@@ -328,7 +331,7 @@ namespace MySystem.Areas.Admin.Controllers
                 else if (kind == "get")
                 {
                     Dictionary<string, string> row = new Dictionary<string, string>();
-                    row.Add("值", new CustomRedisDbconn(ConnectStr).Get<string>(key));
+                    row.Add("值", function.CheckNull(new CustomRedisDbconn(ConnectStr).Get<string>(key)));
                     diclist.Add(row);
                 }
             }
@@ -443,7 +446,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 SubSqlString = ",\"SubSqlString\":" + Newtonsoft.Json.JsonConvert.SerializeObject(subJson);
             }
-            string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"0\"" + SubSqlString + "}";
+            string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"ConnectStr\":\"" + item.DatabaseConnect + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"0\"" + SubSqlString + "}";
             RedisDbconn.Instance.AddList("ExportQueue", SendData);
             return "success";
         }

+ 0 - 7
Areas/Admin/Views/MainServer/CustomQuery/Confirm.cshtml

@@ -27,13 +27,6 @@
                 </ul>
                 <div class="layui-tab-content mt20">
                     <div class="layui-tab-item layui-show">
-                        <div class="layui-form-item">
-                            <label class="layui-form-label">标题</label>
-                            <div class="layui-input-inline">
-                                <input class="layui-input" type="text" id="Title" name="Title" maxlength="50"
-                                    lay-verify="required|" autocomplete="off" placeholder="请输入标题">
-                            </div>
-                        </div>
                         @foreach(string key in query.Keys)
                         {
                             <div class="layui-form-item">