using DeviceRepair.Api.Common; using DeviceRepair.Api.CustomAttribute; using DeviceRepair.DataAccess; using DeviceRepair.Models; using NLog; using System; using System.Collections.Generic; using System.IO; using System.Net.Http; using System.Net.Http.Headers; using System.Web.Http; namespace DeviceRepair.Api.Controllers { [RoutePrefix("Api/Common")] public class CommonController : CFController { private static readonly Logger log = LogManager.GetCurrentClassLogger(); [HttpGet] [Route("CurrentDateTime")] public string CurrentDateTime() { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } [HttpGet,Route("CurrenDate")] public IHttpActionResult CurrenDate() { return new Models.GzipCompressedResult(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), base.Request); } /// /// 获取配置信息 /// /// /// [HttpGet] [Route("GetQuery")] [HttpAuthorize] public APIResponseData GetQuery() { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据" }; try { apiResponseData = SystemUtil.Instance.GetAll(); } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 更改系统设置 /// /// [HttpPost] [Route("EditConfigs")] [HttpAuthorize] public APIResponseData EditConfigs(List Datas) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据" }; try { apiResponseData = SystemUtil.Instance.EditConfigs(Datas); } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取附件信息 /// /// /// [HttpGet] [Route("GetAttachments")] [HttpAuthorize] public APIResponseData GetAttachment(string TableName, string PrimaryKey, string PrimaryValue) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据" }; try { apiResponseData = SystemUtil.Instance.GetAttachment(TableName, PrimaryKey, PrimaryValue); } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取图片 /// /// [HttpGet] [Route("GetAttachments")] [HttpAuthorize] public HttpResponseMessage GetImage(int AttachmentId) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据" }; // 创建一个HttpResponseMessage实例 HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.OK); try { apiResponseData = SystemUtil.Instance.GetAttachmentImg(AttachmentId); if (apiResponseData.IsSuccess) { AttachmentInfo atta = (AttachmentInfo)apiResponseData.Data; // 设置响应头,以便客户端能够正确识别内容类型和长度 response.Content = new ByteArrayContent(File.ReadAllBytes(atta.FilePath)); response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); response.Content.Headers.ContentLength = new FileInfo(atta.FilePath).Length; } } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return response; } /// /// 获取邮箱配置 /// /// /// [HttpGet, Route("sysEmailConfigByModuleCode"), HttpAuthorize] public APIResponseData sysEmailConfigByModuleCode(string ModuleCode) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据" }; try { apiResponseData = SystemUtil.Instance.sysEmailConfigByModuleCode(ModuleCode); } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } } }