using Microsoft.AspNetCore.Mvc; using WcsMain.ApiServe.Controllers.Dto.WcsDto.SystemController; using WcsMain.ApiServe.Controllers.Dto; using WcsMain.WcsAttribute.AutoFacAttribute; using WcsMain.ApiServe.Factory; using DataCheck; namespace WcsMain.ApiServe.Service.WcsService; [Service] public class RunningInfoService { /// /// 获取日志名称 /// /// /// public WcsApiResponse> GetLogFileName(string? logType) { string logAddress = AppDomain.CurrentDomain.BaseDirectory + $"Log\\{logType}\\"; DirectoryInfo directoryInfo = new(logAddress); bool isExist = directoryInfo.Exists; if (!isExist) { return WcsApiResponseFactory.Fail>(msg: "没有相关的日志"); } var fileInfos = directoryInfo.GetFiles(); List fileNames = []; foreach (FileInfo fileInfo in fileInfos) { fileNames.Add(fileInfo.Name); } return WcsApiResponseFactory.Success(fileNames, "查询成功"); } /// /// 验证下载文件是否存在 /// /// /// public WcsApiResponse CheckDownLoadLog([FromBody] LogRequest request) { bool checkData = CheckData.CheckDataRules(request); if (!checkData) { return WcsApiResponseFactory.RequestErr(); } string logAddress = AppDomain.CurrentDomain.BaseDirectory + $"Log\\{request.LogType}\\{request.LogFileName}"; bool isHave = System.IO.File.Exists(logAddress); return isHave ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.Fail("文件不存在"); } /// /// 下载文件 /// /// /// public FileContentResult DownLoadLog(LogRequest request, ControllerBase controllerBase) { string logAddress = AppDomain.CurrentDomain.BaseDirectory + $"Log\\{request.LogType}\\{request.LogFileName}"; byte[] fileBytes = System.IO.File.ReadAllBytes(logAddress); return controllerBase.File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, "log.txt"); } }