using ivf_tl_Entity.Entity; using ivf_tl_Entity.Entity.balance; using ivf_tl_Entity.Entity.Mark; using ivf_tl_Entity.Entity.Result; using ivf_tl_Entity.Enums; using ivf_tl_Entity.Pic; using ivf_tl_Entity.Response; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ivf_tl_Service.HttpProvider { public class PicProvider { LogService LogService { get; set; } HttpServiceCall httpServiceCall1 { get; set; } public PicProvider(HttpServiceCall _httpServiceCall, LogService _logService) { httpServiceCall1 = _httpServiceCall; LogService = _logService; } private void ExLog(Exception ex, string name) { LogService.ExceptionLog(ex, $"PicProvider.{name}", LogEnum.RunException); } private void ErrorLog(string message, LogEnum logType) { LogService.TLLog($"PicProvider.{message}", logType); } /// /// 设备数据接口 详情-图片查看(获取原图) /// /// /// /// /// /// public List GetImageSourceApi(long embryoId, int houseSn, int pictureLayer, string tlSn) { string funcName = "GetImageSourceApi"; try { string url = "/api/businessManage/pc/resource/getSourcePictures"; string body = JsonConvert.SerializeObject(new { embryoId = embryoId, houseSn = houseSn, pictureLayer = pictureLayer, tlSn = tlSn, }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new List(); var rs = JsonConvert.DeserializeObject>>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return new List(); } if (rs.data != null && rs.data.Any()) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new List(); } catch (Exception ex) { ExLog(ex, funcName); return new List(); } } /// /// 设备数据接口 详情-图片查看(获取原图)分页 /// /// /// /// /// /// public SourcePicPageResult GetImageSourcePageApi(long embryoId, int houseSn, int pictureLayer, string tlSn, int current, int size, List photoBoxSetting1s) { string funcName = "GetImageSourcePageApi"; try { string url = "/api/businessManage/pc/resource/getSourcePicturesByPage"; string body = null; if (photoBoxSetting1s.Any()) { body = JsonConvert.SerializeObject(new { embryoId = embryoId, houseSn = houseSn, pictureLayer = pictureLayer, tlSn = tlSn, current, size, searchButtons = photoBoxSetting1s, }); } else { body = JsonConvert.SerializeObject(new { embryoId = embryoId, houseSn = houseSn, pictureLayer = pictureLayer, tlSn = tlSn, current, size }); } string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new SourcePicPageResult(); var rs = JsonConvert.DeserializeObject>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return new SourcePicPageResult(); } if (rs.data != null) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new SourcePicPageResult(); } catch (Exception ex) { ExLog(ex, funcName); return new SourcePicPageResult(); } } /// /// 设备数据接口 患者管理-详情-获取指定指定well的指定图层图片 /// /// /// /// /// /// /// public List SwitchVideoPictureLayersApi(string tlsn, int housesn, long dishId, List wellList, List layerList) { string funcName = "SwitchVideoPictureLayersApi"; try { string url = "/api/businessManage/pc/resource/switchVideoPictureLayers"; string body = JsonConvert.SerializeObject(new { tlSn = tlsn, houseSn = housesn, id = dishId, wellSnList = wellList, pictureLayer = layerList }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new List(); var rs = JsonConvert.DeserializeObject>>(resultString); if (!rs.success) { ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError); return new List(); } if (rs.data != null) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new List(); } catch (Exception ex) { ExLog(ex, funcName); return new List(); } } public bool DownloadSelectPicturesApi(string tlSn, int houseSn, List ids, string fileName) { string funcName = "DownloadSelectPicturesApi"; try { string url = "/api/businessManage/pc/resource/downloadSelectPictures"; string body = JsonConvert.SerializeObject(new { tlSn = tlSn, houseSn = houseSn, ids = ids, }); return httpServiceCall1.callWebService(url, body, fileName); } catch (Exception ex) { ExLog(ex, funcName); return false; } } /// /// 下载图片 /// /// /// /// public bool DownloadFileApi(string tlSn, int houseSn, long id, string newFile) { string funcName = "DownloadFileApi"; try { return httpServiceCall1.DownLoadFileAsync($"/api/businessManage/pc/resource/downloadPicture?tlSn={tlSn}&houseSn={houseSn}&ids={id}", newFile).GetAwaiter().GetResult() == 1; } catch (Exception ex) { ExLog(ex, funcName); return false; } } /// /// 下载指定well - 指定图层所有图片 /// /// public bool DownloadLayerPicApi(string body, string newFile,string ss) { string funcName = "DownloadLayerPicApi"; try { string url = "/api/businessManage/pc/resource/downloadPictures"; return httpServiceCall1.callWebService(url, body, newFile); } catch (Exception ex) { ExLog(ex, funcName); return false; } } /// /// 下载指定well - 指定图层所有图片 /// /// public async Task DownloadLayerPicApi(string tlsn,int housesn,int pic,List ids, string newFile) { string funcName = "DownloadLayerPicApi"; try { string url = $"/api/businessManage/pc/resource/downloadPictures?houseSn={housesn}&ids={string.Join(",",ids)}&pictureLayer={pic}&tlSn={tlsn}"; url = url.Replace("+", "%2B"); url = url.Replace(",", "%2C"); //var a = await httpServiceCall1.DownLoadFile(url, newFile); return true; } catch (Exception ex) { ExLog(ex, funcName); return false; } } /// /// 下载指定well - 指定图层所有图片 /// /// public async Task DownloadApi(string url, string newFile) { string funcName = "DownloadLayerPicApi"; try { url = url.Replace("+", "%2B"); url = url.Replace(",", "%2C"); //var a = await httpServiceCall1.DownLoadFile(url, newFile); return true; } catch (Exception ex) { ExLog(ex, funcName); return false; } } /// /// 下载指定well - 指定图层所有图片 /// /// public bool DownloadLayerVideoApi(string body, string newFile) { string funcName = "DownloadLayerVideoApi"; try { string url = "/api/businessManage/pc/resource/downloadVideos"; return httpServiceCall1.callWebService(url, body, newFile); } catch (Exception ex) { ExLog(ex, funcName); return false; } } public List GetPictureViewApi(string tlSn,int houseSn,long embryoId,int pictureLayer) { string funcName = "GetPictureViewApi"; try { string url = "/api/businessManage/pc/resource/getPictures"; string body = JsonConvert.SerializeObject(new { tlSn, houseSn, embryoId , pictureLayer }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new List(); var rs = JsonConvert.DeserializeObject>>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return new List(); } if (rs.data != null && rs.data.Any()) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new List(); } catch (Exception ex) { ExLog(ex, funcName); return new List(); } } public int GetSourcePicturesTotalLayerApi(string tlSn, int houseSn, long embryoId) { string funcName = "GetSourcePicturesTotalLayerApi"; try { string url = "/api/businessManage/pc/resource/getSourcePicturesTotalLayer"; string body = JsonConvert.SerializeObject(new { tlSn, houseSn, embryoId }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return 0; var rs = JsonConvert.DeserializeObject>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return 0; } if (string.IsNullOrEmpty(rs.data)) { ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return 0; } if (int.TryParse(rs.data, out int newValue)) { return newValue; } else { ErrorLog($"{funcName}接口返回成功但是结果转int类型失败 {resultString}", LogEnum.RunError); return 0; } } catch (Exception ex) { ExLog(ex, funcName); return 0; } } public List GetPositionApi(string tlSn, int houseSn, List wellSn) { string funcName = "GetPositionApi"; try { string url = "/api/tl/control/setting/house/autofocus/position"; string body = JsonConvert.SerializeObject(new { tlSn, houseSn, wellSn }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new List(); var rs = JsonConvert.DeserializeObject>>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return new List(); } if (rs.data != null && rs.data.Any()) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new List(); } catch (Exception ex) { ExLog(ex, funcName); return new List(); } } public AutoFocusResult GetAutofocusPicturesApi(string tlSn, int houseSn, long embryoId) { string funcName = "GetAutofocusPicturesApi"; try { string url = "/api/businessManage/pc/resource/getAutofocusPictures"; string body = JsonConvert.SerializeObject(new { tlSn, houseSn, embryoId }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return new AutoFocusResult(); var rs = JsonConvert.DeserializeObject>(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return new AutoFocusResult(); } if (rs.data != null) return rs.data; ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError); return new AutoFocusResult(); } catch (Exception ex) { ExLog(ex, funcName); return new AutoFocusResult(); } } public bool UpdateImmediatelyApi(string tlSn, int houseSn, List wellFocusStartingPointList) { string funcName = "UpdateImmediatelyApi"; try { string url = "/api/tl/control/setting/well/immediately"; string body = JsonConvert.SerializeObject(new { tlSn, houseSn, wellFocusStartingPointList }); string resultString = httpServiceCall1.callWebService(url, body); if (string.IsNullOrEmpty(resultString)) return false; var rs = JsonConvert.DeserializeObject(resultString); if (!rs.success) { ErrorLog($"{funcName}服务器返回失败 {resultString}", LogEnum.RunError); return false; } return true; } catch (Exception ex) { ExLog(ex, funcName); return false; } } } }