平安校园
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

ClothApi.cs 9.0 KiB

8 ay önce
8 ay önce
8 ay önce
5 ay önce
8 ay önce
8 ay önce
7 ay önce
8 ay önce
5 ay önce
8 ay önce
5 ay önce
8 ay önce
8 ay önce
8 ay önce
7 ay önce
8 ay önce
7 ay önce
8 ay önce
5 ay önce
8 ay önce
7 ay önce
8 ay önce
5 ay önce
8 ay önce
8 ay önce
8 ay önce
8 ay önce
8 ay önce
5 ay önce
8 ay önce
5 ay önce
8 ay önce
5 ay önce
8 ay önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. using MoYu.FriendlyException;
  2. using MoYu.RemoteRequest;
  3. using MoYu.RemoteRequest.Extensions;
  4. using Newtonsoft.Json.Linq;
  5. using SafeCampus.Application.Manager.DeepelephManager;
  6. using SafeCampus.Web.Core.Controllers.Application.Business.Dto;
  7. namespace SafeCampus.Web.Core.Controllers.Application.Business;
  8. /// <summary>
  9. /// 服装底库管理接口
  10. /// </summary>
  11. [Route("/business/[controller]")]
  12. [ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 97, Tag = "服装底库管理")]
  13. public class ClothApi
  14. {
  15. private readonly IDeepelephManager _deepelephManager;
  16. public ClothApi(IDeepelephManager deepelephManager)
  17. {
  18. _deepelephManager = deepelephManager;
  19. }
  20. /// <summary>
  21. /// 新增服装底库
  22. /// </summary>
  23. /// <param name="input">人员信息</param>
  24. /// <returns></returns>
  25. public async Task<dynamic> AddClothDataBaseA(ClothDataNameInfo input)
  26. {
  27. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  28. var liststr = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/query-list"
  29. .SetBody(new
  30. {
  31. token = _deepelephManager.GetToken(),
  32. tenantCode = appSettings.TenantCode,
  33. poiId = appSettings.PoiId,
  34. })
  35. .SetContentType("application/json")
  36. .PostAsAsync<string>();
  37. var list = JsonConvert.DeserializeObject<JObject>(liststr);
  38. var newlist = new List<string>();
  39. foreach (var item in list["data"])
  40. {
  41. newlist.Add(item.Value<string>("clothSetName"));
  42. }
  43. if (newlist.Any(x=>x==input.ClothSetName))
  44. {
  45. throw Oops.Oh("服装库名称已存在");
  46. }
  47. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/create"
  48. .SetBody(new
  49. {
  50. token = _deepelephManager.GetToken(),
  51. tenantCode = appSettings.TenantCode,
  52. poiId = appSettings.PoiId,
  53. clothSetId = Guid.NewGuid().ToString("N"),
  54. clothSetName = input.ClothSetName,
  55. })
  56. .SetContentType("application/json")
  57. .PostAsAsync<string>();
  58. var model = JsonConvert.DeserializeObject<JObject>(str);
  59. if ((bool)model["success"])
  60. {
  61. return model["data"];
  62. }
  63. throw Oops.Oh(model["message"].ToString());
  64. }
  65. /// <summary>
  66. /// 删除服装底库
  67. /// </summary>
  68. /// <param name="clothSetId"></param>
  69. /// <returns></returns>
  70. public async Task<dynamic> DeleteClothDataBaseD(string clothSetId)
  71. {
  72. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  73. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/delete"
  74. .SetBody(new
  75. {
  76. token = _deepelephManager.GetToken(),
  77. tenantCode = appSettings.TenantCode,
  78. poiId = appSettings.PoiId,
  79. clothSetId = clothSetId,
  80. })
  81. .SetContentType("application/json")
  82. .PostAsAsync<string>();
  83. var model = JsonConvert.DeserializeObject<JObject>(str);
  84. if ((bool)model["success"])
  85. {
  86. return model["data"];
  87. }
  88. throw Oops.Oh(model["message"].ToString());
  89. }
  90. /// <summary>
  91. /// 更新服装底库
  92. /// </summary>
  93. /// <returns></returns>
  94. public async Task<dynamic> UpdateClothU(ClothDataBaseInfo info)
  95. {
  96. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  97. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/update"
  98. .SetBody(new
  99. {
  100. token = _deepelephManager.GetToken(),
  101. tenantCode = appSettings.TenantCode,
  102. poiId = appSettings.PoiId,
  103. clothSetId = info.ClothSetId,
  104. clothSetName = info.ClothSetName,
  105. })
  106. .SetContentType("application/json")
  107. .PostAsAsync<string>();
  108. var model = JsonConvert.DeserializeObject<JObject>(str);
  109. if ((bool)model["success"])
  110. {
  111. return model["data"];
  112. }
  113. throw Oops.Oh(model["message"].ToString());
  114. }
  115. /// <summary>
  116. /// 查询服装底库列表
  117. /// </summary>
  118. /// <returns></returns>
  119. public async Task<dynamic> GetList()
  120. {
  121. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  122. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/query-list"
  123. .SetBody(new
  124. {
  125. token = _deepelephManager.GetToken(),
  126. tenantCode = appSettings.TenantCode,
  127. poiId = appSettings.PoiId,
  128. })
  129. .SetContentType("application/json")
  130. .PostAsAsync<string>();
  131. var model = JsonConvert.DeserializeObject<JObject>(str);
  132. if ((bool)model["success"])
  133. {
  134. return model["data"];
  135. }
  136. throw Oops.Oh(model["message"].ToString());
  137. }
  138. /// <summary>
  139. /// 查询服装底库详情
  140. /// </summary>
  141. /// <param name="clothSetId">服装库Id</param>
  142. /// <returns></returns>
  143. public async Task<dynamic> GetInfo(string clothSetId)
  144. {
  145. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  146. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/set/query-detail"
  147. .SetBody(new
  148. {
  149. token = _deepelephManager.GetToken(),
  150. tenantCode = appSettings.TenantCode,
  151. poiId = appSettings.PoiId,
  152. clothSetId = clothSetId
  153. })
  154. .SetContentType("application/json")
  155. .PostAsAsync<string>();
  156. var model = JsonConvert.DeserializeObject<JObject>(str);
  157. if ((bool)model["success"])
  158. {
  159. return model["data"];
  160. }
  161. throw Oops.Oh(model["message"].ToString());
  162. }
  163. /// <summary>
  164. /// 服装图片上传
  165. /// </summary>
  166. /// <param name="input"></param>
  167. /// <returns></returns>
  168. public async Task<dynamic> UploadFile([FromForm] BaseFileInput input)
  169. {
  170. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  171. var jsonparam = JsonConvert.SerializeObject(new
  172. {
  173. token = _deepelephManager.GetToken(),
  174. tenantCode = appSettings.TenantCode,
  175. poiId = appSettings.PoiId,
  176. usageScenario = "staff"
  177. });
  178. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/common/upload-file"
  179. .SetFiles(HttpFile.Create("file", input.File.OpenReadStream(), input.File.FileName))
  180. .SetBody(new
  181. {
  182. param = jsonparam
  183. })
  184. .SetContentType("multipart/form-data")
  185. .PostAsAsync<string>();
  186. var model = JsonConvert.DeserializeObject<JObject>(str);
  187. if ((bool)model["success"])
  188. {
  189. return model["data"]["httpUrl"].ToString();
  190. }
  191. throw Oops.Oh(model["message"].ToString());
  192. }
  193. /// <summary>
  194. /// 新增服装
  195. /// </summary>
  196. /// <param name="info"></param>
  197. /// <returns></returns>
  198. public async Task<dynamic> AddClothA(ClothInfos info)
  199. {
  200. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  201. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/add"
  202. .SetBody(new
  203. {
  204. token = _deepelephManager.GetToken(),
  205. tenantCode = appSettings.TenantCode,
  206. poiId = appSettings.PoiId,
  207. info.clothSetId,
  208. info.clothUrl
  209. })
  210. .SetContentType("application/json")
  211. .PostAsAsync<string>();
  212. var model = JsonConvert.DeserializeObject<JObject>(str);
  213. if ((bool)model["success"])
  214. {
  215. return model["data"];
  216. }
  217. throw Oops.Oh(model["message"].ToString());
  218. }
  219. /// <summary>
  220. /// 删除服装
  221. /// </summary>
  222. /// <returns></returns>
  223. [HttpPost]
  224. public async Task<dynamic> DeleteClothD(ClothInfos info)
  225. {
  226. var list = new List<string>();
  227. if (info.clothId.Contains(","))
  228. {
  229. list = info.clothId.Split(",").ToList();
  230. }
  231. else
  232. {
  233. list.Add(info.clothId);
  234. }
  235. foreach (var ids in list)
  236. {
  237. var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
  238. var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/cloth/delete"
  239. .SetBody(new
  240. {
  241. token = _deepelephManager.GetToken(),
  242. tenantCode = appSettings.TenantCode,
  243. poiId = appSettings.PoiId,
  244. info.clothSetId,
  245. clothId= ids
  246. })
  247. .SetContentType("application/json")
  248. .PostAsAsync<string>();
  249. //var model = JsonConvert.DeserializeObject<JObject>(str);
  250. //if ((bool)model["success"])
  251. //{
  252. // return model["data"];
  253. //}
  254. //throw Oops.Oh(model["message"].ToString());
  255. }
  256. return true;
  257. }
  258. }