DetailProvider.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. using ivf_tl_Entity.Entity;
  2. using ivf_tl_Entity.Entity.balance;
  3. using ivf_tl_Entity.Entity.Mark;
  4. using ivf_tl_Entity.Entity.Result;
  5. using ivf_tl_Entity.Enums;
  6. using ivf_tl_Entity.Response;
  7. using Newtonsoft.Json;
  8. using Newtonsoft.Json.Linq;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Net.Http;
  14. using System.Net;
  15. using System.Text;
  16. using System.Threading.Tasks;
  17. using System.Diagnostics;
  18. namespace ivf_tl_Service.HttpProvider
  19. {
  20. public class DetailProvider
  21. {
  22. LogService LogService { get; set; }
  23. HttpServiceCall httpServiceCall1 { get; set; }
  24. public DetailProvider(HttpServiceCall _httpServiceCall, LogService _logService)
  25. {
  26. httpServiceCall1 = _httpServiceCall;
  27. LogService = _logService;
  28. }
  29. private void ExLog(Exception ex, string name)
  30. {
  31. LogService.ExceptionLog(ex, $"DetailProvider.{name}", LogEnum.RunException);
  32. }
  33. private void ErrorLog(string message, LogEnum logType)
  34. {
  35. LogService.TLLog($"DetailProvider.{message}", logType);
  36. }
  37. /// <summary>
  38. /// 获取图片视频
  39. /// </summary>
  40. /// <param name="tlsn"></param>
  41. /// <param name="housesn"></param>
  42. /// <param name="dishId"></param>
  43. /// <returns></returns>
  44. public List<GetPicturesByRecordIdData> GetPicturesByRecordIdApi(string tlsn, int housesn, long dishId, List<int> wellList)
  45. {
  46. string funcName = "GetPicturesByRecordIdApi";
  47. try
  48. {
  49. string url = "/api/businessManage/pc/resource/getPicturesByRecordId";
  50. string body = JsonConvert.SerializeObject(new { tlSn = tlsn, houseSn = housesn, id = dishId, wellSnList = wellList });
  51. string resultString = httpServiceCall1.callWebService(url, body);
  52. ErrorLog(resultString, LogEnum.RunRecord);
  53. if (string.IsNullOrEmpty(resultString)) return new List<GetPicturesByRecordIdData>();
  54. ResultEntity<List<GetPicturesByRecordIdData>> rs = JsonConvert.DeserializeObject<ResultEntity<List<GetPicturesByRecordIdData>>>(resultString);
  55. if (!rs.success)
  56. {
  57. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  58. return new List<GetPicturesByRecordIdData>();
  59. }
  60. if (rs.data != null) return rs.data;
  61. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  62. return new List<GetPicturesByRecordIdData>();
  63. }
  64. catch (Exception ex)
  65. {
  66. ExLog(ex, funcName);
  67. return new List<GetPicturesByRecordIdData>();
  68. }
  69. }
  70. public List<DishPicAndVideo> GetRecordDetailApi(string tlsn, int housesn, long dishId, List<int> wellList)
  71. {
  72. string funcName = "GetRecordDetailApi";
  73. try
  74. {
  75. string url = "/api/businessManage/pc/resource/getRecordDetail";
  76. string body = JsonConvert.SerializeObject(new { tlSn = tlsn, houseSn = housesn, id = dishId, wellSnList = wellList });
  77. //Debug.WriteLine($"{DateTime.Now.ToString("MM-dd HH:mm:ss.fff")}");
  78. string resultString = httpServiceCall1.callWebService(url, body);
  79. //Debug.WriteLine($"{DateTime.Now.ToString("MM-dd HH:mm:ss.fff")}");
  80. if (string.IsNullOrEmpty(resultString)) return new List<DishPicAndVideo>();
  81. ResultEntity<List<DishPicAndVideo>> rs = JsonConvert.DeserializeObject<ResultEntity<List<DishPicAndVideo>>>(resultString);
  82. if (!rs.success)
  83. {
  84. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  85. return new List<DishPicAndVideo>();
  86. }
  87. if (rs.data != null) return rs.data;
  88. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  89. return new List<DishPicAndVideo>();
  90. }
  91. catch (Exception ex)
  92. {
  93. ExLog(ex, funcName);
  94. return new List<DishPicAndVideo>();
  95. }
  96. }
  97. /// <summary>
  98. /// 获取胚胎列表
  99. /// </summary>
  100. /// <param name="id"></param>
  101. /// <returns></returns>
  102. public List<Embryo> GetCultureRecordByIdApi(long id)
  103. {
  104. string funcName = "GetCultureRecordByIdApi";
  105. try
  106. {
  107. string url = "/api/businessManage/pc/embryoCultureRecord/getCultureRecordById";
  108. Dictionary<string, string> body = new Dictionary<string, string>();
  109. body.Add("id", id.ToString());
  110. string resultString = httpServiceCall1.callWebService(url, body);
  111. if (string.IsNullOrEmpty(resultString)) return new List<Embryo>();
  112. ResultEntity<Dish> rs = JsonConvert.DeserializeObject<ResultEntity<Dish>>(resultString);
  113. if (!rs.success)
  114. {
  115. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  116. return new List<Embryo>();
  117. }
  118. if (rs.data != null && rs.data.embryoList != null) return rs.data.embryoList;
  119. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  120. return new List<Embryo>();
  121. }
  122. catch (Exception ex)
  123. {
  124. ExLog(ex, funcName);
  125. return new List<Embryo>();
  126. }
  127. }
  128. /// <summary>
  129. /// 胚胎去向标记
  130. /// </summary>
  131. /// <param name="id"></param>
  132. /// <param name="embryoState"></param>
  133. /// <returns></returns>
  134. public bool MarkEmbryoDestinationApi(long id, int embryoState)
  135. {
  136. string funcName = "MarkEmbryoDestinationApi";
  137. try
  138. {
  139. string url = "/api/businessManage/pc/embryoMark/markEmbryoDestination";
  140. string body = JsonConvert.SerializeObject(new
  141. {
  142. id = id,
  143. state = embryoState,
  144. });
  145. string resultString = httpServiceCall1.callWebService(url, body);
  146. if (string.IsNullOrEmpty(resultString)) return false;
  147. ResultEntity<Dish> rs = JsonConvert.DeserializeObject<ResultEntity<Dish>>(resultString);
  148. if (!rs.success)
  149. {
  150. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  151. return false;
  152. }
  153. return true;
  154. }
  155. catch (Exception ex)
  156. {
  157. ExLog(ex, funcName);
  158. return false;
  159. }
  160. }
  161. /// <summary>
  162. /// 患者培养接口-结束培养
  163. /// </summary>
  164. /// <param name="id"></param>
  165. /// <returns></returns>
  166. public bool EndCultureRecordApi(long id)
  167. {
  168. string funcName = "EndCultureRecordApi";
  169. try
  170. {
  171. string url = "/api/businessManage/pc/embryoCultureRecord/endCultureRecord";
  172. Dictionary<string, string> body = new Dictionary<string, string>();
  173. body.Add("id", id.ToString());
  174. string resultString = httpServiceCall1.callWebService(url, body);
  175. if (string.IsNullOrEmpty(resultString)) return false;
  176. ResultEntity<Dish> rs = JsonConvert.DeserializeObject<ResultEntity<Dish>>(resultString);
  177. if (!rs.success)
  178. {
  179. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  180. return false;
  181. }
  182. return true;
  183. }
  184. catch (Exception ex)
  185. {
  186. ExLog(ex, funcName);
  187. return false;
  188. }
  189. }
  190. public List<MarkModelTypeEntity> GetEnableMarkModelTypeApi()
  191. {
  192. string funcName = "GetEnableMarkModelTypeApi";
  193. try
  194. {
  195. string url = "/api/businessManage/pc/mark/getEnableModels";
  196. string resultString = httpServiceCall1.callWebService(url);
  197. if (string.IsNullOrEmpty(resultString)) return new List<MarkModelTypeEntity>();
  198. ResultEntity<List<MarkModelTypeEntity>> rs = JsonConvert.DeserializeObject<ResultEntity<List<MarkModelTypeEntity>>>(resultString);
  199. if (!rs.success)
  200. {
  201. ErrorLog($"{funcName}接口返回失败:{resultString}", LogEnum.RunError);
  202. return new List<MarkModelTypeEntity>();
  203. }
  204. if (rs.data != null) return rs.data;
  205. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  206. return new List<MarkModelTypeEntity>();
  207. }
  208. catch (Exception ex)
  209. {
  210. ExLog(ex, funcName);
  211. return new List<MarkModelTypeEntity>();
  212. }
  213. }
  214. public List<ButtonEntity> GetQuickButtonsApi()
  215. {
  216. string funcName = "GetQuickButtonsApi";
  217. try
  218. {
  219. string url = "/api/businessManage/pc/photoSearchButton/getButtons";
  220. string body = JsonConvert.SerializeObject(new { types = new List<string> { "QUICK_BUTTON" } });
  221. string resultString = httpServiceCall1.callWebService(url, body);
  222. if (string.IsNullOrEmpty(resultString)) return new List<ButtonEntity>();
  223. ResultEntity<List<GetButtonsResult>> rs = JsonConvert.DeserializeObject<ResultEntity<List<GetButtonsResult>>>(resultString);
  224. if (!rs.success)
  225. {
  226. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  227. return new List<ButtonEntity>();
  228. }
  229. if (rs.data.Any() && rs.data.First().button != null && rs.data.First().button.Any())
  230. {
  231. return rs.data.First().button;
  232. }
  233. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  234. return new List<ButtonEntity>();
  235. }
  236. catch (Exception ex)
  237. {
  238. ExLog(ex, funcName);
  239. return new List<ButtonEntity>();
  240. }
  241. }
  242. public List<MarkEntity> GetMarkTypeAPi()
  243. {
  244. string funcName = "GetMarkTypeAPi";
  245. try
  246. {
  247. string url = "/api/businessManage/pc/mark/getEnableModels";
  248. string resultString = httpServiceCall1.callWebService(url);
  249. if (string.IsNullOrEmpty(resultString)) return new List<MarkEntity>();
  250. ResultEntity<List<MarkEntity>> rs = JsonConvert.DeserializeObject<ResultEntity<List<MarkEntity>>>(resultString);
  251. if (!rs.success)
  252. {
  253. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  254. return new List<MarkEntity>();
  255. }
  256. if (rs.data != null) return rs.data;
  257. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  258. return new List<MarkEntity>();
  259. }
  260. catch (Exception ex)
  261. {
  262. ExLog(ex, funcName);
  263. return new List<MarkEntity>();
  264. }
  265. }
  266. public List<MarkEntity> GetEmbryoMarkEntityAPi(long id)
  267. {
  268. string funcName = "GetEmbryoMarkEntityAPi";
  269. try
  270. {
  271. string url = "/api/businessManage/pc/mark/getEnableMarkTreeList";
  272. string resultString = httpServiceCall1.callWebService(url, JsonConvert.SerializeObject(new { model = id }));
  273. if (string.IsNullOrEmpty(resultString)) return new List<MarkEntity>();
  274. ResultEntity<List<MarkEntity>> rs = JsonConvert.DeserializeObject<ResultEntity<List<MarkEntity>>>(resultString);
  275. if (!rs.success)
  276. {
  277. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  278. return new List<MarkEntity>();
  279. }
  280. if (rs.data != null) return rs.data;
  281. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  282. return new List<MarkEntity>();
  283. }
  284. catch (Exception ex)
  285. {
  286. ExLog(ex, funcName);
  287. return new List<MarkEntity>();
  288. }
  289. }
  290. public List<EmbryoMark> GetEmbryoMarkApi(long id)
  291. {
  292. string funcName = "GetEmbryoMarkApi";
  293. try
  294. {
  295. string url = "/api/businessManage/pc/embryoMark/getEmbryoMarkByEmbryoId";
  296. Dictionary<string, string> boyd = new Dictionary<string, string>();
  297. boyd.Add("id", id.ToString());
  298. string resultString = httpServiceCall1.callWebService(url, boyd);
  299. if (string.IsNullOrEmpty(resultString)) return new List<EmbryoMark>();
  300. ResultEntity<Embryo> rs = JsonConvert.DeserializeObject<ResultEntity<Embryo>>(resultString);
  301. if (!rs.success)
  302. {
  303. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  304. return new List<EmbryoMark>();
  305. }
  306. if (rs.data != null && rs.data.embryoMark != null) return rs.data.embryoMark;
  307. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  308. return new List<EmbryoMark>();
  309. }
  310. catch (Exception ex)
  311. {
  312. ExLog(ex, funcName);
  313. return new List<EmbryoMark>();
  314. }
  315. }
  316. public bool SaveMarkApi(EmbryoMarkResponse embryoMarkResponse)
  317. {
  318. string funcName = "SaveMarkApi";
  319. try
  320. {
  321. string url = "/api/businessManage/pc/embryoMark/markEmbryoByDevelopTime";
  322. string body = JsonConvert.SerializeObject(embryoMarkResponse);
  323. string resultString = httpServiceCall1.callWebService(url, body);
  324. if (string.IsNullOrEmpty(resultString)) return false;
  325. ResultEntity rs = JsonConvert.DeserializeObject<ResultEntity>(resultString);
  326. if (!rs.success)
  327. {
  328. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  329. return false;
  330. }
  331. return true;
  332. }
  333. catch (Exception ex)
  334. {
  335. ExLog(ex, funcName);
  336. return false;
  337. }
  338. }
  339. public string GetImageUrlApi(string tlSn, int houseSn, long id, int layer, int developTime)
  340. {
  341. string funcName = "GetImageUrlApi";
  342. try
  343. {
  344. string url = "/api/businessManage/pc/resource/switchVideoLayerByPicture";
  345. string resultString = httpServiceCall1.callWebService(url, JsonConvert.SerializeObject(new { tlSn, houseSn, id, layer, developTime }));
  346. if (string.IsNullOrEmpty(resultString)) return null;
  347. var rs = JsonConvert.DeserializeObject<ResultEntity<string>>(resultString);
  348. if (!rs.success)
  349. {
  350. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  351. return null;
  352. }
  353. return rs.data;
  354. }
  355. catch (Exception ex)
  356. {
  357. ExLog(ex, funcName);
  358. return null;
  359. }
  360. }
  361. public DetailPicInfo GetDetailPicInfoApi(string tlSn, int houseSn, long id, int layer, int developTime)
  362. {
  363. string funcName = "GetDetailPicInfoApi";
  364. try
  365. {
  366. string url = "/api/businessManage/pc/resource/getImageInfo";
  367. string body = JsonConvert.SerializeObject(new { tlSn, houseSn, id, layer, developTime });
  368. if (layer == 9999) body = JsonConvert.SerializeObject(new { tlSn, houseSn, id, developTime });
  369. string resultString = httpServiceCall1.callWebService(url, body);
  370. if (string.IsNullOrEmpty(resultString)) return null;
  371. var rs = JsonConvert.DeserializeObject<ResultEntity<DetailPicInfo>>(resultString);
  372. if (!rs.success)
  373. {
  374. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  375. return null;
  376. }
  377. return rs.data;
  378. }
  379. catch (Exception ex)
  380. {
  381. ExLog(ex, funcName);
  382. return null;
  383. }
  384. }
  385. public List<DetailPic> GetVideoTimeLineApi(string tlSn, int houseSn, long id, int layer)
  386. {
  387. string funcName = "GetVideoTimeLineApi";
  388. try
  389. {
  390. string url = "/api/businessManage/pc/resource/getVideoTimeLine";
  391. string resultString = httpServiceCall1.callWebService(url, JsonConvert.SerializeObject(new { tlSn, houseSn, id, layer }));
  392. if (string.IsNullOrEmpty(resultString)) return null;
  393. var rs = JsonConvert.DeserializeObject<ResultEntity<List<DetailPic>>>(resultString);
  394. if (!rs.success)
  395. {
  396. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  397. return null;
  398. }
  399. if (rs.data != null && rs.data.Any()) return rs.data;
  400. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  401. return new List<DetailPic>();
  402. }
  403. catch (Exception ex)
  404. {
  405. ExLog(ex, funcName);
  406. return null;
  407. }
  408. }
  409. public List<GetButtonsResult> GetPicTimeButtonsApi()
  410. {
  411. string funcName = "GetPicTimeButtonsApi";
  412. try
  413. {
  414. string url = "/api/businessManage/pc/photoSearchButton/getButtons";
  415. string body = JsonConvert.SerializeObject(new { types = new List<string> { "COMMON_BUTTON", "KEY_BUTTON " } });
  416. string resultString = httpServiceCall1.callWebService(url, body);
  417. if (string.IsNullOrEmpty(resultString)) return new List<GetButtonsResult>();
  418. ResultEntity<List<GetButtonsResult>> rs = JsonConvert.DeserializeObject<ResultEntity<List<GetButtonsResult>>>(resultString);
  419. if (!rs.success)
  420. {
  421. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  422. return new List<GetButtonsResult>();
  423. }
  424. if (rs.data != null && rs.data.Any()) return rs.data;
  425. ErrorLog($"{funcName}接口返回成功但是无数据 {resultString}", LogEnum.RunError);
  426. return new List<GetButtonsResult>();
  427. }
  428. catch (Exception ex)
  429. {
  430. ExLog(ex, funcName);
  431. return new List<GetButtonsResult>();
  432. }
  433. }
  434. public List<HouseCropAlarmResult> GetHouseCropAlarmApi(HouseCropAlarmResponse houseCropAlarmResponse)
  435. {
  436. string funcName = "GetHouseCropAlarmApi";
  437. try
  438. {
  439. string url = "/api/tl/control/alarm/getHouseCropAlarm";
  440. string body = JsonConvert.SerializeObject(houseCropAlarmResponse);
  441. string resultString = httpServiceCall1.callWebService(url, body);
  442. if (string.IsNullOrEmpty(resultString)) return new List<HouseCropAlarmResult>();
  443. ResultEntity<List<HouseCropAlarmResult>> rs = JsonConvert.DeserializeObject<ResultEntity<List<HouseCropAlarmResult>>>(resultString);
  444. if (!rs.success)
  445. {
  446. ErrorLog($"{funcName}接口返回失败 {resultString}", LogEnum.RunError);
  447. return new List<HouseCropAlarmResult>();
  448. }
  449. if (rs.data != null && rs.data.Any()) return rs.data;
  450. return new List<HouseCropAlarmResult>();
  451. }
  452. catch (Exception ex)
  453. {
  454. ExLog(ex, funcName);
  455. return new List<HouseCropAlarmResult>();
  456. }
  457. }
  458. }
  459. }