private void btnJobStart_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtTaskID.Text)) { MessageBox.Show("任务ID不能为空"); return; } string taskID = txtTaskID.Text.Trim(); TaskEntity taskEntity = taskBll.Find(taskID); if (taskEntity == null) { MessageBox.Show("任务ID系统中不存在"); return; } FtpConfigEntity ftpConfigEntity = ftpBll.GetFirstFtpInfo(); taskEntity.FtpConfig = ftpConfigEntity; //构造数据文件产品并执行 DbFileProductDirector director = new DbFileProductDirector(); ADbFileProductBuilder productBuilder = new DbFileProductBuilder(); director.ConstructProduct(productBuilder); DbFileProduct product = productBuilder.GetDbFileProduct(); product.Execute(taskEntity, cts.Token); }
private void BindData() { FtpConfigEntity ftpConfig = ftpBll.GetFirstFtpInfo(); if (ftpConfig != null) { txtServerAddress.Text = ftpConfig.ServerAddress; txtServerDirectory.Text = ftpConfig.ServerDirectory; txtUserName.Text = ftpConfig.UserName; txtUserPassword.Text = ftpConfig.UserPassword; txtExportFileDirectory.Text = ftpConfig.ExportFileDirectory; } }
private bool checkFtpUseable() { FtpConfigEntity ftpConfig = ftpBll.GetFirstFtpInfo(); if (ftpConfig == null) { base.ShowErrorMessage("您未配置FTP信息,请点击[FTP配置]菜单进行配置"); return(false); } if (!FtpHelper.ConnectFtpServer(ftpConfig)) { base.ShowErrorMessage("FTP配置信息错误,未能连接上FTP服务器"); return(false); } return(true); }
/// <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(); } } }
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}]"); } }