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.Response;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
namespace ivf_tl_Service.HttpProvider
{
public class DishProvider
{
LogService LogService { get; set; }
HttpServiceCall httpServiceCall1 { get; set; }
public DishProvider(HttpServiceCall _httpServiceCall, LogService _logService)
{
httpServiceCall1 = _httpServiceCall;
LogService = _logService;
}
private void ExLog(Exception ex, string name)
{
LogService.ExceptionLog(ex, $"DishProvider.{name}", LogEnum.RunException);
}
private void ErrorLog(string message, LogEnum logType)
{
LogService.TLLog($"DishProvider.{message}", logType);
}
///
/// 设备管理 - 设备列表
///
///
public List GetTlInfoList()
{
string funcName = "GetTlInfoList";
string resultString = string.Empty;
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/getTlInfoList";
resultString = httpServiceCall1.callWebService(url);
if (string.IsNullOrEmpty(resultString)) return new List();
var result = JsonConvert.DeserializeObject>>(resultString);
if (!result.success)
{
ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
return new List();
}
if (result.data != null) return result.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new List();
}
catch (Exception ex)
{
ExLog(ex, $"{funcName}:[resultString:{resultString}]");
return new List();
}
}
///
/// 患者培养接口 开始培养-添加患者信息
///
///
///
public string StartDish(Dish dish)
{
string name = "StartDish";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/addCultureRecord";
string body = JsonConvert.SerializeObject(dish);
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return "服务器返回空";
var result = JsonConvert.DeserializeObject(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return result.message;
}
return null;
}
catch (Exception ex)
{
ExLog(ex, name);
return ex.Message;
}
}
///
/// 患者培养接口 编辑患者信息
///
///
///
public string UpDataDish(string body)
{
string name = "UpDataDish";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/updateCultureRecord";
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return "服务器返回空";
var result = JsonConvert.DeserializeObject(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return result.message;
}
return null;
}
catch (Exception ex)
{
ExLog(ex, name);
return ex.Message;
}
}
///
/// 舱室平衡接口 舱室列表-开始平衡
///
///
///
public string StartBalance(string tlSn, int houseSn)
{
string name = "StartBalance";
try
{
string url = "/api/businessManage/pc/balance/startBalance";
string body = JsonConvert.SerializeObject(new { tlSn = tlSn, houseSn = houseSn });
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return "服务器返回空";
var result = JsonConvert.DeserializeObject(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return result.message;
}
return null;
}
catch (Exception ex)
{
ExLog(ex, name);
return ex.Message;
}
}
///
/// 舱室平衡接口 舱室列表-结束平衡
///
///
///
public string StopBalance(long id)
{
string name = "StopBalance";
try
{
string url = "/api/businessManage/pc/balance/stopBalance";
string body = JsonConvert.SerializeObject(new { id = id });
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return "服务器返回空";
var result = JsonConvert.DeserializeObject(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return result.message;
}
return null;
}
catch (Exception ex)
{
ExLog(ex, name);
return ex.Message;
}
}
public List GetNewPicApi(string tlsn, int housesn, List wellList)
{
string name = "GetNewPicApi";
try
{
string url = "/api/businessManage/pc/resource/getEmbryosLastPictures";
string body = JsonConvert.SerializeObject(new
{
tlSn = tlsn,
houseSn = housesn,
embryoIds = wellList,
});
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return new List();
var result = JsonConvert.DeserializeObject>>(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return new List();
}
if (result.data != null && result.data.Any()) return result.data;
ErrorLog($"{name}接口返回成功但是无数据 {json}", LogEnum.RunError);
return new List();
}
catch (Exception ex)
{
ExLog(ex, name);
return new List();
}
}
///
/// 患者培养接口 培养记录 - 分页查询
///
///
public DishRecordResult SearchDishRecordApi(SearchDishRecordResponse searchDishRecord)
{
string funcName = "SearchDishRecordApi";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/getEmbryoCultureRecord";
string body = JsonConvert.SerializeObject(searchDishRecord, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new DishRecordResult() { IsSuccess = false };
var rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
return new DishRecordResult() { IsSuccess = false };
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new DishRecordResult();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new DishRecordResult() { IsSuccess = false };
}
}
///
/// 患者培养接口 培养记录 - 查询数量
///
///
public AlarmHistoryNumResult SearchDishRecordNumApi(SearchDishRecordResponse searchDishRecord)
{
string funcName = "SearchDishRecordNumApi";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/getEmbryoCultureRecordNum";
string body = JsonConvert.SerializeObject(searchDishRecord, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new AlarmHistoryNumResult();
var rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
return new AlarmHistoryNumResult();
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new AlarmHistoryNumResult();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new AlarmHistoryNumResult();
}
}
///
/// 患者培养接口 患者管理 - 详情
///
///
public Dish GetDishByIdApi(long id)
{
string funcName = "GetDishByIdApi";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/getCultureRecordById";
Dictionary body = new Dictionary { { "id", id.ToString() } };
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new Dish();
var rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
return new Dish();
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new Dish();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new Dish();
}
}
public string DeleteDishRecordApi(long id)
{
string name = "DeleteDishRecordApi";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/deleteEmbryoCultureRecord";
Dictionary body = new Dictionary() { { "id", id.ToString() } };
string json = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(json)) return "服务器返回空";
var result = JsonConvert.DeserializeObject(json);
if (!result.success)
{
ErrorLog($"{name}服务器返回失败 {json}", LogEnum.RunError);
return result.message;
}
return null;
}
catch (Exception ex)
{
ExLog(ex, name);
return ex.Message;
}
}
public byte[] GetImageByte(string imageUrl)
{
string funcName = "GetImageByte";
try
{
return httpServiceCall1.GetImageByteApi(imageUrl);
}
catch (Exception ex)
{
ExLog(ex, funcName);
return null;
}
}
public ReportMarkData GetCultureRecordDetailByIdApi(long id)
{
string funcName = "GetCultureRecordDetailByIdApi";
try
{
string url = "/api/businessManage/pc/embryoCultureRecord/getCultureRecordDetailById";
Dictionary body = new Dictionary();
body.Add("id", id.ToString());
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return null;
ResultEntity rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
return null;
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return null;
}
catch (Exception ex)
{
ExLog(ex, funcName);
return null;
}
}
}
}