using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace MySystem.JavaModels
{
    public partial class WebCMSEntities : DbContext
    {
        public WebCMSEntities()
        {
        }

        public WebCMSEntities(DbContextOptions<WebCMSEntities> options)
            : base(options)
        {
        }

        public virtual DbSet<KxsActivityMarket> KxsActivityMarket { get; set; }
        public virtual DbSet<KxsActivityMenu> KxsActivityMenu { get; set; }
        public virtual DbSet<KxsAppModal> KxsAppModal { get; set; }
        public virtual DbSet<KxsBanner> KxsBanner { get; set; }
        public virtual DbSet<KxsBcqtTeam> KxsBcqtTeam { get; set; }
        public virtual DbSet<KxsBcqtTeamDetail> KxsBcqtTeamDetail { get; set; }
        public virtual DbSet<KxsCamp> KxsCamp { get; set; }
        public virtual DbSet<KxsCampBonusLog> KxsCampBonusLog { get; set; }
        public virtual DbSet<KxsCampGroup> KxsCampGroup { get; set; }
        public virtual DbSet<KxsCampReport> KxsCampReport { get; set; }
        public virtual DbSet<KxsCampRole> KxsCampRole { get; set; }
        public virtual DbSet<KxsCampUser> KxsCampUser { get; set; }
        public virtual DbSet<KxsCheckpoint> KxsCheckpoint { get; set; }
        public virtual DbSet<KxsCol> KxsCol { get; set; }
        public virtual DbSet<KxsDtsErrorLog> KxsDtsErrorLog { get; set; }
        public virtual DbSet<KxsDtsLog> KxsDtsLog { get; set; }
        public virtual DbSet<KxsFeedback> KxsFeedback { get; set; }
        public virtual DbSet<KxsFeedbackType> KxsFeedbackType { get; set; }
        public virtual DbSet<KxsInterfaceConfig> KxsInterfaceConfig { get; set; }
        public virtual DbSet<KxsMorning> KxsMorning { get; set; }
        public virtual DbSet<KxsMorningLog> KxsMorningLog { get; set; }
        public virtual DbSet<KxsOpenBank> KxsOpenBank { get; set; }
        public virtual DbSet<KxsRulemaking> KxsRulemaking { get; set; }
        public virtual DbSet<KxsSchoolMenu> KxsSchoolMenu { get; set; }
        public virtual DbSet<KxsSchoolStudy> KxsSchoolStudy { get; set; }
        public virtual DbSet<KxsServiceCenter> KxsServiceCenter { get; set; }
        public virtual DbSet<KxsServiceMenu> KxsServiceMenu { get; set; }
        public virtual DbSet<KxsSysMsg> KxsSysMsg { get; set; }
        public virtual DbSet<KxsSysMsgRead> KxsSysMsgRead { get; set; }
        public virtual DbSet<KxsUserMsg> KxsUserMsg { get; set; }
        public virtual DbSet<SysCity> SysCity { get; set; }
        public virtual DbSet<SysDept> SysDept { get; set; }
        public virtual DbSet<SysDict> SysDict { get; set; }
        public virtual DbSet<SysDictItem> SysDictItem { get; set; }
        public virtual DbSet<SysFile> SysFile { get; set; }
        public virtual DbSet<SysLog> SysLog { get; set; }
        public virtual DbSet<SysMenu> SysMenu { get; set; }
        public virtual DbSet<SysOauthClientDetails> SysOauthClientDetails { get; set; }
        public virtual DbSet<SysPost> SysPost { get; set; }
        public virtual DbSet<SysPublicParam> SysPublicParam { get; set; }
        public virtual DbSet<SysRole> SysRole { get; set; }
        public virtual DbSet<SysRoleMenu> SysRoleMenu { get; set; }
        public virtual DbSet<SysUser> SysUser { get; set; }
        public virtual DbSet<SysUserPost> SysUserPost { get; set; }
        public virtual DbSet<SysUserRole> SysUserRole { get; set; }
        public virtual DbSet<UndoLog> UndoLog { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseMySql(Library.ConfigurationManager.AppSettings["JavaSqlConnStr"].ToString(), x => x.ServerVersion("5.7.17-mysql"));
            }
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<KxsActivityMarket>(entity =>
            {
                entity.ToTable("kxs_activity_market");

                entity.HasComment("市场活动信息表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.Contents)
                    .HasColumnName("contents")
                    .HasColumnType("longtext")
                    .HasComment("详情描述")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.MenuId)
                    .HasColumnName("menu_id")
                    .HasComment("分类ID");

                entity.Property(e => e.PicPath)
                    .HasColumnName("pic_path")
                    .HasColumnType("varchar(255)")
                    .HasComment("封面")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("状态 0下架 1上架");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(500)")
                    .HasComment("外链")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsActivityMenu>(entity =>
            {
                entity.ToTable("kxs_activity_menu");

                entity.HasComment("市场活动分类");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.Pid)
                    .HasColumnName("pid")
                    .HasComment("父级ID");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(128)")
                    .HasComment("分类名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsAppModal>(entity =>
            {
                entity.ToTable("kxs_app_modal");

                entity.HasComment("APP弹窗管理表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BgPic)
                    .HasColumnName("bg_pic")
                    .HasColumnType("varchar(255)")
                    .HasComment("背景图片")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.BtnText)
                    .HasColumnName("btn_text")
                    .HasColumnType("varchar(18)")
                    .HasComment("按钮文字")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.EndTime)
                    .HasColumnName("end_time")
                    .HasColumnType("datetime")
                    .HasComment("结束时间");

                entity.Property(e => e.IsAssign)
                    .HasColumnName("is_assign")
                    .HasComment("是否指定 0否 1是");

                entity.Property(e => e.IsWeekend)
                    .HasColumnName("is_weekend")
                    .HasComment("是否周末 0否 1是");

                entity.Property(e => e.MsgType)
                    .HasColumnName("msg_type")
                    .HasComment("消息分类 0文本 1图片 2动图");

                entity.Property(e => e.StartTime)
                    .HasColumnName("start_time")
                    .HasColumnType("datetime")
                    .HasComment("开始时间");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("状态 0关闭 1开启");

                entity.Property(e => e.TimeByDay)
                    .HasColumnName("time_by_day")
                    .HasComment("每日推送次数");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("跳转url")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UrlParam)
                    .HasColumnName("url_param")
                    .HasColumnType("varchar(128)")
                    .HasComment("跳转Url参数")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UserCodes)
                    .HasColumnName("user_codes")
                    .HasColumnType("longtext")
                    .HasComment("指定用户编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsBanner>(entity =>
            {
                entity.ToTable("kxs_banner");

                entity.HasComment("首页广告管理表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.ColId)
                    .HasColumnName("col_id")
                    .HasColumnType("varchar(16)")
                    .HasComment("分类ID")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Contents)
                    .HasColumnName("contents")
                    .HasColumnType("longtext")
                    .HasComment("内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.PicUrl)
                    .HasColumnName("pic_url")
                    .HasColumnType("varchar(255)")
                    .HasComment("封面图地址")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasDefaultValueSql("'1'")
                    .HasComment("状态 0下架 1上架");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("跳转链接")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsBcqtTeam>(entity =>
            {
                entity.ToTable("kxs_bcqt_team");

                entity.HasComment("百城千团团队表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.ActiviteType)
                    .HasColumnName("activite_type")
                    .HasDefaultValueSql("'1'")
                    .HasComment("活动类型  1训练营");

                entity.Property(e => e.ActivityDate)
                    .HasColumnName("activity_date")
                    .HasComment("活动时长(单位:自然日)");

                entity.Property(e => e.CaptainId)
                    .HasColumnName("captain_id")
                    .HasComment("队长id");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.EndTime)
                    .HasColumnName("end_time")
                    .HasColumnType("datetime")
                    .HasComment("活动结束时间");

                entity.Property(e => e.ReachStatus)
                    .HasColumnName("reach_status")
                    .HasComment("达标状态 0未达标 1已达标");

                entity.Property(e => e.StartTime)
                    .HasColumnName("start_time")
                    .HasColumnType("datetime")
                    .HasComment("活动开始时间");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("活动状态 0报名中 1已开始 2已结束");

                entity.Property(e => e.TeamName)
                    .IsRequired()
                    .HasColumnName("team_name")
                    .HasColumnType("varchar(255)")
                    .HasComment("团队名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.TeamNumber)
                    .HasColumnName("team_number")
                    .HasComment("团队人数");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(255)")
                    .HasComment("队长姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsBcqtTeamDetail>(entity =>
            {
                entity.ToTable("kxs_bcqt_team_detail");

                entity.HasComment("百城千团团队明细表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CaptainStatus)
                    .HasColumnName("captain_status")
                    .HasComment("队长标识0非队长1队长");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.EndFlag)
                    .HasColumnName("end_flag")
                    .HasComment("结束标识0参与中 1已结束参与");

                entity.Property(e => e.GdActivateNumber)
                    .HasColumnName("gd_activate_number")
                    .HasComment("广电卡激活数");

                entity.Property(e => e.LkbActivateNumber)
                    .HasColumnName("lkb_activate_number")
                    .HasComment("来客吧激活数");

                entity.Property(e => e.PosActivateNumber)
                    .HasColumnName("pos_activate_number")
                    .HasComment("pos激活数");

                entity.Property(e => e.TeamId)
                    .HasColumnName("team_id")
                    .HasComment("团队id");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserCode)
                    .HasColumnName("user_code")
                    .HasColumnType("varchar(255)")
                    .HasComment("用户编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户id");

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(255)")
                    .HasComment("用户名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCamp>(entity =>
            {
                entity.ToTable("kxs_camp");

                entity.HasComment("训练营");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BonusPool)
                    .HasColumnName("bonus_pool")
                    .HasColumnType("decimal(18,2)")
                    .HasComment("奖金池");

                entity.Property(e => e.CampNum)
                    .HasColumnName("camp_num")
                    .HasColumnType("varchar(32)")
                    .HasComment("期数")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CampType)
                    .HasColumnName("camp_type")
                    .HasColumnType("varchar(128)")
                    .HasComment("活动类型")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateCode)
                    .HasColumnName("create_code")
                    .HasColumnType("varchar(32)")
                    .HasComment("发起人编码")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.CreateUserId)
                    .HasColumnName("create_user_id")
                    .HasComment("发起人用户ID");

                entity.Property(e => e.CreateUsername)
                    .HasColumnName("create_username")
                    .HasColumnType("varchar(32)")
                    .HasComment("发起人姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.EndTime)
                    .HasColumnName("end_time")
                    .HasColumnType("datetime")
                    .HasComment("结束时间");

                entity.Property(e => e.OpenNum)
                    .HasColumnName("open_num")
                    .HasComment("开机数");

                entity.Property(e => e.OrderNum)
                    .HasColumnName("order_num")
                    .HasComment("订单数");

                entity.Property(e => e.PicUrl)
                    .HasColumnName("pic_url")
                    .HasColumnType("varchar(500)")
                    .HasComment("活动图片")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.StartTime)
                    .HasColumnName("start_time")
                    .HasColumnType("datetime")
                    .HasComment("开始时间");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("状态 0未开始 进行中 2已结束");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasComment("更新人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserNum)
                    .HasColumnName("user_num")
                    .HasComment("参与人数");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCampBonusLog>(entity =>
            {
                entity.ToTable("kxs_camp_bonus_log");

                entity.HasComment("训练营奖金池日志表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CampId)
                    .HasColumnName("camp_id")
                    .HasComment("训练营ID");

                entity.Property(e => e.CampUserId)
                    .HasColumnName("camp_user_id")
                    .HasComment("参与训练营用户ID");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasComment("操作人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.FilterCode)
                    .HasColumnName("filter_code")
                    .HasColumnType("varchar(16)")
                    .HasComment("过滤奖励的用户编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.FilterUser)
                    .HasColumnName("filter_user")
                    .HasColumnType("varchar(50)")
                    .HasComment("过滤奖励的用户姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.GroupId)
                    .HasColumnName("group_id")
                    .HasComment("分组编号");

                entity.Property(e => e.Kind)
                    .HasColumnName("kind")
                    .HasColumnType("varchar(6)")
                    .HasComment("日志类型 add新增 sub减少")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(128)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.SourceId)
                    .HasColumnName("source_id")
                    .HasComment("来源创客ID");

                entity.Property(e => e.SourceNum)
                    .HasColumnName("source_num")
                    .HasComment("统计的数量");

                entity.Property(e => e.SourceType)
                    .HasColumnName("source_type")
                    .HasComment("来源类型 电签券=0 大机券=1 组合包=2 小盟主=3 大盟主=4 pos开机=5 广电卡激活=6");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserCode)
                    .HasColumnName("user_code")
                    .HasColumnType("varchar(16)")
                    .HasComment("来源创客编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(32)")
                    .HasComment("来源创客姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCampGroup>(entity =>
            {
                entity.HasKey(e => e.GroupId)
                    .HasName("PRIMARY");

                entity.ToTable("kxs_camp_group");

                entity.HasComment("训练营分组");

                entity.Property(e => e.GroupId)
                    .HasColumnName("group_id")
                    .HasComment("主键ID");

                entity.Property(e => e.CampId)
                    .HasColumnName("camp_id")
                    .HasComment("训练营ID");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.GroupLeaderId)
                    .HasColumnName("group_leader_id")
                    .HasComment("组长ID");

                entity.Property(e => e.GroupName)
                    .HasColumnName("group_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("小组名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.GroupOpenNum)
                    .HasColumnName("group_open_num")
                    .HasComment("开机数");

                entity.Property(e => e.GroupOrderNum)
                    .HasColumnName("group_order_num")
                    .HasComment("下单数");

                entity.Property(e => e.GroupUserCode)
                    .HasColumnName("group_user_code")
                    .HasColumnType("varchar(16)")
                    .HasComment("组长创客编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.GroupUsername)
                    .HasColumnName("group_username")
                    .HasColumnType("varchar(32)")
                    .HasComment("组长名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCampReport>(entity =>
            {
                entity.ToTable("kxs_camp_report");

                entity.HasComment("训练营报备");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CampId)
                    .HasColumnName("camp_id")
                    .HasComment("训练营ID");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("操作人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Imgs)
                    .HasColumnName("imgs")
                    .HasColumnType("longtext")
                    .HasComment("图片数组")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ReportType)
                    .HasColumnName("report_type")
                    .HasComment("报备类型 广电开卡=0 来客吧=1 业绩报备=2 商城下单=3 其他=-1");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("状态 0审核中 1审核通过 -1审核失败");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(2000)")
                    .HasComment("报备说明")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserCode)
                    .HasColumnName("user_code")
                    .HasColumnType("varchar(16)")
                    .HasComment("创客编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("报备创客ID");

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(32)")
                    .HasComment("创客姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCampRole>(entity =>
            {
                entity.ToTable("kxs_camp_role");

                entity.HasComment("训练营角色表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.RoleName)
                    .HasColumnName("role_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("角色名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("状态");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCampUser>(entity =>
            {
                entity.ToTable("kxs_camp_user");

                entity.HasComment("训练营参与创客");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CampId)
                    .HasColumnName("camp_id")
                    .HasComment("训练营ID");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.GroupId)
                    .HasColumnName("group_id")
                    .HasComment("分组ID");

                entity.Property(e => e.RoleId)
                    .HasColumnName("role_id")
                    .HasComment("角色ID");

                entity.Property(e => e.TeamBonusPool)
                    .HasColumnName("team_bonus_pool")
                    .HasColumnType("decimal(18,2)")
                    .HasComment("创客奖金池");

                entity.Property(e => e.TeamGdNum)
                    .HasColumnName("team_gd_num")
                    .HasComment("广电开机数");

                entity.Property(e => e.TeamLeaderNum)
                    .HasColumnName("team_leader_num")
                    .HasComment("团队下单大小盟主");

                entity.Property(e => e.TeamLeaderPool)
                    .HasColumnName("team_leader_pool")
                    .HasColumnType("decimal(18,2)")
                    .HasComment("创客盟主下单奖金池");

                entity.Property(e => e.TeamLkbNum)
                    .HasColumnName("team_lkb_num")
                    .HasComment("来客吧开机数");

                entity.Property(e => e.TeamOpenNum)
                    .HasColumnName("team_open_num")
                    .HasComment("团队开机总数");

                entity.Property(e => e.TeamOrderNum)
                    .HasColumnName("team_order_num")
                    .HasComment("团队下单数量");

                entity.Property(e => e.TeamOrderPool)
                    .HasColumnName("team_order_pool")
                    .HasColumnType("decimal(18,2)")
                    .HasComment("创客订单奖金池");

                entity.Property(e => e.TeamPosNum)
                    .HasColumnName("team_pos_num")
                    .HasComment("pos开机数");

                entity.Property(e => e.TeamWifiNum)
                    .HasColumnName("team_wifi_num")
                    .HasComment("团队wifi开机数");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserCode)
                    .HasColumnName("user_code")
                    .HasColumnType("varchar(16)")
                    .HasComment("创客编号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(64)")
                    .HasComment("用户姓名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsCheckpoint>(entity =>
            {
                entity.ToTable("kxs_checkpoint");

                entity.HasComment("数据同步保存消费节点表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键");

                entity.Property(e => e.Checkpoint)
                    .HasColumnName("checkpoint")
                    .HasColumnType("varchar(2000)")
                    .HasComment("消费节点")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.GroupId)
                    .HasColumnName("group_id")
                    .HasColumnType("varchar(64)")
                    .HasComment("组ID")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime");
            });

            modelBuilder.Entity<KxsCol>(entity =>
            {
                entity.ToTable("kxs_col");

                entity.HasComment("广告位分类表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.ColDetail)
                    .HasColumnName("col_detail")
                    .HasColumnType("varchar(255)")
                    .HasComment("分类详情")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColId)
                    .HasColumnName("col_id")
                    .HasColumnType("varchar(16)")
                    .HasComment("分类ID标识")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColName)
                    .HasColumnName("col_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("分类名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColPic)
                    .HasColumnName("col_pic")
                    .HasColumnType("varchar(255)")
                    .HasComment("分类背景图片")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("外链")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsDtsErrorLog>(entity =>
            {
                entity.ToTable("kxs_dts_error_log");

                entity.HasComment("数据同步记录失败日志表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("原始数据")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.ErrorStr)
                    .HasColumnName("error_str")
                    .HasColumnType("longtext")
                    .HasComment("错误信息")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Operation)
                    .HasColumnName("operation")
                    .HasColumnType("varchar(12)")
                    .HasComment("操作类型")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.TableName)
                    .HasColumnName("table_name")
                    .HasColumnType("varchar(32)")
                    .HasComment("表名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("修改时间");
            });

            modelBuilder.Entity<KxsDtsLog>(entity =>
            {
                entity.ToTable("kxs_dts_log");

                entity.HasComment("数据同步记录日志表");

                entity.HasIndex(e => e.DataId)
                    .HasName("data-id")
                    .IsUnique();

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("原始数据")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DataId)
                    .HasColumnName("data_id")
                    .HasComment("数据ID");

                entity.Property(e => e.Operation)
                    .HasColumnName("operation")
                    .HasColumnType("varchar(12)")
                    .HasComment("操作类型")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.TableName)
                    .HasColumnName("table_name")
                    .HasColumnType("varchar(32)")
                    .HasComment("表名")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("修改时间");
            });

            modelBuilder.Entity<KxsFeedback>(entity =>
            {
                entity.ToTable("kxs_feedback");

                entity.HasComment("用户反馈信息");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BackType)
                    .HasColumnName("back_type")
                    .HasColumnType("varchar(64)")
                    .HasComment("反馈类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_0900_ai_ci");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("varchar(1000)")
                    .HasComment("内容")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_unicode_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsFeedbackType>(entity =>
            {
                entity.ToTable("kxs_feedback_type");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("'0'")
                    .HasComment(@"创建人

")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_0900_ai_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.TypeName)
                    .HasColumnName("type_name")
                    .HasColumnType("varchar(255)")
                    .HasComment(@"反馈类型名称
")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_0900_ai_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsInterfaceConfig>(entity =>
            {
                entity.ToTable("kxs_interface_config");

                entity.HasComment("代付通道参数配置表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("添加人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("varchar(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.IfCode)
                    .HasColumnName("if_code")
                    .HasColumnType("varchar(32)")
                    .HasComment("平台标识")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Name)
                    .HasColumnName("name")
                    .HasColumnType("varchar(128)")
                    .HasComment("名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ParamType)
                    .HasColumnName("param_type")
                    .HasComment("类型 0-代付平台 1-支付平台");

                entity.Property(e => e.Params)
                    .HasColumnName("params")
                    .HasColumnType("varchar(4096)")
                    .HasComment("参数json格式")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasDefaultValueSql("'1'")
                    .HasComment("状态: 0-停用, 1-启用");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsMorning>(entity =>
            {
                entity.ToTable("kxs_morning");

                entity.HasComment("商学院晨会表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.AppLink)
                    .HasColumnName("app_link")
                    .HasColumnType("varchar(500)")
                    .HasComment("跳转APP链接")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.BannerPhoto)
                    .HasColumnName("banner_photo")
                    .HasColumnType("varchar(500)")
                    .HasComment("推荐封面图")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.EndDate)
                    .HasColumnName("end_date")
                    .HasColumnType("datetime")
                    .HasComment("结束时间");

                entity.Property(e => e.IsBanner)
                    .HasColumnName("is_banner")
                    .HasColumnType("bit(1)")
                    .HasDefaultValueSql("b'0'")
                    .HasComment("是否推荐");

                entity.Property(e => e.Lecturer)
                    .HasColumnName("lecturer")
                    .HasColumnType("varchar(32)")
                    .HasComment("主讲人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.PageId)
                    .HasColumnName("page_id")
                    .HasColumnType("varchar(128)")
                    .HasComment("小程序ID")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.PageLink)
                    .HasColumnName("page_link")
                    .HasColumnType("varchar(500)")
                    .HasComment("小程序链接")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Photo)
                    .HasColumnName("photo")
                    .HasColumnType("varchar(500)")
                    .HasComment("晨会头像")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.StartDate)
                    .HasColumnName("start_date")
                    .HasColumnType("datetime")
                    .HasComment("开始时间");

                entity.Property(e => e.StudyPerson)
                    .HasColumnName("study_person")
                    .HasComment("学习人数");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(500)")
                    .HasComment("外链")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsMorningLog>(entity =>
            {
                entity.ToTable("kxs_morning_log");

                entity.HasComment("每日晨会日志表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("id");

                entity.Property(e => e.MorningId)
                    .HasColumnName("morning_id")
                    .HasComment("晨会ID");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");
            });

            modelBuilder.Entity<KxsOpenBank>(entity =>
            {
                entity.ToTable("kxs_open_bank");

                entity.HasComment("银行开户行表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BankCode)
                    .HasColumnName("bank_code")
                    .HasColumnType("varchar(32)")
                    .HasComment("开户行编码")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.BankName)
                    .HasColumnName("bank_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("开户行名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsRulemaking>(entity =>
            {
                entity.ToTable("kxs_rulemaking");

                entity.HasComment("客小爽协议规则表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.Contents)
                    .HasColumnName("contents")
                    .HasColumnType("longtext")
                    .HasComment("内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.RuleType)
                    .HasColumnName("rule_type")
                    .HasComment("类型 0注册协议 1服务协议 2创客守则 3提现规则");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsSchoolMenu>(entity =>
            {
                entity.ToTable("kxs_school_menu");

                entity.HasComment("商学院创客学堂分类");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.ColDetail)
                    .HasColumnName("col_detail")
                    .HasColumnType("varchar(255)")
                    .HasComment("分类描述")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColId)
                    .HasColumnName("col_id")
                    .HasColumnType("varchar(32)")
                    .HasComment("分类ID")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColName)
                    .HasColumnName("col_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("分类名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ColPicPath)
                    .HasColumnName("col_pic_path")
                    .HasColumnType("varchar(255)")
                    .HasComment("分类封面图")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.IsOpen)
                    .HasColumnName("is_open")
                    .HasDefaultValueSql("'1'")
                    .HasComment("是否开发 0否 1开放");

                entity.Property(e => e.Pid)
                    .HasColumnName("pid")
                    .HasComment("父级ID");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.StartAmount)
                    .HasColumnName("start_amount")
                    .HasColumnType("decimal(18,2)")
                    .HasComment("起始交易额查看权限");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsSchoolStudy>(entity =>
            {
                entity.ToTable("kxs_school_study");

                entity.HasComment("商学院创客学堂");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.Detail)
                    .HasColumnName("detail")
                    .HasColumnType("varchar(255)")
                    .HasComment("详情描述")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Lecturer)
                    .HasColumnName("lecturer")
                    .HasColumnType("varchar(32)")
                    .HasComment("作者")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ListPic)
                    .HasColumnName("list_pic")
                    .HasColumnType("varchar(255)")
                    .HasComment("封面")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.MenuId)
                    .IsRequired()
                    .HasColumnName("menu_id")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("分类ID")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.StudyPerson)
                    .HasColumnName("study_person")
                    .HasComment("学习人数");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("外链")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsServiceCenter>(entity =>
            {
                entity.ToTable("kxs_service_center");

                entity.HasComment("服务中心");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(32)")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.MenuId)
                    .HasColumnName("menu_id")
                    .HasComment("分类ID");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasDefaultValueSql("'50'")
                    .HasComment("排序");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsServiceMenu>(entity =>
            {
                entity.ToTable("kxs_service_menu");

                entity.HasComment("服务中心分类");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.Sort)
                    .HasColumnName("sort")
                    .HasDefaultValueSql("'50'")
                    .HasComment("排序");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(64)")
                    .HasComment("分类名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsSysMsg>(entity =>
            {
                entity.ToTable("kxs_sys_msg");

                entity.HasComment("系统消息推送表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BgPic)
                    .HasColumnName("bg_pic")
                    .HasColumnType("varchar(255)")
                    .HasComment("背景图片")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("推送内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.EndTime)
                    .HasColumnName("end_time")
                    .HasColumnType("datetime")
                    .HasComment("结束时间");

                entity.Property(e => e.MsgType)
                    .HasColumnName("msg_type")
                    .HasComment("消息类型 0html页面 1URL 2简单文字");

                entity.Property(e => e.PushTime)
                    .HasColumnName("push_time")
                    .HasColumnType("datetime")
                    .HasComment("推送时间");

                entity.Property(e => e.PushType)
                    .HasColumnName("push_type")
                    .HasComment("推送类型 0不推送 1立即推送 2定时推送");

                entity.Property(e => e.StartTime)
                    .HasColumnName("start_time")
                    .HasColumnType("datetime")
                    .HasComment("开始时间");

                entity.Property(e => e.Summary)
                    .HasColumnName("summary")
                    .HasColumnType("varchar(255)")
                    .HasComment("简介")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("跳转地址")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<KxsSysMsgRead>(entity =>
            {
                entity.ToTable("kxs_sys_msg_read");

                entity.HasComment("系统消息已读表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("id");

                entity.Property(e => e.MsgId)
                    .HasColumnName("msg_id")
                    .HasComment("系统消息ID");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");
            });

            modelBuilder.Entity<KxsUserMsg>(entity =>
            {
                entity.ToTable("kxs_user_msg");

                entity.HasComment("系统用户消息推送表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.BgPic)
                    .HasColumnName("bg_pic")
                    .HasColumnType("varchar(255)")
                    .HasComment("背景图片")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Content)
                    .HasColumnName("content")
                    .HasColumnType("longtext")
                    .HasComment("推送内容")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("新增时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasComment("删除标记，0未删除，1已删除");

                entity.Property(e => e.EndTime)
                    .HasColumnName("end_time")
                    .HasColumnType("datetime")
                    .HasComment("结束时间");

                entity.Property(e => e.MsgType)
                    .HasColumnName("msg_type")
                    .HasComment("消息类型 0html页面 1URL 2简单文字");

                entity.Property(e => e.PushTime)
                    .HasColumnName("push_time")
                    .HasColumnType("datetime")
                    .HasComment("推送时间");

                entity.Property(e => e.PushType)
                    .HasColumnName("push_type")
                    .HasComment("推送类型 0不推送 1立即推送 2定时推送");

                entity.Property(e => e.ReadFlag)
                    .HasColumnName("read_flag")
                    .HasComment("0未读 1已读");

                entity.Property(e => e.StartTime)
                    .HasColumnName("start_time")
                    .HasColumnType("datetime")
                    .HasComment("开始时间");

                entity.Property(e => e.Summary)
                    .HasColumnName("summary")
                    .HasColumnType("varchar(255)")
                    .HasComment("简介")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("标题")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.Url)
                    .HasColumnName("url")
                    .HasColumnType("varchar(255)")
                    .HasComment("跳转地址")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.Version)
                    .HasColumnName("version")
                    .HasComment("版本");
            });

            modelBuilder.Entity<SysCity>(entity =>
            {
                entity.ToTable("sys_city");

                entity.HasComment("城市表");

                entity.HasIndex(e => e.CityId)
                    .HasName("idx_city_id")
                    .IsUnique();

                entity.Property(e => e.Id).HasColumnName("id");

                entity.Property(e => e.AreaCode)
                    .IsRequired()
                    .HasColumnName("area_code")
                    .HasColumnType("varchar(30)")
                    .HasDefaultValueSql("''")
                    .HasComment("区号")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CityId)
                    .HasColumnName("city_id")
                    .HasComment("城市id");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("timestamp")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.IsShow)
                    .IsRequired()
                    .HasColumnName("is_show")
                    .HasDefaultValueSql("'1'")
                    .HasComment("是否展示");

                entity.Property(e => e.Lat)
                    .IsRequired()
                    .HasColumnName("lat")
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("''")
                    .HasComment("纬度")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Level)
                    .HasColumnName("level")
                    .HasComment("省市级别");

                entity.Property(e => e.Lng)
                    .IsRequired()
                    .HasColumnName("lng")
                    .HasColumnType("varchar(50)")
                    .HasDefaultValueSql("''")
                    .HasComment("经度")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.MergerName)
                    .IsRequired()
                    .HasColumnName("merger_name")
                    .HasColumnType("varchar(255)")
                    .HasDefaultValueSql("''")
                    .HasComment("合并名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.Name)
                    .IsRequired()
                    .HasColumnName("name")
                    .HasColumnType("varchar(100)")
                    .HasDefaultValueSql("''")
                    .HasComment("名称")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.ParentId)
                    .HasColumnName("parent_id")
                    .HasComment("父级id");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("timestamp")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("更新时间")
                    .ValueGeneratedOnAddOrUpdate();
            });

            modelBuilder.Entity<SysDept>(entity =>
            {
                entity.HasKey(e => e.DeptId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_dept");

                entity.HasComment("部门管理");

                entity.Property(e => e.DeptId)
                    .HasColumnName("dept_id")
                    .HasComment("部门ID");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Name)
                    .HasColumnName("name")
                    .HasColumnType("varchar(50)")
                    .HasComment("部门名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ParentId)
                    .HasColumnName("parent_id")
                    .HasDefaultValueSql("'0'")
                    .HasComment("父级部门ID");

                entity.Property(e => e.SortOrder)
                    .HasColumnName("sort_order")
                    .HasComment("排序");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("修改时间");
            });

            modelBuilder.Entity<SysDict>(entity =>
            {
                entity.ToTable("sys_dict");

                entity.HasComment("字典表");

                entity.HasIndex(e => e.DelFlag)
                    .HasName("sys_dict_del_flag");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("编号");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Description)
                    .HasColumnName("description")
                    .HasColumnType("varchar(100)")
                    .HasComment("描述")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.DictType)
                    .HasColumnName("dict_type")
                    .HasColumnType("varchar(100)")
                    .HasComment("字典类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Remarks)
                    .HasColumnName("remarks")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注信息")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.SystemFlag)
                    .HasColumnName("system_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("系统标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<SysDictItem>(entity =>
            {
                entity.ToTable("sys_dict_item");

                entity.HasComment("字典项");

                entity.HasIndex(e => e.DelFlag)
                    .HasName("sys_dict_item_del_flag");

                entity.HasIndex(e => e.ItemValue)
                    .HasName("sys_dict_value");

                entity.HasIndex(e => e.Label)
                    .HasName("sys_dict_label");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("编号");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Description)
                    .HasColumnName("description")
                    .HasColumnType("varchar(100)")
                    .HasComment("字典项描述")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.DictId)
                    .HasColumnName("dict_id")
                    .HasComment("字典ID");

                entity.Property(e => e.DictType)
                    .HasColumnName("dict_type")
                    .HasColumnType("varchar(100)")
                    .HasComment("字典类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ItemValue)
                    .HasColumnName("item_value")
                    .HasColumnType("varchar(100)")
                    .HasComment("字典项值")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Label)
                    .HasColumnName("label")
                    .HasColumnType("varchar(100)")
                    .HasComment("字典项名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Remarks)
                    .HasColumnName("remarks")
                    .HasColumnType("varchar(255)")
                    .HasComment("备注信息")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.SortOrder)
                    .HasColumnName("sort_order")
                    .HasComment("排序（升序）");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<SysFile>(entity =>
            {
                entity.ToTable("sys_file");

                entity.HasComment("文件管理表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("编号");

                entity.Property(e => e.BucketName)
                    .HasColumnName("bucket_name")
                    .HasColumnType("varchar(200)")
                    .HasComment("文件存储桶名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("上传时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.FileName)
                    .HasColumnName("file_name")
                    .HasColumnType("varchar(100)")
                    .HasComment("文件名")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.FileSize)
                    .HasColumnName("file_size")
                    .HasComment("文件大小");

                entity.Property(e => e.Original)
                    .HasColumnName("original")
                    .HasColumnType("varchar(100)")
                    .HasComment("原始文件名")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("文件标题")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Type)
                    .HasColumnName("type")
                    .HasColumnType("varchar(50)")
                    .HasComment("文件类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<SysLog>(entity =>
            {
                entity.ToTable("sys_log");

                entity.HasComment("日志表");

                entity.HasIndex(e => e.CreateTime)
                    .HasName("sys_log_create_date");

                entity.HasIndex(e => e.LogType)
                    .HasName("sys_log_type");

                entity.HasIndex(e => e.RequestUri)
                    .HasName("sys_log_request_uri");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("编号");

                entity.Property(e => e.CreateBy)
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Exception)
                    .HasColumnName("exception")
                    .HasColumnType("text")
                    .HasComment("异常信息")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.LogType)
                    .HasColumnName("log_type")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("日志类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Method)
                    .HasColumnName("method")
                    .HasColumnType("varchar(10)")
                    .HasComment("请求方法")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Params)
                    .HasColumnName("params")
                    .HasColumnType("text")
                    .HasComment("请求参数")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RemoteAddr)
                    .HasColumnName("remote_addr")
                    .HasColumnType("varchar(255)")
                    .HasComment("远程地址")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RequestUri)
                    .HasColumnName("request_uri")
                    .HasColumnType("varchar(255)")
                    .HasComment("请求URI")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ServiceId)
                    .HasColumnName("service_id")
                    .HasColumnType("varchar(32)")
                    .HasComment("服务ID")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Time)
                    .HasColumnName("time")
                    .HasComment("执行时间");

                entity.Property(e => e.Title)
                    .HasColumnName("title")
                    .HasColumnType("varchar(255)")
                    .HasComment("日志标题")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.UserAgent)
                    .HasColumnName("user_agent")
                    .HasColumnType("varchar(1000)")
                    .HasComment("用户代理")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");
            });

            modelBuilder.Entity<SysMenu>(entity =>
            {
                entity.HasKey(e => e.MenuId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_menu");

                entity.HasComment("菜单权限表");

                entity.Property(e => e.MenuId)
                    .HasColumnName("menu_id")
                    .HasComment("菜单ID");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标志，0未删除，1已删除")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Embedded)
                    .HasColumnName("embedded")
                    .HasColumnType("char(1)")
                    .HasComment("是否内嵌，0否，1是")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.EnName)
                    .HasColumnName("en_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("英文名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Icon)
                    .HasColumnName("icon")
                    .HasColumnType("varchar(64)")
                    .HasComment("菜单图标")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.KeepAlive)
                    .HasColumnName("keep_alive")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("是否缓存，0否，1是")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.MenuType)
                    .HasColumnName("menu_type")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("菜单类型，0目录，1菜单，2按钮")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Name)
                    .HasColumnName("name")
                    .HasColumnType("varchar(32)")
                    .HasComment("菜单名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ParentId)
                    .HasColumnName("parent_id")
                    .HasComment("父菜单ID");

                entity.Property(e => e.Path)
                    .HasColumnName("path")
                    .HasColumnType("varchar(128)")
                    .HasComment("路由路径")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Permission)
                    .HasColumnName("permission")
                    .HasColumnType("varchar(32)")
                    .HasComment("权限标识")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.SortOrder)
                    .HasColumnName("sort_order")
                    .HasDefaultValueSql("'1'")
                    .HasComment("排序值，越小越靠前");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间")
                    .ValueGeneratedOnAddOrUpdate();

                entity.Property(e => e.Visible)
                    .HasColumnName("visible")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'1'")
                    .HasComment("是否可见，0隐藏，1显示")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");
            });

            modelBuilder.Entity<SysOauthClientDetails>(entity =>
            {
                entity.ToTable("sys_oauth_client_details");

                entity.HasComment("终端信息表");

                entity.Property(e => e.Id)
                    .HasColumnName("id")
                    .HasComment("ID");

                entity.Property(e => e.AccessTokenValidity)
                    .HasColumnName("access_token_validity")
                    .HasComment("访问令牌有效期（秒）");

                entity.Property(e => e.AdditionalInformation)
                    .HasColumnName("additional_information")
                    .HasColumnType("varchar(4096)")
                    .HasComment("附加信息")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Authorities)
                    .HasColumnName("authorities")
                    .HasColumnType("varchar(256)")
                    .HasComment("权限集合")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.AuthorizedGrantTypes)
                    .HasColumnName("authorized_grant_types")
                    .HasColumnType("varchar(256)")
                    .HasComment("授权类型")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Autoapprove)
                    .HasColumnName("autoapprove")
                    .HasColumnType("varchar(256)")
                    .HasComment("自动授权")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ClientId)
                    .IsRequired()
                    .HasColumnName("client_id")
                    .HasColumnType("varchar(32)")
                    .HasComment("客户端ID")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.ClientSecret)
                    .HasColumnName("client_secret")
                    .HasColumnType("varchar(256)")
                    .HasComment("客户端秘钥")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RefreshTokenValidity)
                    .HasColumnName("refresh_token_validity")
                    .HasComment("刷新令牌有效期（秒）");

                entity.Property(e => e.ResourceIds)
                    .HasColumnName("resource_ids")
                    .HasColumnType("varchar(256)")
                    .HasComment("资源ID集合")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Scope)
                    .HasColumnName("scope")
                    .HasColumnType("varchar(256)")
                    .HasComment("授权范围")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");

                entity.Property(e => e.WebServerRedirectUri)
                    .HasColumnName("web_server_redirect_uri")
                    .HasColumnType("varchar(256)")
                    .HasComment("回调地址")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");
            });

            modelBuilder.Entity<SysPost>(entity =>
            {
                entity.HasKey(e => e.PostId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_post");

                entity.HasComment("岗位信息表");

                entity.Property(e => e.PostId)
                    .HasColumnName("post_id")
                    .HasComment("岗位ID");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("''")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .IsRequired()
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("是否删除  -1：已删除  0：正常")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PostCode)
                    .IsRequired()
                    .HasColumnName("post_code")
                    .HasColumnType("varchar(64)")
                    .HasComment("岗位编码")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PostName)
                    .IsRequired()
                    .HasColumnName("post_name")
                    .HasColumnType("varchar(50)")
                    .HasComment("岗位名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PostSort)
                    .HasColumnName("post_sort")
                    .HasComment("岗位排序");

                entity.Property(e => e.Remark)
                    .HasColumnName("remark")
                    .HasColumnType("varchar(500)")
                    .HasComment("岗位描述")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("''")
                    .HasComment("更新人")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<SysPublicParam>(entity =>
            {
                entity.HasKey(e => e.PublicId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_public_param");

                entity.HasComment("公共参数配置表");

                entity.Property(e => e.PublicId)
                    .HasColumnName("public_id")
                    .HasComment("编号");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PublicKey)
                    .HasColumnName("public_key")
                    .HasColumnType("varchar(128)")
                    .HasComment("键")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PublicName)
                    .HasColumnName("public_name")
                    .HasColumnType("varchar(128)")
                    .HasComment("名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PublicType)
                    .HasColumnName("public_type")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment(@"配置类型：0-默认；1-检索；2-原文；3-报表；4-安全；5-文档；6-消息；9-其他
")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.PublicValue)
                    .HasColumnName("public_value")
                    .HasColumnType("varchar(128)")
                    .HasComment("值")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("状态，0禁用，1启用")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.SystemFlag)
                    .HasColumnName("system_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("系统标识，0非系统，1系统")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间")
                    .ValueGeneratedOnAddOrUpdate();

                entity.Property(e => e.ValidateCode)
                    .HasColumnName("validate_code")
                    .HasColumnType("varchar(64)")
                    .HasComment("校验码")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");
            });

            modelBuilder.Entity<SysRole>(entity =>
            {
                entity.HasKey(e => e.RoleId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_role");

                entity.HasComment("系统角色表");

                entity.HasIndex(e => e.RoleCode)
                    .HasName("role_idx1_role_code");

                entity.Property(e => e.RoleId)
                    .HasColumnName("role_id")
                    .HasComment("角色ID");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RoleCode)
                    .HasColumnName("role_code")
                    .HasColumnType("varchar(64)")
                    .HasComment("角色编码")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RoleDesc)
                    .HasColumnName("role_desc")
                    .HasColumnType("varchar(255)")
                    .HasComment("角色描述")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.RoleName)
                    .HasColumnName("role_name")
                    .HasColumnType("varchar(64)")
                    .HasComment("角色名称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("更新时间")
                    .ValueGeneratedOnAddOrUpdate();
            });

            modelBuilder.Entity<SysRoleMenu>(entity =>
            {
                entity.HasKey(e => new { e.RoleId, e.MenuId })
                    .HasName("PRIMARY");

                entity.ToTable("sys_role_menu");

                entity.HasComment("角色菜单表");

                entity.Property(e => e.RoleId)
                    .HasColumnName("role_id")
                    .HasComment("角色ID");

                entity.Property(e => e.MenuId)
                    .HasColumnName("menu_id")
                    .HasComment("菜单ID");
            });

            modelBuilder.Entity<SysUser>(entity =>
            {
                entity.HasKey(e => e.UserId)
                    .HasName("PRIMARY");

                entity.ToTable("sys_user");

                entity.HasComment("用户表");

                entity.HasIndex(e => e.QqOpenid)
                    .HasName("user_qq_openid");

                entity.HasIndex(e => e.Username)
                    .HasName("user_idx1_username");

                entity.HasIndex(e => e.WxOpenid)
                    .HasName("user_wx_openid");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.Avatar)
                    .HasColumnName("avatar")
                    .HasColumnType("varchar(255)")
                    .HasComment("头像")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.CreateBy)
                    .IsRequired()
                    .HasColumnName("create_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("创建人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.CreateTime)
                    .HasColumnName("create_time")
                    .HasColumnType("datetime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.DelFlag)
                    .HasColumnName("del_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("删除标记，0未删除，1已删除")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.DeptId)
                    .HasColumnName("dept_id")
                    .HasComment("所属部门ID");

                entity.Property(e => e.Email)
                    .HasColumnName("email")
                    .HasColumnType("varchar(128)")
                    .HasComment("邮箱地址")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.GiteeLogin)
                    .HasColumnName("gitee_login")
                    .HasColumnType("varchar(100)")
                    .HasComment("码云标识")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.LockFlag)
                    .HasColumnName("lock_flag")
                    .HasColumnType("char(1)")
                    .HasDefaultValueSql("'0'")
                    .HasComment("锁定标记，0未锁定，9已锁定")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.MiniOpenid)
                    .HasColumnName("mini_openid")
                    .HasColumnType("varchar(32)")
                    .HasComment("小程序openId")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Name)
                    .HasColumnName("name")
                    .HasColumnType("varchar(64)")
                    .HasComment("姓名")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Nickname)
                    .HasColumnName("nickname")
                    .HasColumnType("varchar(64)")
                    .HasComment("昵称")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.OscId)
                    .HasColumnName("osc_id")
                    .HasColumnType("varchar(100)")
                    .HasComment("开源中国标识")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Password)
                    .HasColumnName("password")
                    .HasColumnType("varchar(255)")
                    .HasComment("密码")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Phone)
                    .HasColumnName("phone")
                    .HasColumnType("varchar(20)")
                    .HasComment("电话号码")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.QqOpenid)
                    .HasColumnName("qq_openid")
                    .HasColumnType("varchar(32)")
                    .HasComment("QQ openId")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.Salt)
                    .HasColumnName("salt")
                    .HasColumnType("varchar(255)")
                    .HasComment("盐值")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.UpdateBy)
                    .IsRequired()
                    .HasColumnName("update_by")
                    .HasColumnType("varchar(64)")
                    .HasDefaultValueSql("' '")
                    .HasComment("修改人")
                    .HasCharSet("utf8mb3")
                    .HasCollation("utf8mb3_general_ci");

                entity.Property(e => e.UpdateTime)
                    .HasColumnName("update_time")
                    .HasColumnType("datetime")
                    .HasComment("修改时间")
                    .ValueGeneratedOnAddOrUpdate();

                entity.Property(e => e.Username)
                    .HasColumnName("username")
                    .HasColumnType("varchar(64)")
                    .HasComment("用户名")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");

                entity.Property(e => e.WxOpenid)
                    .HasColumnName("wx_openid")
                    .HasColumnType("varchar(32)")
                    .HasComment("微信登录openId")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_general_ci");
            });

            modelBuilder.Entity<SysUserPost>(entity =>
            {
                entity.HasKey(e => new { e.UserId, e.PostId })
                    .HasName("PRIMARY");

                entity.ToTable("sys_user_post");

                entity.HasComment("用户与岗位关联表");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.PostId)
                    .HasColumnName("post_id")
                    .HasComment("岗位ID");
            });

            modelBuilder.Entity<SysUserRole>(entity =>
            {
                entity.HasKey(e => new { e.UserId, e.RoleId })
                    .HasName("PRIMARY");

                entity.ToTable("sys_user_role");

                entity.HasComment("用户角色表");

                entity.Property(e => e.UserId)
                    .HasColumnName("user_id")
                    .HasComment("用户ID");

                entity.Property(e => e.RoleId)
                    .HasColumnName("role_id")
                    .HasComment("角色ID");
            });

            modelBuilder.Entity<UndoLog>(entity =>
            {
                entity.HasNoKey();

                entity.ToTable("undo_log");

                entity.HasComment("AT transaction mode undo table");

                entity.HasIndex(e => e.LogCreated)
                    .HasName("ix_log_created");

                entity.HasIndex(e => new { e.Xid, e.BranchId })
                    .HasName("ux_undo_log")
                    .IsUnique();

                entity.Property(e => e.BranchId)
                    .HasColumnName("branch_id")
                    .HasComment("branch transaction id");

                entity.Property(e => e.Context)
                    .IsRequired()
                    .HasColumnName("context")
                    .HasColumnType("varchar(128)")
                    .HasComment("undo_log context,such as serialization")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_0900_ai_ci");

                entity.Property(e => e.LogCreated)
                    .HasColumnName("log_created")
                    .HasComment("create datetime");

                entity.Property(e => e.LogModified)
                    .HasColumnName("log_modified")
                    .HasComment("modify datetime");

                entity.Property(e => e.LogStatus)
                    .HasColumnName("log_status")
                    .HasComment("0:normal status,1:defense status");

                entity.Property(e => e.RollbackInfo)
                    .IsRequired()
                    .HasColumnName("rollback_info")
                    .HasComment("rollback info");

                entity.Property(e => e.Xid)
                    .IsRequired()
                    .HasColumnName("xid")
                    .HasColumnType("varchar(128)")
                    .HasComment("global transaction id")
                    .HasCharSet("utf8mb4")
                    .HasCollation("utf8mb4_0900_ai_ci");
            });

            OnModelCreatingPartial(modelBuilder);
        }

        partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
    }
}
