using ivf_tl_Entity.Entity.HouseSetting;
using ivf_tl_Entity.Entity.Result;
using ivf_tl_Entity.Enums;
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 HouseProvider
{
LogService LogService { get; set; }
HttpServiceCall httpServiceCall1 { get; set; }
public HouseProvider(HttpServiceCall _httpServiceCall, LogService _logService)
{
httpServiceCall1 = _httpServiceCall;
LogService = _logService;
}
private void ExLog(Exception ex, string name)
{
LogService.ExceptionLog(ex, $"HouseProvider.{name}", LogEnum.RunException);
}
private void ErrorLog(string message, LogEnum logType)
{
LogService.TLLog($"HouseProvider.{message}", logType);
}
///
/// 获取对焦参数设置
///
///
public List GetFocusSettingApi(string tlsn)
{
string funcName = "GetFocusSettingApi";
try
{
string url = "/api/tl/control/setting/house/focus/setting";
Dictionary body = new Dictionary();
body.Add("tlSn", tlsn);
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new List();
ResultEntity> 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();
}
}
///
/// 获取指定tlSn的tl通用设置
///
///
public TLSettingCommon GetSettingCommonApi(string tlsn)
{
string funcName = "GetSettingCommonApi";
try
{
string url = "/api/tl/control/setting/common";
Dictionary body = new Dictionary();
body.Add("tlSn", tlsn);
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new TLSettingCommon();
ResultEntity rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return new TLSettingCommon();
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new TLSettingCommon();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new TLSettingCommon();
}
}
///
/// 更新指定tlSn通用设置
///
///
///
public bool UpdateSettingCommonApi(string body)
{
string funcName = "UpdateSettingCommonApi";
try
{
string url = "/api/tl/control/setting/common/update";
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return false;
ResultEntity rs = JsonConvert.DeserializeObject(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return false;
}
return true;
}
catch (Exception ex)
{
ExLog(ex, funcName);
return false;
}
}
///
/// 获取指定tlSn的系统设置
///
///
///
public TLSettingModel GetSettingSystemApi(string tlsn)
{
string funcName = "GetSettingSystemApi";
try
{
string url = "/api/tl/control/setting/system";
Dictionary keyValuePairs = new Dictionary();
keyValuePairs.Add("tlSn", tlsn);
string resultString = httpServiceCall1.callWebService(url, keyValuePairs);
if (string.IsNullOrEmpty(resultString)) return new TLSettingModel();
ResultEntity rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return new TLSettingModel();
}
if (rs.data != null) return rs.data;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new TLSettingModel();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new TLSettingModel();
}
}
///
/// 更新tlSn的系统设置
///
///
///
public bool UpdateSettingSystemApi(string body)
{
string funcName = "UpdateSettingSystemApi";
try
{
string url = "/api/tl/control/setting/system/update";
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return false;
ResultEntity rs = JsonConvert.DeserializeObject(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return false;
}
return true;
}
catch (Exception ex)
{
ExLog(ex, funcName);
return false;
}
}
///
/// 获取指定tlSn的舱室配置
///
///
///
public List GetSettingHouseApi(string tlSn)
{
string funcName = "GetSettingHouseApi";
try
{
string url = "/api/tl/control/setting/house";
string body = JsonConvert.SerializeObject(new { tlSn = tlSn, size = 100, current = 1 });
string resultString = httpServiceCall1.callWebService(url, body);
if (string.IsNullOrEmpty(resultString)) return new List();
ResultEntity rs = JsonConvert.DeserializeObject>(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return new List();
}
if (rs.data != null && rs.data.records != null) return rs.data.records;
ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
return new List();
}
catch (Exception ex)
{
ExLog(ex, funcName);
return new List();
}
}
public bool UploadLogoApi(byte[] logoBtye, string fileName, string tlsn)
{
string funcName = "UploadLogoApi";
try
{
string url = "/api/tl/control/setting/common/updateLogoFile";
Dictionary body = new Dictionary { { "tlSn", tlsn } };
string resultString = httpServiceCall1.callWebServiceUpLoad(url, body, logoBtye, fileName);
if (string.IsNullOrEmpty(resultString)) return false;
ResultEntity rs = JsonConvert.DeserializeObject(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return false;
}
return true;
}
catch (Exception ex)
{
ExLog(ex, funcName);
return false;
}
}
public bool ClearLogoApi(string tlsn)
{
string funcName = "ClearLogoApi";
try
{
string url = "/api/tl/control/setting/common/deleteLogoFile";
string resultString = httpServiceCall1.callWebService(url, new Dictionary { { "tlSn",tlsn} });
if (string.IsNullOrEmpty(resultString)) return false;
ResultEntity rs = JsonConvert.DeserializeObject(resultString);
if (!rs.success)
{
ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
return false;
}
return true;
}
catch (Exception ex)
{
ExLog(ex, funcName);
return false;
}
}
}
}