Beispiel #1
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        SystemConfigEntity entity = new SystemConfigEntity();

        entity.Id = 1;
        WebFormHelper.GetDataFromForm(this, entity);
        if (entity.Id < 0)
        {
            if (SimpleOrmOperator.Create(entity))
            {
                this.lbMsg.Text = "(保存系统配置成功!)";
            }
            else
            {
                this.lbMsg.Text = "(保存系统配置失败!)";
            }
        }
        else
        {
            if (SimpleOrmOperator.Update(entity))
            {
                this.lbMsg.Text = "(保存系统配置成功!)";
            }
            else
            {
                this.lbMsg.Text = "(保存系统配置失败!)";
            }
        }
    }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtEncryptKey.Text))
            {
                base.ShowMessage("客户密钥为必填项");
                return;
            }

            if (systemConfigEntity == null)
            {
                systemConfigEntity               = new SystemConfigEntity();
                systemConfigEntity.SysConfigID   = (int)SystemConfigs.EncryptKey;
                systemConfigEntity.SysConfigName = "客户密钥";
                systemConfigEntity.Status        = 1;
            }

            systemConfigEntity.ExSetting01 = txtEncryptKey.Text.Trim();
            bool isSuccess = service.Update(systemConfigEntity);

            if (isSuccess)
            {
                base.ShowMessage("客户密钥配置成功");
                this.Close();
            }
            else
            {
                base.ShowErrorMessage("客户密钥配置失败");
            }
        }
Beispiel #3
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        SystemConfigEntity entity = new SystemConfigEntity();
        entity.Id = 1;
        WebFormHelper.GetDataFromForm(this, entity);
        if (entity.Id < 0)
        {
            if (SimpleOrmOperator.Create(entity))
            {
                this.lbMsg.Text = "(保存系统配置成功!)";
            }
            else
            {
                this.lbMsg.Text = "(保存系统配置失败!)";

            }
        }
        else
        {
            if (SimpleOrmOperator.Update(entity))
            {
                this.lbMsg.Text = "(保存系统配置成功!)";
            }
            else
            {
                this.lbMsg.Text = "(保存系统配置失败!)";

            }

        }
    }
Beispiel #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         SystemConfigEntity entity = SimpleOrmOperator.Query <SystemConfigEntity>(1);
         WebFormHelper.SetDataToForm(this, entity);
     }
 }
        private void EncryptKeyConfigFrm_Load(object sender, EventArgs e)
        {
            systemConfigEntity = service.FindSystemConfig((int)SystemConfigs.EncryptKey);

            if (systemConfigEntity != null && !string.IsNullOrEmpty(systemConfigEntity.ExSetting01))
            {
                txtEncryptKey.Text = systemConfigEntity.ExSetting01;
            }
        }
Beispiel #6
0
        public ActionResult SubmitForm(SystemConfigEntity sysEntity)
        {
            bool result = sysApp.SubmitModule(sysEntity);

            if (result)
            {
                return(Success("保存成功。。。"));
            }

            return(Error("保存失败。。。"));
        }
        internal static SystemConfigWrapper ConvertEntityToWrapper(SystemConfigEntity entity)
        {
            if (entity == null)
            {
                return(null);
            }

            if (entity.SystemConfigID == 0)
            {
                return(null);
            }

            return(new SystemConfigWrapper(entity));
        }
        /// <summary>
        /// 更新系统配置
        /// </summary>
        /// <param name="systemConfig"></param>
        /// <returns></returns>
        public bool Insert(SystemConfigEntity systemConfig)
        {
            string sql = "INSERT INTO T8_SystemConfig(SysConfigID,SysConfigName,Status,Cron,ExSetting01,ExSetting02)VALUES(@SysConfigID,@SysConfigName,@Status,@Cron,@ExSetting01,@ExSetting02)";

            return(base.ExecuteFor(conn =>
            {
                var prms = new
                {
                    SysConfigName = systemConfig.SysConfigName,
                    SysConfigID = systemConfig.SysConfigID,
                    Status = systemConfig.Status,
                    Cron = systemConfig.Cron,
                    ExSetting01 = systemConfig.ExSetting01,
                    ExSetting02 = systemConfig.ExSetting02
                };

                return conn.Execute(sql, prms) > 0;
            }));
        }
        /// <summary>
        /// 更新系统配置
        /// </summary>
        /// <param name="systemConfig"></param>
        /// <returns></returns>
        public bool Update(SystemConfigEntity systemConfig)
        {
            string sql = "UPDATE T8_SystemConfig SET SysConfigName=@SysConfigName,Status=@Status,Cron=@Cron,ExSetting01=@ExSetting01,ExSetting02=@ExSetting02 WHERE SysConfigID=@SysConfigID";

            return(base.ExecuteFor(conn =>
            {
                var prms = new
                {
                    SysConfigName = systemConfig.SysConfigName,
                    SysConfigID = systemConfig.SysConfigID,
                    Status = systemConfig.Status,
                    Cron = systemConfig.Cron,
                    ExSetting01 = systemConfig.ExSetting01,
                    ExSetting02 = systemConfig.ExSetting02
                };

                return conn.Execute(sql, prms) > 0;
            }));
        }
        /// <summary>
        /// 保存参数配置
        /// </summary>
        /// <param name="model">信息体</param>
        /// <returns></returns>
        public bool SubmitModule(SystemConfigEntity model)
        {
            //保存失败
            if (model == null)
            {
                return(false);
            }

            if (!string.IsNullOrEmpty(model.Sid) && model.Sid.Length > 32)
            {
                SystemConfigEntity moduleEntity = _service.GetSingle(model.Sid);
                if (moduleEntity != null)
                {
                    model.CreateDate = moduleEntity.CreateDate;
                    model.EditDate   = DateTime.Now;
                    model.IsDelete   = moduleEntity.IsDelete;
                }
            }
            _service.SaveFrom(model);
            return(true);
        }
Beispiel #11
0
        /// <summary>
        /// 获取当前可执行产品构造器
        /// </summary>
        /// <returns></returns>
        public static ADbFileProductBuilder GetDbFileProductBuilder()
        {
            SystemConfigService service = new SystemConfigService();

            SystemConfigEntity systemConfig = service.FindSystemConfig((int)SystemConfigs.OpenbookSysType);

            if (systemConfig.Status == 0)
            {
                throw new Exception($"系统未配置开卷系统类型");
            }

            ADbFileProductBuilder productBuilder = null;

            if (systemConfig.Status == 1)
            {
                productBuilder = new DbFileProductBuilder();
            }
            else
            {
                productBuilder = new T8DbFileProductBuilder();
            }

            return(productBuilder);
        }
 /// <summary>
 /// 更新系统配置
 /// </summary>
 /// <param name="systemConfig"></param>
 /// <returns></returns>
 public bool Update(SystemConfigEntity systemConfig)
 {
     return(dao.Update(systemConfig));
 }
Beispiel #13
0
 internal SystemConfigWrapper(SystemConfigEntity entityObj)
     : base(entityObj)
 {
 }
        /// <summary>
        /// 初始化
        /// </summary>
        public async Task <bool> InitAsync(List <MenuDto> menues)
        {
            try
            {
                await _context.Database.MigrateAsync();

                if (await _context.SystemConfigs.AnyAsync(item => item.IsDataInited))
                {
                    return(false);
                }

                #region 用户

                var admin = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "duwenink",
                    RealName       = "超级管理员",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    IsSuperMan     = true,
                    CreateDateTime = Now
                };
                var guest = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "admin",
                    RealName       = "游客",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    CreateDateTime = Now
                };
                //用户
                var user = new List <UserEntity>
                {
                    admin,
                    guest
                };
                #endregion

                #region 菜单

                await _menuService.ReInitMenuesAsync(menues);

                var menus = await _context.Menus.ToListAsync();

                #endregion

                #region 角色

                var superAdminRole = new RoleEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "超级管理员",
                    Description    = "超级管理员",
                    CreateDateTime = Now
                };
                var guestRole = new RoleEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "guest",
                    Description    = "游客",
                    CreateDateTime = Now
                };
                var roles = new List <RoleEntity>
                {
                    superAdminRole,
                    guestRole
                };

                #endregion

                #region 用户角色关系

                var userRoles = new List <UserRoleEntity>
                {
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = admin.Id,
                        RoleId         = superAdminRole.Id,
                        CreateDateTime = Now
                    },
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = guest.Id,
                        RoleId         = guestRole.Id,
                        CreateDateTime = Now
                    }
                };

                #endregion

                #region 角色菜单权限关系

                var roleMenus = new List <RoleMenuEntity>();
                //guest授权(guest只有查看权限,没有按钮操作权限)
                menus.Where(item => item.Type != (byte)MenuType.Action).ForEach(m =>
                {
                    roleMenus.Add(new RoleMenuEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        RoleId         = guestRole.Id,
                        MenuId         = m.Id,
                        CreateDateTime = Now
                    });
                });

                #endregion

                #region 系统配置

                var systemConfig = new SystemConfigEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    SystemName     = "DUWENINK Core",
                    IsDataInited   = true,
                    DataInitedDate = Now,
                    CreateDateTime = Now,
                    IsDeleted      = false
                };

                #endregion

                _context.Roles.AddRange(roles);
                _context.Users.AddRange(user);
                _context.UserRoles.AddRange(userRoles);
                _context.RoleMenus.AddRange(roleMenus);
                _context.SystemConfigs.Add(systemConfig);
                await _context.SaveChangesAsync();
                await InitPathCodeAsync();

                return(true);
            }
            catch (Exception ex)
            {
                Log.Logger.Error(ex);
            }
            return(false);
        }
        /// <summary>
        /// 初始化
        /// </summary>
        public async Task <bool> InitAsync()
        {
            try
            {
                await _context.Database.MigrateAsync();

                if (await _context.SystemConfigs.AnyAsync(item => item.IsDataInited))
                {
                    return(false);
                }

                #region 用户

                var admin = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "jucheap",
                    RealName       = "超级管理员",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    IsSuperMan     = true,
                    CreateDateTime = Now
                };
                var guest = new UserEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    LoginName      = "admin",
                    RealName       = "游客",
                    Password       = "******".ToMd5(),
                    Email          = "*****@*****.**",
                    CreateDateTime = Now
                };
                //用户
                var user = new List <UserEntity>
                {
                    admin,
                    guest
                };
                #endregion

                #region 菜单

                var system = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "系统设置",
                    Icon           = "fa fa-gear",
                    Url            = "#",
                    CreateDateTime = Now,
                    Order          = 1,
                    Code           = "AA",
                    PathCode       = "AA",
                    Type           = 1
                };//1
                var menuMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "菜单管理",
                    Url            = "/Menu/Index",
                    CreateDateTime = Now,
                    Order          = 2,
                    Code           = "AA",
                    PathCode       = "AAAA",
                    Type           = 2
                };//2
                var roleMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "角色管理",
                    Url            = "/Role/Index",
                    CreateDateTime = Now,
                    Order          = 3,
                    Code           = "AB",
                    PathCode       = "AAAB",
                    Type           = 2
                };//3
                var userMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "用户管理",
                    Url            = "/User/Index",
                    CreateDateTime = Now,
                    Order          = 4,
                    Code           = "AC",
                    PathCode       = "AAAC",
                    Type           = 2
                };//4
                var departmentMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "部门管理",
                    Url            = "/Department/Index",
                    CreateDateTime = Now,
                    Order          = 3,
                    Code           = "AG",
                    PathCode       = "AAAG",
                    Type           = 2
                };
                var userRoleMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = userMgr.Id,
                    Name           = "用户授权",
                    Url            = "/User/Authen",
                    CreateDateTime = Now,
                    Order          = 5,
                    Code           = "AD",
                    PathCode       = "AAAD",
                    Type           = 2
                };//5
                var giveRight = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = userRoleMgr.Id,
                    Name           = "授权",
                    Url            = "/User/GiveRight",
                    CreateDateTime = Now,
                    Order          = 1,
                    Code           = "AA",
                    PathCode       = "AAADAA",
                    Type           = 3
                };
                var cancelRight = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = userRoleMgr.Id,
                    Name           = "取消授权",
                    Url            = "/User/CancelRight",
                    CreateDateTime = Now,
                    Order          = 2,
                    Code           = "AB",
                    PathCode       = "AAADAB",
                    Type           = 3
                };
                var roleMenuMgr = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "角色授权",
                    Url            = "/Role/Authen",
                    CreateDateTime = Now,
                    Order          = 6,
                    Code           = "AE",
                    PathCode       = "AAAE",
                    Type           = 2
                };//6
                var sysConfig = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "系统配置",
                    Url            = "/System/Index",
                    CreateDateTime = Now,
                    Order          = 7,
                    Code           = "AF",
                    PathCode       = "AAAF",
                    Type           = 2
                };//7
                var areaConfig = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = system.Id,
                    Name           = "省市区管理",
                    Url            = "/Area/Index",
                    CreateDateTime = Now,
                    Order          = 5,
                    Code           = "AH",
                    PathCode       = "AAAH",
                    Type           = 2
                };
                var sysConfigReloadPathCode = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = sysConfig.Id,
                    Name           = "重置路径码",
                    Url            = "/System/ReloadPathCode",
                    CreateDateTime = Now,
                    Order          = 8,
                    Code           = "AAAF",
                    PathCode       = "AAAFAA",
                    Type           = 3
                };//8
                var log = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "日志查看",
                    Icon           = "fa fa-bars",
                    Url            = "#",
                    CreateDateTime = Now,
                    Order          = 2,
                    Code           = "AB",
                    PathCode       = "AB",
                    Type           = 1
                };//9
                var logLogin = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = log.Id,
                    Name           = "登录日志",
                    Url            = "/Log/Logins",
                    CreateDateTime = Now,
                    Order          = 1,
                    Code           = "AA",
                    PathCode       = "ABAA",
                    Type           = 2
                };//10
                var logView = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = log.Id,
                    Name           = "访问日志",
                    Url            = "/Log/Visits",
                    CreateDateTime = Now,
                    Order          = 2,
                    Code           = "AB",
                    PathCode       = "ABAB",
                    Type           = 2
                };//11

                //菜单
                var menus = new List <MenuEntity>
                {
                    system,
                    menuMgr,
                    roleMgr,
                    userMgr,
                    departmentMgr,
                    userRoleMgr,
                    giveRight,
                    cancelRight,
                    roleMenuMgr,
                    sysConfig,
                    areaConfig,
                    sysConfigReloadPathCode,
                    log,
                    logLogin,
                    logView
                };
                var menuBtns       = GetMenuButtons(menuMgr.Id, "Menu", "菜单", "AAAA", 12);
                var rolwBtns       = GetMenuButtons(roleMgr.Id, "Role", "角色", "AAAB", 15);
                var userBtns       = GetMenuButtons(userMgr.Id, "User", "用户", "AAAC", 18);
                var departmentBtns = GetMenuButtons(departmentMgr.Id, "Department", "部门", "AAAG", 19);
                var areaBtns       = GetMenuButtons(areaConfig.Id, "Area", "部门", "AAAH", 20);

                menus.AddRange(menuBtns);
                menus.AddRange(rolwBtns);
                menus.AddRange(userBtns);
                menus.AddRange(departmentBtns);
                menus.AddRange(areaBtns);
                menus.Add(new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = roleMenuMgr.Id,
                    Order          = 6,
                    Name           = "授权",
                    Type           = (byte)MenuType.Action,
                    Url            = "/Role/SetRoleMenus",
                    CreateDateTime = Now,
                    Code           = "AA",
                    PathCode       = "AAACAA"
                });
                menus.Add(new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = roleMenuMgr.Id,
                    Order          = 6,
                    Name           = "清空权限",
                    Type           = (byte)MenuType.Action,
                    Url            = "/Role/ClearRoleMenus",
                    CreateDateTime = Now,
                    Code           = "AB",
                    PathCode       = "AAACAB"
                });
                //示例页面
                var page = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    Name           = "示例页面",
                    Icon           = "fa fa-file-o",
                    Url            = "#",
                    CreateDateTime = Now,
                    Order          = 3,
                    Code           = "AC",
                    PathCode       = "AC",
                    Type           = 1
                };
                var pageButton = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "按钮",
                    Url            = "/Pages/Buttons",
                    CreateDateTime = Now,
                    Order          = 0,
                    Code           = "AA",
                    PathCode       = "ACAA",
                    Type           = 2
                };
                var pageForm = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "表单",
                    Url            = "/Pages/Form",
                    CreateDateTime = Now,
                    Order          = 1,
                    Code           = "AB",
                    PathCode       = "ACAB",
                    Type           = 2
                };
                var pageFormAdvance = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "高级表单",
                    Url            = "/Pages/FormAdvance",
                    CreateDateTime = Now,
                    Order          = 2,
                    Code           = "AC",
                    PathCode       = "ACAC",
                    Type           = 2
                };
                var pageTable = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "表格",
                    Url            = "/Pages/Tables",
                    CreateDateTime = Now,
                    Order          = 3,
                    Code           = "AD",
                    PathCode       = "ACAD",
                    Type           = 2
                };
                var pageTabs = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "选项卡",
                    Url            = "/Pages/Tabs",
                    CreateDateTime = Now,
                    Order          = 4,
                    Code           = "AE",
                    PathCode       = "ACAE",
                    Type           = 2
                };
                var pageFonts = new MenuEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    ParentId       = page.Id,
                    Name           = "字体",
                    Url            = "/Pages/FontAwesome",
                    CreateDateTime = Now,
                    Order          = 5,
                    Code           = "AF",
                    PathCode       = "ACAF",
                    Type           = 2
                };

                menus.Add(page);
                menus.Add(pageButton);
                menus.Add(pageForm);
                menus.Add(pageFormAdvance);
                menus.Add(pageTable);
                menus.Add(pageTabs);
                menus.Add(pageFonts);

                #endregion

                #region 角色

                var superAdminRole = new RoleEntity
                {
                    Id          = Guid.NewGuid().ToString("N"),
                    Name        = "超级管理员",
                    Description = "超级管理员"
                };
                var guestRole = new RoleEntity
                {
                    Id          = Guid.NewGuid().ToString("N"),
                    Name        = "guest",
                    Description = "游客"
                };
                var roles = new List <RoleEntity>
                {
                    superAdminRole,
                    guestRole
                };

                #endregion

                #region 用户角色关系

                var userRoles = new List <UserRoleEntity>
                {
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = admin.Id,
                        RoleId         = superAdminRole.Id,
                        CreateDateTime = Now
                    },
                    new UserRoleEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        UserId         = guest.Id,
                        RoleId         = guestRole.Id,
                        CreateDateTime = Now
                    }
                };

                #endregion

                #region 角色菜单权限关系

                var roleMenus = new List <RoleMenuEntity>();
                //管理员授权(管理员有所有权限)
                menus.ForEach(m =>
                {
                    roleMenus.Add(new RoleMenuEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        RoleId         = superAdminRole.Id,
                        MenuId         = m.Id,
                        CreateDateTime = Now
                    });
                });
                //guest授权(guest只有查看权限,没有按钮操作权限)
                menus.Where(item => item.Type != (byte)MenuType.Action).ForEach(m =>
                {
                    roleMenus.Add(new RoleMenuEntity
                    {
                        Id             = Guid.NewGuid().ToString("N"),
                        RoleId         = guestRole.Id,
                        MenuId         = m.Id,
                        CreateDateTime = Now
                    });
                });

                #endregion

                #region 系统配置

                var systemConfig = new SystemConfigEntity
                {
                    Id             = Guid.NewGuid().ToString("N"),
                    SystemName     = "JuCheap Core",
                    IsDataInited   = true,
                    DataInitedDate = Now,
                    CreateDateTime = Now,
                    IsDeleted      = false
                };

                #endregion

                _context.Menus.AddRange(menus.OrderBy(m => m.Order).ToArray());
                _context.Roles.AddRange(roles);
                _context.Users.AddRange(user);
                _context.UserRoles.AddRange(userRoles);
                _context.RoleMenus.AddRange(roleMenus);
                _context.SystemConfigs.Add(systemConfig);
                await _context.SaveChangesAsync();
                await InitPathCodeAsync();

                return(true);
            }
            catch
            {
                //todo log
            }
            return(false);
        }
Beispiel #16
0
 public SystemConfigEntity SaveFrom(SystemConfigEntity saveModel)
 {
     return(Save(saveModel, "sysConfig_"));
 }
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                CancellationToken ct = (CancellationToken)context.JobDetail.JobDataMap["CanellationTokenParam"];
                ct.ThrowIfCancellationRequested();

                //获取数据库所有有效任务,状态为(IsDelete=0(未删除))
                List <TaskEntity> taskList = taskService.GetAllTaskList();
                ct.ThrowIfCancellationRequested();

                //判断配置中是否开启服务
                SystemConfigEntity systemConfig = sysConfigService.FindSystemConfig((int)SystemConfigs.DataExportService);
                if (systemConfig == null || systemConfig.Status == 0)
                {
                    List <TaskEntity> currentTaskList = QuartzBase.GetCurrentTaskList();
                    if (QuartzBase.EnabledDataExportJob && currentTaskList.Count > 0)
                    {
                        foreach (TaskEntity item in currentTaskList)
                        {
                            try
                            {
                                if (item.Enabled == 1)
                                {
                                    QuartzBase.PauseJob(item.TaskID);
                                    taskService.UpdateTaskStatus(item.TaskID, TaskStatus.STOP);

                                    item.TaskStatus = TaskStatus.STOP;
                                    QuartzBase.UpdateTask(item);
                                }
                            }
                            catch (Exception ex)
                            {
                                LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                            }
                        }
                        QuartzBase.EnabledDataExportJob = false;
                    }
                    return;
                }
                else
                {
                    List <TaskEntity> currentTaskList = QuartzBase.GetCurrentTaskList();
                    if (!QuartzBase.EnabledDataExportJob && currentTaskList.Count > 0)
                    {
                        foreach (TaskEntity item in currentTaskList)
                        {
                            try
                            {
                                if (item.Enabled == 1)
                                {
                                    QuartzBase.ResumeJob(item.TaskID);
                                    taskService.UpdateTaskStatus(item.TaskID, TaskStatus.RUN);

                                    item.TaskStatus = TaskStatus.RUN;
                                    QuartzBase.UpdateTask(item);
                                }
                            }
                            catch (Exception ex)
                            {
                                LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                            }
                        }
                        QuartzBase.EnabledDataExportJob = true;
                    }
                }

                ct.ThrowIfCancellationRequested();



                //添加新增任务
                List <TaskEntity> orginalTaskList = QuartzBase.GetCurrentTaskList().ToList();
                var addTaskList = (from task in taskList
                                   where  !(from orgtask in orginalTaskList select orgtask.TaskID).Contains(task.TaskID)
                                   select task).ToList();
                foreach (TaskEntity item in addTaskList)
                {
                    try
                    {
                        if (item.Enabled == 1)
                        {
                            item.TaskStatus = TaskStatus.RUN;
                            QuartzBase.ScheduleJob(item);
                            QuartzBase.AddTask(item);
                            taskService.UpdateTaskStatus(item.TaskID, TaskStatus.RUN);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                    }
                }


                //任务状态变化处理(运行或暂停)
                orginalTaskList = QuartzBase.GetCurrentTaskList().ToList();
                var statusChangeTaskList = (from task in taskList
                                            from orgTask in orginalTaskList
                                            where task.TaskID == orgTask.TaskID && task.TaskUniqueCode == task.TaskUniqueCode && task.Enabled != orgTask.Enabled
                                            select task).ToList();
                foreach (TaskEntity item in statusChangeTaskList)
                {
                    try
                    {
                        TaskEntity taskEntity = QuartzBase.GetCurrentTaskList().Find(task => task.TaskID == item.TaskID);
                        if (item.Enabled == 1)
                        {
                            if (taskEntity.TaskStatus == TaskStatus.STOP)
                            {
                                QuartzBase.ResumeJob(item.TaskID);
                                taskService.UpdateTaskStatus(item.TaskID, TaskStatus.RUN);

                                if (taskEntity != null)
                                {
                                    taskEntity.Enabled    = item.Enabled;
                                    taskEntity.TaskStatus = TaskStatus.RUN;
                                    QuartzBase.UpdateTask(taskEntity);
                                }
                            }
                        }
                        else
                        {
                            if (taskEntity.TaskStatus == TaskStatus.RUN)
                            {
                                QuartzBase.PauseJob(item.TaskID);
                                taskService.UpdateTaskStatus(item.TaskID, TaskStatus.STOP);
                                if (taskEntity != null)
                                {
                                    taskEntity.Enabled    = item.Enabled;
                                    taskEntity.TaskStatus = TaskStatus.STOP;
                                    QuartzBase.UpdateTask(taskEntity);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                    }
                }

                ct.ThrowIfCancellationRequested();
                //任务内容变更处理
                orginalTaskList = QuartzBase.GetCurrentTaskList().ToList();
                var updateTaskList = (from task in taskList
                                      from orgTask in orginalTaskList
                                      where task.TaskID == orgTask.TaskID && task.Enabled == orgTask.Enabled && task.TaskUniqueCode != orgTask.TaskUniqueCode
                                      select new { NewTask = task, OriginTask = orgTask }).ToList();
                foreach (var item in updateTaskList)
                {
                    try
                    {
                        QuartzBase.ScheduleJob(item.NewTask, true);
                        taskService.UpdateTaskStatus(item.NewTask.TaskID, TaskStatus.RUN);

                        //修改原有任务信息
                        item.NewTask.TaskStatus = TaskStatus.RUN;
                        QuartzBase.UpdateTask(item.NewTask);
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                    }
                }

                ct.ThrowIfCancellationRequested();
                //已删除的任务
                orginalTaskList = QuartzBase.GetCurrentTaskList().ToList();
                List <TaskEntity> deletedTaskList = taskService.GetAllDeletedTaskList();
                var toDeleteTaskList = (from orgTask in orginalTaskList
                                        from task in deletedTaskList
                                        where task.TaskID == orgTask.TaskID
                                        select orgTask).ToList();
                foreach (TaskEntity item in toDeleteTaskList)
                {
                    try
                    {
                        QuartzBase.DeleteJob(item.TaskID);
                        taskService.UpdateTaskStatus(item.TaskID, TaskStatus.STOP);
                        TaskEntity taskEntity = QuartzBase.GetCurrentTaskList().Find(task => task.TaskID == item.TaskID);
                        if (taskEntity != null)
                        {
                            QuartzBase.DeleteTask(taskEntity.TaskID);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog($"{ex.Message}[{ex.StackTrace}]");
                    }
                }

                ct.ThrowIfCancellationRequested();
            }
            catch (Exception ex)
            {
                LogUtil.WriteLog($"自动处理作业AutoDealJob类出现异常,异常信息:[{ex.Message}][{ex.StackTrace}]");
            }
        }
 internal SystemConfigWrapper(SystemConfigEntity entityObj)
 {
     entity = entityObj;
 }
Beispiel #19
0
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                CancellationToken ct = (CancellationToken)context.JobDetail.JobDataMap["CanellationTokenParam"];
                ct.ThrowIfCancellationRequested();

                SystemConfigEntity systemConfig = sysConfigService.FindSystemConfig((int)SystemConfigs.FtpUpoladService);
                if (systemConfig == null || systemConfig.Status == 0)
                {
                    return;
                }


                FtpConfigEntity ftpConfig = ftpService.GetFirstFtpInfo();
                if (ftpConfig == null)
                {
                    throw new Exception("传8未配置FTP信息");
                }

                if (!Directory.Exists(ftpConfig.ExportFileDirectory))
                {
                    throw new Exception($"传8配置的FTP目录[{ftpConfig.ExportFileDirectory}]不存在");
                }

                string fileBackupPath = Path.Combine(AppPath.DataFolder, ConfigHelper.GetConfig("UploadFileBackpath", "UploadFileBackup"), DateTime.Now.ToString("yyyyMM"));

                if (!Directory.Exists(fileBackupPath))
                {
                    Directory.CreateDirectory(fileBackupPath);
                }

                //获得源文件下所有文件
                List <string> files = new List <string>(Directory.GetFiles(ftpConfig.ExportFileDirectory));
                ct.ThrowIfCancellationRequested();

                files.ForEach(sourceFile =>
                {
                    ct.ThrowIfCancellationRequested();
                    try
                    {
                        FtpHelper.UploadFile(ftpConfig, sourceFile);
                        string backupfileFullpath = Path.Combine(fileBackupPath, FileHelper.GetFileName(sourceFile));

                        //备份上传文件
                        FileHelper.CopyFile(sourceFile, backupfileFullpath);
                        Thread.Sleep(200);
                        File.Delete(sourceFile);

                        LogUtil.WriteLog($"数据文件[{sourceFile}]上传成功");
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog(ex.Message);
                    }
                });
            }
            catch (Exception ex)
            {
                //JobExecutionException jex = new JobExecutionException(ex);
                //jex.RefireImmediately = true;
                LogUtil.WriteLog($"FtpJob作业类异常,异常信息[{ex.Message}][{ex.StackTrace}]");
            }
        }
Beispiel #20
0
        /// <summary>
        /// 检测系统配置
        /// </summary>
        protected void CheckSystemConfiguration()
        {
            if (!Common.IsExistSQLiteDB())
            {
                ShowErrorMessage("系统未检测到数据库,请联系开卷客服人员");
                return;
            }

            List <SystemConfigEntity> systemConfigList = systemConfigService.GetSystemConfigList();

            if (systemConfigList.Count == 0)
            {
                ShowErrorMessage("系统配置表不存在,请联系开卷客服人员");
                return;
            }

            //1检测客户密钥
            SystemConfigEntity systemConfig = systemConfigList.Find(item => item.SysConfigID == (int)SystemConfigs.EncryptKey);

            if (systemConfig == null)
            {
                ShowErrorMessage("系统配置表不存在客户密钥数据记录,请联系开卷客服人员");
                return;
            }
            if (string.IsNullOrEmpty(systemConfig.ExSetting01))
            {
                ShowErrorMessage("未配置客户密钥,请先配置客户密钥");
                EncryptKeyConfigFrm frm = new EncryptKeyConfigFrm();
                frm.StartPosition = FormStartPosition.CenterParent;
                frm.ShowDialog();;
            }

            //2检测FTP配置
            FtpConfigEntity ftpConfig = ftpService.GetFirstFtpInfo();

            if (ftpConfig == null)
            {
                ShowErrorMessage("未配置FTP信息,请先配置FTP数据");
                FtpConfigFrm frm = new FtpConfigFrm();
                frm.StartPosition = FormStartPosition.CenterParent;
                frm.ShowDialog();
            }
            systemConfig = systemConfigList.Find(item => item.SysConfigID == (int)SystemConfigs.FtpUpoladService);
            if (systemConfig == null)
            {
                ShowErrorMessage("系统配置表不存在FTP上传服务数据记录,请联系开卷客服人员");
                return;
            }
            if (systemConfig.Status == 1)
            {
                try
                {
                    FtpHelper.ConnectFtpServer(ftpConfig);
                }
                catch (Exception ex)
                {
                    ShowErrorMessage($"请检查FTP配置信息。错误信息[{ex.Message}]");
                    FtpConfigFrm frm = new FtpConfigFrm();
                    frm.StartPosition = FormStartPosition.CenterParent;
                    frm.ShowDialog();
                }
            }
        }
 /// <summary>
 /// 更新系统配置
 /// </summary>
 /// <param name="systemConfig"></param>
 /// <returns></returns>
 public bool Insert(SystemConfigEntity systemConfig)
 {
     return(dao.Insert(systemConfig));
 }