Преглед на файлове

自定义查询可定义数据库

lcl преди 2 години
родител
ревизия
8030380f66

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

@@ -109,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);
@@ -156,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);

+ 51 - 3
Areas/Admin/Controllers/MainServer/CustomQueryDoController.cs

@@ -103,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)
@@ -129,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)
@@ -153,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)
@@ -193,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)
             {
@@ -235,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)
@@ -318,6 +347,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)
@@ -337,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)
@@ -387,5 +426,14 @@ namespace MySystem.Areas.Admin.Controllers
 
         #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; }
     }
 }

+ 1 - 1
Models/PosMachinesTwo.cs

@@ -61,9 +61,9 @@ namespace MySystem.Models
         public int RecycStatus { get; set; }
         public string OutBatchNo { get; set; }
         public int WithholdFlag { get; set; }
+        public int LastMerchantId { get; set; }
         public int IsSupplement { get; set; }
         public int IsOpAct { get; set; }
-        public int LastMerchantId { get; set; }
         public int CardType { get; set; }
         public decimal DownFee { get; set; }
         public int FirstFlag { get; set; }

+ 30 - 0
Models/RadioCardInfo.cs

@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.Models
+{
+    public partial class RadioCardInfo
+    {
+        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 int UserId { get; set; }
+        public string BrhUserId { get; set; }
+        public string BrhName { get; set; }
+        public string OpenTime { get; set; }
+        public string OprInviteCode { get; set; }
+        public string ProvincialCompany { get; set; }
+        public string ChannelName { get; set; }
+        public string ChannelCode { get; set; }
+        public string Role { get; set; }
+        public string Gender { get; set; }
+        public string IdNo { get; set; }
+        public string Mobile { get; set; }
+        public string OprName { get; set; }
+        public string JobStatus { get; set; }
+        public string JobId { get; set; }
+    }
+}

+ 198 - 1
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; }
@@ -184,6 +186,7 @@ namespace MySystem.Models
         public virtual DbSet<PullNewAct> PullNewAct { get; set; }
         public virtual DbSet<PullNewDetail> PullNewDetail { get; set; }
         public virtual DbSet<PullnewSummary> PullnewSummary { get; set; }
+        public virtual DbSet<RadioCardInfo> RadioCardInfo { get; set; }
         public virtual DbSet<RecommendDirectUser> RecommendDirectUser { get; set; }
         public virtual DbSet<RecommendOrderCheck> RecommendOrderCheck { get; set; }
         public virtual DbSet<RecommendTradeSummary> RecommendTradeSummary { get; set; }
@@ -833,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("广告位");
@@ -2034,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)");
@@ -2068,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");
             });
 
@@ -2718,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("是否执行");
@@ -2801,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("类型");
@@ -10125,6 +10205,7 @@ namespace MySystem.Models
 
                 entity.Property(e => e.CardType)
                     .HasColumnType("int(11)")
+                    .HasDefaultValueSql("'2'")
                     .HasComment("卡类型");
 
                 entity.Property(e => e.CreateDate).HasColumnType("datetime");
@@ -10194,7 +10275,7 @@ namespace MySystem.Models
 
                 entity.Property(e => e.LastMerchantId)
                     .HasColumnType("int(11)")
-                    .HasComment("最后一次绑定商户Id");
+                    .HasComment("最后一次绑定商户");
 
                 entity.Property(e => e.LeaderUserId).HasColumnType("int(11)");
 
@@ -13273,6 +13354,121 @@ namespace MySystem.Models
                 entity.Property(e => e.Version).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<RadioCardInfo>(entity =>
+            {
+                entity.HasComment("行销宝工号信息");
+
+                entity.Property(e => e.Id).HasColumnType("int(11)");
+
+                entity.Property(e => e.BrhName)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("机构名称")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.BrhUserId)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("机构用户编码")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.ChannelCode)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("归属社招渠道编码")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.ChannelName)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("归属社招渠道名称")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.CreateDate)
+                    .HasColumnType("datetime")
+                    .HasComment("创建时间");
+
+                entity.Property(e => e.Gender)
+                    .HasColumnType("varchar(10)")
+                    .HasComment("性别")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.IdNo)
+                    .HasColumnType("varchar(18)")
+                    .HasComment("身份证号")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.JobId)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("行销宝工号")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.JobStatus)
+                    .HasColumnType("varchar(10)")
+                    .HasComment("工号状态")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Mobile)
+                    .HasColumnType("varchar(11)")
+                    .HasComment("广电手机号")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.OpenTime)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("开通时间")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.OprInviteCode)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("邀请码")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.OprName)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("人员姓名")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.ProvincialCompany)
+                    .HasColumnType("varchar(50)")
+                    .HasComment("归属省公司")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.Role)
+                    .HasColumnType("varchar(10)")
+                    .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.UserId)
+                    .HasColumnType("int(11)")
+                    .HasComment("创客Id");
+
+                entity.Property(e => e.Version)
+                    .HasColumnType("int(11)")
+                    .HasComment("版本号");
+            });
+
             modelBuilder.Entity<RecommendDirectUser>(entity =>
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");
@@ -14437,6 +14633,7 @@ namespace MySystem.Models
 
                 entity.Property(e => e.Type)
                     .HasColumnType("int(11)")
+                    .HasDefaultValueSql("'3'")
                     .HasComment("兑换类型");
 
                 entity.Property(e => e.UpdateDate)