public JsonResult FtpValidate(CommonParamViewModel model) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); result.Success = FtpValidateResult(model); return Json(result, JsonRequestBehavior.AllowGet); })); }
/// <summary> /// 保存存储策略 /// </summary> /// <param name="model"></param> /// <returns>true:成功;false:失败</returns> private bool SaveStorageInfo(CommonParamViewModel model) { FileServer fileServer = this.Engine.FilePolicyManager.GetDefaultFileServer(); OThinker.H3.DataModel.FileDownloadType downloadType = (OThinker.H3.DataModel.FileDownloadType) int.Parse(model.ClientMethod); OThinker.H3.DataModel.FileStorageType storageType = (OThinker.H3.DataModel.FileStorageType) int.Parse(model.StorageMethod); fileServer.DbCode = model.SQLPool; fileServer.Account = model.FTPAcount; fileServer.ServerHost = model.FTPServer; fileServer.ServerPort = string.IsNullOrEmpty(model.FTPServerPort) ? 21 : int.Parse(model.FTPServerPort); fileServer.Password = model.FTPPassWord; fileServer.DownloadUrl = model.FTPUrl; fileServer.DownloadType = downloadType; fileServer.StorageType = storageType; fileServer.BasePath = model.BasePath ?? ""; return(this.Engine.FilePolicyManager.UpdateFileServer(fileServer)); }
/// <summary> /// FTP信息验证 /// </summary> /// <param name="model"></param> /// <returns></returns> private bool FtpValidateResult(CommonParamViewModel model) { FileServer fileServer = this.Engine.FilePolicyManager.GetDefaultFileServer(); // 检查数据库连接 OThinker.H3.DataModel.FileStorageType storageType = (OThinker.H3.DataModel.FileStorageType) int.Parse(model.StorageMethod); OThinker.H3.DataModel.FileDownloadType downloadType = (OThinker.H3.DataModel.FileDownloadType) int.Parse(model.ClientMethod); fileServer.StorageType = storageType; string password = model.FTPPassWord; if (!string.IsNullOrEmpty(password)) { fileServer.Password = password; } if (storageType == FileStorageType.FTP) { FtpWebRequest ftpRequest; try { if (!string.IsNullOrEmpty(model.FTPServerPort)) { ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + model.FTPServer.Trim() + ":" + model.FTPServerPort.Trim() + "/")); } else { ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + model.FTPServer.Trim() + "/")); } ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory; ftpRequest.UseBinary = true; ftpRequest.Credentials = new NetworkCredential(model.FTPAcount, fileServer.Password); FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse(); } catch { return(false); } } return(true); }
public JsonResult SaveCommonParam(CommonParamViewModel model) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); if (OThinker.H3.DataModel.FileStorageType.FTP == (OThinker.H3.DataModel.FileStorageType) int.Parse(model.StorageMethod)) { if (string.IsNullOrEmpty(model.FTPServer)) { result.Success = false; result.Message = "CommonParam.FTPInfoRequired"; return Json(result, JsonRequestBehavior.AllowGet); } else { if (!FtpValidateResult(model) && false) { result.Success = false; result.Message = "msgGlobalString.FtpValidateFailed"; return Json(result, JsonRequestBehavior.AllowGet); } } } if (model.ClientMethod == "1" && string.IsNullOrEmpty(model.FTPUrl)) { result.Success = false; result.Message = "CommonParam.FTPUrlIsEmpty"; return Json(result, JsonRequestBehavior.AllowGet); } bool saveStorage = SaveStorageInfo(model); //新用户初始密码设置 if (!string.IsNullOrWhiteSpace(model.Password)) { Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_UserInitialPassword, model.Password.Trim()); } // 流水号的方式 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_SequenceNoModal, model.SequenceNoModal); // 流水号的日期格式 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_SequenceNoDateFormat, model.SequenceNoDateFormat); // 流水号的长度 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_SequenceNoLength, model.SequenceNoLength); // 流水号的顺序 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_SequenceNoOrder, model.SequenceNoOrder); // 流水号的重置策略 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_GlobalSeqNoResetType, model.SequenceNoResetType); // 异常管理员 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ExceptionManager, model.ExceptionManager); // 委托身份,默认为AgencyIdentityType.Source AgencyIdentityType agencyIdentity = AgencyIdentityType.Source; CustomSetting.SetAgencyIdentityType(Engine.SettingManager, agencyIdentity); // 任务超时检查的时间间隔 CustomSetting.SetOvertimeCheckInterval(Engine.SettingManager, System.TimeSpan.Parse(model.OvertimeCheckInterval)); //内网集成服务器的地址 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemoteStubAddress, model.RemoteHubAddress); //帮助站点url Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WikiUrl, string.IsNullOrEmpty(model.WikiUrl) ? "" : model.WikiUrl.Trim()); //极光推送设置 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_JPushAppKey, model.AppKey); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_JPushMasterSecret, model.MasterSecret); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_JPushAppName, model.AppName); //微信设置 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WeChatCorpID, model.CorpID); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WeChatSecret, model.Secret); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WeChatMessageSecret, model.MessageSecret); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WeChatAgentId, model.WeChatProID); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_PortalUrl, model.WeChatMsgUrl); //钉钉设置 Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDCorpID, model.DDCorpID); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDSecret, model.DDSecret); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDAgentId, model.DDProID); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDUrl, model.DDMsgUrl); Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDPcUrl, model.DDPcMsgUrl); result.Success = true; return Json(result, JsonRequestBehavior.AllowGet); })); }
public JsonResult GetCommonParam() { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); FileServer fileServer = this.Engine.FilePolicyManager.GetDefaultFileServer(); //系统设置模型 CommonParamViewModel model = new CommonParamViewModel() { Password = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_UserInitialPassword), AgencyIdentity = CustomSetting.GetAgencyIdentityType(Engine.SettingManager).ToString(), ExceptionManager = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_ExceptionManager), SequenceNoModal = CustomSetting.GetSequenceNoModal(Engine.SettingManager).ToString(), SequenceNoDateFormat = CustomSetting.GetSequenceNoDateFormat(Engine.SettingManager).ToString(), SequenceNoOrder = CustomSetting.GetSequenceNoOrder(Engine.SettingManager).ToString(), SequenceNoLength = CustomSetting.GetSequenceNoLength(Engine.SettingManager).ToString(), SequenceNoResetType = CustomSetting.GetGlobalSeqResetType(this.Engine.SettingManager).ToString(), NextInstanceID = GetNextInstanceID(), OvertimeCheckInterval = CustomSetting.GetOvertimeCheckInterval(this.Engine.SettingManager).ToString(), RemoteHubAddress = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_RemoteStubAddress), WikiUrl = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_WikiUrl), StorageMethod = ((int)fileServer.StorageType).ToString(), ClientMethod = ((int)fileServer.DownloadType).ToString(), SQLPool = fileServer.DbCode, FTPServer = fileServer.ServerHost, FTPServerPort = fileServer.ServerPort.ToString() ?? "21", FTPAcount = fileServer.Account, FTPPassWord = fileServer.Password, FTPUrl = fileServer.DownloadUrl, BasePath = fileServer.BasePath, CorpID = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_WeChatCorpID), Secret = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_WeChatSecret), MessageSecret = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_WeChatMessageSecret), WeChatProID = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_WeChatAgentId), WeChatMsgUrl = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_PortalUrl), AppKey = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_JPushAppKey), MasterSecret = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_JPushMasterSecret), AppName = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_JPushAppName), DDCorpID = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_DDCorpID), DDMsgUrl = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_DDUrl), DDPcMsgUrl = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_DDPcUrl), DDProID = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_DDAgentId), DDSecret = Engine.SettingManager.GetCustomSetting(CustomSetting.Setting_DDSecret) }; //流水号的日期格式 List <Item> sequenceNoDateFormats = InitSequenceNoDateFormats(); //流水号的模式 List <Item> sequenceNoModals = InitSequenceNoModals(); //委托身份 List <Item> agencyIdentitys = InitAgencyIdentitys(); //流水号的顺序 List <Item> sequenceNoOrders = InitSequenceNoOrders(); //流水号的长度 List <Item> sequenceNoLengths = InitSequenceNoLengths(); //流水号的重置策略 List <Item> sequenceNoResetTypes = InitRestTypes(); //用户选择的方式 List <Item> clientMethods = InitClientMethods(); //存储策略 List <Item> storageMethods = InitStorageMethods(); //数据库连接池 List <Item> sqlPools = InitSqlPools(); result.Extend = new { CommonParam = model, SequenceNoDateFormats = sequenceNoDateFormats, SequenceNoModals = sequenceNoModals, AgencyIdentitys = agencyIdentitys, SequenceNoOrders = sequenceNoOrders, SequenceNoLengths = sequenceNoLengths, SequenceNoResetTypes = sequenceNoResetTypes, StorageMethods = storageMethods, ClientMethods = clientMethods, SQLPools = sqlPools }; result.Success = true; return Json(result, JsonRequestBehavior.AllowGet); })); }