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

Merge branch 'DuGuYang' into feature-dgy-后台测试

# Conflicts:
#	Startup.cs
DuGuYang 2 лет назад
Родитель
Сommit
46daa33837

+ 1 - 1
AppStart/Helper/GetRadioCardInfoService.cs

@@ -100,7 +100,6 @@ public class GetRadioCardInfoService
                 else
                 {
                     function.WriteLog(DateTime.Now.ToString() + "\n" + result, "请求行销宝信息接口异常");
-                    Thread.Sleep(1800000);
                 }
             }
             catch (Exception ex)
@@ -108,6 +107,7 @@ public class GetRadioCardInfoService
                 function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "获取行销宝信息线程异常");
             }
             db.Dispose();
+            Thread.Sleep(1800000);
         }
     }
 

+ 6 - 0
Areas/Admin/Controllers/MainServer/CustomQueryController.cs

@@ -60,6 +60,10 @@ namespace MySystem.Areas.Admin.Controllers
 
 
             string condition = " and Status>-1";
+            if(SysUserName != "admin")
+            {
+                condition += " and CONCAT(',', AdminNames,',') like '%," + SysUserName + ",%'";
+            }
 
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("CustomQuery", Fields, "Id desc", "0", page, limit, condition);
@@ -105,6 +109,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Title", data.Title); //标题
             Fields.Add("AdminNames", data.AdminNames); //后台账号
             Fields.Add("ExcuteFlag", data.ExcuteFlag); //是否执行
+            Fields.Add("DatabaseConnect", data.DatabaseConnect); //数据库
 
             Fields.Add("SeoTitle", data.SeoTitle);
             Fields.Add("SeoKeyword", data.SeoKeyword);
@@ -152,6 +157,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("Title", data.Title); //标题
             Fields.Add("AdminNames", data.AdminNames); //后台账号
             Fields.Add("ExcuteFlag", data.ExcuteFlag); //是否执行
+            Fields.Add("DatabaseConnect", data.DatabaseConnect); //数据库
 
             Fields.Add("SeoTitle", data.SeoTitle);
             Fields.Add("SeoKeyword", data.SeoKeyword);

+ 70 - 5
Areas/Admin/Controllers/MainServer/CustomQueryDoController.cs

@@ -43,6 +43,14 @@ namespace MySystem.Areas.Admin.Controllers
             ViewBag.Id = Id.ToString();
             Dictionary<string, string> query = new Dictionary<string, string>();
             CustomQuery item = db.CustomQuery.FirstOrDefault(m => m.Id == Id) ?? new CustomQuery();
+            if(SysUserName != "admin")
+            {
+                string checkString = "," + item.AdminNames + ",";
+                if(!checkString.Contains("," + SysUserName + ","))
+                {
+                    return Content("无权限");
+                }
+            }
             string sql = item.SqlContent;
             MatchCollection mc = Regex.Matches(sql, @"\$\{.*?\}\$");
             foreach(Match m in mc)
@@ -95,9 +103,19 @@ namespace MySystem.Areas.Admin.Controllers
         public JsonResult IndexData(int Id, int page = 1, int limit = 30)
         {
             Dictionary<string, string> dicVals = new Dictionary<string, string>();
+            string ConnectStr = "";
             List<CustomQuerySub> subItems = db.CustomQuerySub.Where(m => m.ParentId == Id).ToList();
             foreach(CustomQuerySub sub in subItems)
             {
+                ConnectStr = sub.DatabaseConnect;
+                if(!string.IsNullOrEmpty(ConnectStr))
+                {
+                    ConnectStr = GetConnectStr(sub.DatabaseConnect);
+                }
+                else
+                {
+                    ConnectStr = MysqlConn.ReadSqlConnStr;
+                }
                 string sqlstr = sub.SqlContent;
                 MatchCollection mcsub = Regex.Matches(sqlstr, @"\$\{.*?\}\$");
                 foreach(Match m in mcsub)
@@ -121,7 +139,7 @@ namespace MySystem.Areas.Admin.Controllers
                     }
                 }
 
-                DataTable dtsub = CustomerSqlConn.dtable(sqlstr, MysqlConn.ReadSqlConnStr);
+                DataTable dtsub = CustomerSqlConn.dtable(sqlstr, ConnectStr);
                 if(dtsub.Rows.Count > 0)
                 {
                     if(dtsub.Rows.Count > 1)
@@ -145,6 +163,15 @@ namespace MySystem.Areas.Admin.Controllers
                 }
             }
             CustomQuery item = db.CustomQuery.FirstOrDefault(m => m.Id == Id) ?? new CustomQuery();
+            ConnectStr = item.DatabaseConnect;
+            if(!string.IsNullOrEmpty(ConnectStr))
+            {
+                ConnectStr = GetConnectStr(item.DatabaseConnect);
+            }
+            else
+            {
+                ConnectStr = MysqlConn.ReadSqlConnStr;
+            }
             string sql = item.SqlContent;
             MatchCollection mc = Regex.Matches(sql, @"\$\{.*?\}\$");
             foreach(Match m in mc)
@@ -185,7 +212,7 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 sql += " limit " + limit;
             }
-            DataTable dt = CustomerSqlConn.dtable(sql, MysqlConn.ReadSqlConnStr);
+            DataTable dt = CustomerSqlConn.dtable(sql, ConnectStr);
             List<Dictionary<string, string>> diclist = new List<Dictionary<string, string>>();
             foreach(DataRow dr in dt.Rows)
             {
@@ -227,6 +254,16 @@ namespace MySystem.Areas.Admin.Controllers
             List<CustomQuerySub> subItems = db.CustomQuerySub.Where(m => m.ParentId == Id).ToList();
             foreach(CustomQuerySub sub in subItems)
             {
+                string ConnectStr = sub.DatabaseConnect;
+                if(!string.IsNullOrEmpty(ConnectStr))
+                {
+                    ConnectStr = GetConnectStr(sub.DatabaseConnect);
+                }
+                else
+                {
+                    ConnectStr = MysqlConn.ReadSqlConnStr;
+                }
+
                 string sqlstr = sub.SqlContent;
                 MatchCollection mcsub = Regex.Matches(sqlstr, @"\$\{.*?\}\$");
                 foreach(Match m in mcsub)
@@ -305,11 +342,21 @@ namespace MySystem.Areas.Admin.Controllers
         public string Excute(int Id)
         {
             var sysAdmin = bsdb.SysAdmin.FirstOrDefault(m => m.AdminName == SysUserName && m.Status > -1);
-
+            string ConnectStr = "";
             Dictionary<string, string> dicVals = new Dictionary<string, string>();
             List<CustomQuerySub> subItems = db.CustomQuerySub.Where(m => m.ParentId == Id).ToList();
             foreach(CustomQuerySub sub in subItems)
             {
+                ConnectStr = sub.DatabaseConnect;
+                if(!string.IsNullOrEmpty(ConnectStr))
+                {
+                    ConnectStr = GetConnectStr(sub.DatabaseConnect);
+                }
+                else
+                {
+                    ConnectStr = MysqlConn.ReadSqlConnStr;
+                }
+
                 string sqlstr = sub.SqlContent;
                 MatchCollection mcsub = Regex.Matches(sqlstr, @"\$\{.*?\}\$");
                 foreach(Match m in mcsub)
@@ -329,7 +376,7 @@ namespace MySystem.Areas.Admin.Controllers
                     }
                 }
 
-                DataTable dtsub = CustomerSqlConn.dtable(sqlstr, MysqlConn.ReadSqlConnStr);
+                DataTable dtsub = CustomerSqlConn.dtable(sqlstr, ConnectStr);
                 if(dtsub.Rows.Count > 0)
                 {
                     if(dtsub.Rows.Count > 1)
@@ -353,6 +400,15 @@ namespace MySystem.Areas.Admin.Controllers
                 }
             }
             CustomQuery item = db.CustomQuery.FirstOrDefault(m => m.Id == Id) ?? new CustomQuery();
+            ConnectStr = item.DatabaseConnect;
+            if(!string.IsNullOrEmpty(ConnectStr))
+            {
+                ConnectStr = GetConnectStr(item.DatabaseConnect);
+            }
+            else
+            {
+                ConnectStr = MysqlConn.ReadSqlConnStr;
+            }
             string sql = item.SqlContent;
             MatchCollection mc = Regex.Matches(sql, @"\$\{.*?\}\$");
             foreach(Match m in mc)
@@ -372,12 +428,21 @@ namespace MySystem.Areas.Admin.Controllers
                 sql = sql.Replace(m.Value, str);
             }
             var FileName = item.Title + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
-            string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"FileName\":\"执行\",\"MaxCount\":\"" + item.ExcuteFlag + "\"}";
+            string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + sql + "\",\"FileName\":\"执行\",\"MaxCount\":\"" + item.ExcuteFlag + "\",\"ConnectStr\":\"" + ConnectStr + "\"}";
             RedisDbconn.Instance.AddList("ExportQueue", SendData);
             return "success";
         }
 
         #endregion
 
+        #region 获取链接数据库字符串
+
+        public string GetConnectStr(string key)
+        {
+            return Library.ConfigurationManager.AppSettings[key].ToString();
+        }
+
+        #endregion
+
     }
 }

+ 2 - 0
Areas/Admin/Controllers/MainServer/CustomQuerySubController.cs

@@ -110,6 +110,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ParentId", data.ParentId); //父级
             Fields.Add("Kind", data.Kind); //类型
             Fields.Add("Alias", data.Alias); //别名
+            Fields.Add("DatabaseConnect", data.DatabaseConnect); //数据库
 
             Fields.Add("SeoTitle", data.SeoTitle);
             Fields.Add("SeoKeyword", data.SeoKeyword);
@@ -160,6 +161,7 @@ namespace MySystem.Areas.Admin.Controllers
             Fields.Add("ParentId", data.ParentId); //父级
             Fields.Add("Kind", data.Kind); //类型
             Fields.Add("Alias", data.Alias); //别名
+            Fields.Add("DatabaseConnect", data.DatabaseConnect); //数据库
 
             Fields.Add("SeoTitle", data.SeoTitle);
             Fields.Add("SeoKeyword", data.SeoKeyword);

+ 6 - 0
Areas/Admin/Views/MainServer/CustomQuery/Add.cshtml

@@ -62,6 +62,12 @@
                                     placeholder="请输入执行条数">
                             </div>
                         </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">数据库</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" id="DatabaseConnect" name="DatabaseConnect" maxlength="50" lay-verify="required|" autocomplete="off" placeholder="请输入标题">
+                            </div>
+                        </div>
 
                     </div>
 

+ 8 - 0
Areas/Admin/Views/MainServer/CustomQuery/Edit.cshtml

@@ -67,6 +67,14 @@
                                     placeholder="请输入执行条数">
                             </div>
                         </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">数据库</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" id="DatabaseConnect" name="DatabaseConnect"
+                                    value="@editData.DatabaseConnect" maxlength="50" lay-verify="required|" autocomplete="off"
+                                    placeholder="请输入标题">
+                            </div>
+                        </div>
 
                     </div>
 

+ 6 - 0
Areas/Admin/Views/MainServer/CustomQuerySub/Add.cshtml

@@ -60,6 +60,12 @@
                                     lay-verify="required|" placeholder="请输入sql语句"></textarea>
                             </div>
                         </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">数据库</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" id="DatabaseConnect" name="DatabaseConnect" maxlength="50" lay-verify="required|" autocomplete="off" placeholder="请输入标题">
+                            </div>
+                        </div>
 
                     </div>
 

+ 8 - 0
Areas/Admin/Views/MainServer/CustomQuerySub/Edit.cshtml

@@ -65,6 +65,14 @@
                                     lay-verify="required|" placeholder="请输入sql语句">@editData.SqlContent</textarea>
                             </div>
                         </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">数据库</label>
+                            <div class="layui-input-inline">
+                                <input class="layui-input" type="text" id="DatabaseConnect" name="DatabaseConnect"
+                                    value="@editData.DatabaseConnect" maxlength="50" lay-verify="required|" autocomplete="off"
+                                    placeholder="请输入标题">
+                            </div>
+                        </div>
 
                     </div>
 

+ 12 - 0
Models/AdminMoveInfo.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.Models
+{
+    public partial class AdminMoveInfo
+    {
+        public int UserId { get; set; }
+        public DateTime? UpdateTime { get; set; }
+        public string LoginPwd { get; set; }
+    }
+}

+ 17 - 0
Models/ChangeTypeKind.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.Models
+{
+    public partial class ChangeTypeKind
+    {
+        public int Id { get; set; }
+        public int Sort { get; set; }
+        public int Status { get; set; }
+        public int Version { get; set; }
+        public DateTime? CreateDate { get; set; }
+        public DateTime? UpdateDate { get; set; }
+        public string Name { get; set; }
+        public string Operator { get; set; }
+    }
+}

+ 1 - 0
Models/ChangeTypes.cs

@@ -16,5 +16,6 @@ namespace MySystem.Models
         public string SeoDescription { get; set; }
         public string Name { get; set; }
         public int Kind { get; set; }
+        public int TypeId { get; set; }
     }
 }

+ 1 - 0
Models/CustomQuery.cs

@@ -21,5 +21,6 @@ namespace MySystem.Models
         public string Title { get; set; }
         public string SqlContent { get; set; }
         public int ExcuteFlag { get; set; }
+        public string DatabaseConnect { get; set; }
     }
 }

+ 1 - 0
Models/CustomQuerySub.cs

@@ -23,5 +23,6 @@ namespace MySystem.Models
         public string SqlContent { get; set; }
         public string AdminNames { get; set; }
         public string Title { get; set; }
+        public string DatabaseConnect { get; set; }
     }
 }

+ 79 - 0
Models/WebCMSEntities.cs

@@ -22,6 +22,7 @@ namespace MySystem.Models
         public virtual DbSet<ActivityRedPackageJoins> ActivityRedPackageJoins { get; set; }
         public virtual DbSet<ActivityRedPackageStock> ActivityRedPackageStock { get; set; }
         public virtual DbSet<ActivityRedPackageTop10> ActivityRedPackageTop10 { get; set; }
+        public virtual DbSet<AdminMoveInfo> AdminMoveInfo { get; set; }
         public virtual DbSet<Advertisment> Advertisment { get; set; }
         public virtual DbSet<AgentLevelSet> AgentLevelSet { get; set; }
         public virtual DbSet<AppBottomNavs> AppBottomNavs { get; set; }
@@ -37,6 +38,7 @@ namespace MySystem.Models
         public virtual DbSet<BusinessPartnerMerchant> BusinessPartnerMerchant { get; set; }
         public virtual DbSet<BusinessPartnerPos> BusinessPartnerPos { get; set; }
         public virtual DbSet<BusinessTradeSummary> BusinessTradeSummary { get; set; }
+        public virtual DbSet<ChangeTypeKind> ChangeTypeKind { get; set; }
         public virtual DbSet<ChangeTypes> ChangeTypes { get; set; }
         public virtual DbSet<Col> Col { get; set; }
         public virtual DbSet<ConsumerOpenIds> ConsumerOpenIds { get; set; }
@@ -834,6 +836,28 @@ namespace MySystem.Models
                 entity.Property(e => e.Version).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<AdminMoveInfo>(entity =>
+            {
+                entity.HasKey(e => e.UserId)
+                    .HasName("PRIMARY");
+
+                entity.HasComment("后台帐号迁移字段表");
+
+                entity.Property(e => e.UserId)
+                    .HasColumnType("int(11)")
+                    .HasComment("账户Id");
+
+                entity.Property(e => e.LoginPwd)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("登录密码")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.UpdateTime)
+                    .HasColumnType("datetime")
+                    .HasComment("更新时间");
+            });
+
             modelBuilder.Entity<Advertisment>(entity =>
             {
                 entity.HasComment("广告位");
@@ -2035,6 +2059,45 @@ namespace MySystem.Models
                 entity.Property(e => e.VipFlag).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<ChangeTypeKind>(entity =>
+            {
+                entity.HasComment("收支明细分类");
+
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.CreateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("创建时间");
+
+                entity.Property(e => e.Name)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("分类名称")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Operator)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("操作人")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Sort)
+                    .HasColumnType("int(11)")
+                    .HasComment("排序序号");
+
+                entity.Property(e => e.Status)
+                    .HasColumnType("int(11)")
+                    .HasComment("状态");
+
+                entity.Property(e => e.UpdateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("修改时间");
+
+                entity.Property(e => e.Version)
+                    .HasColumnType("int(11)")
+                    .HasComment("版本号");
+            });
+
             modelBuilder.Entity<ChangeTypes>(entity =>
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
@@ -2069,6 +2132,10 @@ namespace MySystem.Models
 
                 entity.Property(e => e.Status).HasColumnType("int(11)");
 
+                entity.Property(e => e.TypeId)
+                    .HasColumnType("int(11)")
+                    .HasComment("所属分类Id");
+
                 entity.Property(e => e.UpdateDate).HasColumnType("datetime");
             });
 
@@ -2719,6 +2786,12 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.DatabaseConnect)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("链接数据库")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.ExcuteFlag)
                     .HasColumnType("int(11)")
                     .HasComment("是否执行");
@@ -2802,6 +2875,12 @@ namespace MySystem.Models
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 
+                entity.Property(e => e.DatabaseConnect)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("链接数据库")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
                 entity.Property(e => e.Kind)
                     .HasColumnType("int(11)")
                     .HasComment("类型");