TsysLicenseController.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. using Microsoft.AspNetCore.Authorization;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.Extensions.Logging;
  4. using Ropin.Inspection.Api.Common;
  5. using Ropin.Inspection.Model;
  6. using Ropin.Inspection.Model.Entities;
  7. using Ropin.Inspection.Service;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Threading.Tasks;
  12. namespace Ropin.Inspection.Api.Controllers
  13. {
  14. [AllowAnonymous]
  15. public class TsysLicenseController : BaseController
  16. {
  17. public ILogger<TsysLicenseController> _logger { get; }
  18. private readonly ITsysLicenseService _TsysLicenseService;
  19. /// <summary>
  20. /// 构造函数
  21. /// </summary>
  22. /// <param name="TsysLicenseService"></param>
  23. /// <param name="logger"></param>
  24. public TsysLicenseController(ITsysLicenseService TsysLicenseService, ILogger<TsysLicenseController> logger)
  25. {
  26. _TsysLicenseService = TsysLicenseService;
  27. _logger = logger;
  28. }
  29. /// <summary>
  30. /// 通过ID获取许可证信息
  31. /// </summary>
  32. /// <param name="id"></param>
  33. /// <returns></returns>
  34. [HttpGet("GetLicenseAsync/{id}")]
  35. public async Task<ApiResult> GetLicenseAsync(Guid id)
  36. {
  37. if (Guid.Empty == id)
  38. {
  39. return new ApiResult(ReturnCode.GeneralError);
  40. }
  41. try
  42. {
  43. var content = await _TsysLicenseService.GetByIdAsync(id);
  44. return new ApiResult<TsysLicenseViewModel>(content);
  45. }
  46. catch (Exception ex)
  47. {
  48. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  49. }
  50. }
  51. /// <summary>
  52. /// 获取所有许可证
  53. /// </summary>
  54. /// <returns></returns>
  55. [HttpGet("GetLicensesAsync")]
  56. public async Task<ApiResult> GetLicensesAsync()
  57. {
  58. try
  59. {
  60. var contentList = await _TsysLicenseService.GetAllAsync();
  61. return new ApiResult<IEnumerable<TsysLicenseViewModel>>(contentList);
  62. }
  63. catch (Exception ex)
  64. {
  65. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  66. }
  67. }
  68. /// <summary>
  69. /// 根据登录用户组织架构类型获取许可证,管理公司获取所有,其他获取自己的许可证
  70. /// </summary>
  71. /// <returns></returns>
  72. [HttpGet("GetAllByOrgTypeAsync")]
  73. public async Task<ApiResult> GetAllByOrgTypeAsync()
  74. {
  75. try
  76. {
  77. var contentList = await _TsysLicenseService.GetAllByOrgTypeAsync();
  78. return new ApiResult<IEnumerable<TsysLicenseViewModel>>(contentList);
  79. }
  80. catch (Exception ex)
  81. {
  82. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  83. }
  84. }
  85. /// <summary>
  86. /// 获取所有许可证类型
  87. /// </summary>
  88. /// <returns></returns>
  89. [HttpGet("GetAllLicensesTypeAsync/{name=}")]
  90. public async Task<ApiResult> GetAllLicensesTypeAsync(string name)
  91. {
  92. try
  93. {
  94. var contentList = await _TsysLicenseService.GetALLLicenseType();
  95. if (string.IsNullOrWhiteSpace(name))
  96. return new ApiResult<IEnumerable<TsysLicenseTypeViewModel>>(contentList);
  97. else
  98. return new ApiResult<IEnumerable<TsysLicenseTypeViewModel>>(contentList.Where(x => x.C_Name.Contains(name)));
  99. }
  100. catch (Exception ex)
  101. {
  102. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  103. }
  104. }
  105. /// <summary>
  106. /// 通过许可证类型code获取对应的权限
  107. /// </summary>
  108. /// <returns></returns>
  109. [HttpGet("GetLicensePrivByType/{typeCode}")]
  110. public async Task<ApiResult> GetLicensePrivByType(string typeCode)
  111. {
  112. if (string.IsNullOrEmpty(typeCode))
  113. {
  114. return new ApiResult(ReturnCode.ArgsError);
  115. }
  116. try
  117. {
  118. var content = await _TsysLicenseService.GetLicensePrivByType(typeCode);
  119. return new ApiResult<TsysLicenseTypePrivViewModel>(content);
  120. }
  121. catch (Exception ex)
  122. {
  123. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  124. }
  125. }
  126. /// <summary>
  127. /// 创建许可证类型code对应的权限,更新也用此接口
  128. /// </summary>
  129. /// <param name="typeCode"></param>
  130. /// <param name="privCodes"></param>
  131. /// <returns></returns>
  132. [HttpPost("CreateLicensePrivByType/{typeCode}")]
  133. public async Task<ApiResult> CreateLicensePrivByType(string typeCode,IEnumerable<string> privCodes)
  134. {
  135. if (string.IsNullOrEmpty(typeCode) || privCodes == null || !privCodes.Any())
  136. {
  137. return new ApiResult(ReturnCode.ArgsError);
  138. }
  139. try
  140. {
  141. await _TsysLicenseService.CreateLicensePrivByType(typeCode, privCodes);
  142. return new ApiResult(ReturnCode.Success);
  143. }
  144. catch (Exception ex)
  145. {
  146. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  147. }
  148. }
  149. /// <summary>
  150. /// 获取选择的权限
  151. /// </summary>
  152. /// <returns></returns>
  153. [HttpGet("GetLicensePrivBy")]
  154. public async Task<ApiResult> GetLicensePrivBy()
  155. {
  156. try
  157. {
  158. var content = await _TsysLicenseService.GetLicensePrivByType(null);
  159. return new ApiResult<TsysLicenseTypePrivViewModel>(content);
  160. }
  161. catch (Exception ex)
  162. {
  163. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  164. }
  165. }
  166. /// <summary>
  167. /// 通过License类型ID取相关权限,返回非树状数据结构
  168. /// </summary>
  169. /// <param name="licenseTypeId"></param>
  170. /// <returns></returns>
  171. [HttpGet("GetLicensePrivsByTypeIdAsync")]
  172. public async Task<ApiResult> GetLicensePrivsByTypeIdAsync(string licenseTypeId)
  173. {
  174. if (string.IsNullOrEmpty(licenseTypeId))
  175. {
  176. return new ApiResult(ReturnCode.ArgsError);
  177. }
  178. try
  179. {
  180. var content = await _TsysLicenseService.GetLicensePrivsByTypeIdAsync(licenseTypeId);
  181. return new ApiResult<IEnumerable<LicenseTypePrivViewModel>>(content);
  182. }
  183. catch (Exception ex)
  184. {
  185. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  186. }
  187. }
  188. /// <summary>
  189. /// 通过许可证名称条件查询
  190. /// </summary>
  191. /// <param name="searchModel"></param>
  192. /// <returns></returns>
  193. [HttpPost("GetLicensesByAsync")]
  194. public async Task<ApiResult> GetLicensesByAsync(TsysLicenseSearchModel searchModel)
  195. {
  196. if (searchModel == null)
  197. {
  198. return new ApiResult(ReturnCode.ArgsError);
  199. }
  200. //searchModel.IsPagination = false;
  201. try
  202. {
  203. var contentList = await _TsysLicenseService.GetConditionAsync(searchModel);
  204. //return new ApiResult<IEnumerable<TsysLicenseViewModel>>(contentList);
  205. return new ApiResult<PagesModel<TsysLicenseViewModel>>(new PagesModel<TsysLicenseViewModel>(contentList?.ToList(), searchModel));
  206. }
  207. catch (Exception ex)
  208. {
  209. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  210. }
  211. }
  212. /// <summary>
  213. /// 创建许可证
  214. /// </summary>
  215. /// <param name="content"></param>
  216. /// <returns></returns>
  217. [HttpPost("CreateLicenseAsync")]
  218. public async Task<ApiResult> CreateLicenseAsync(TsysLicenseViewModel content)
  219. {
  220. if (content == null)
  221. {
  222. return new ApiResult(ReturnCode.ArgsError);
  223. }
  224. try
  225. {
  226. await _TsysLicenseService.CreateOneAsync(content);
  227. }
  228. catch (Exception ex)
  229. {
  230. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  231. }
  232. return new ApiResult(ReturnCode.Success);
  233. }
  234. /// <summary>
  235. /// 删除许可证
  236. /// </summary>
  237. /// <param name="id"></param>
  238. /// <returns></returns>
  239. [HttpDelete("DeleteLicenseAsync/{id}")]
  240. public async Task<ApiResult> DeleteLicenseAsync(Guid id)
  241. {
  242. if (Guid.Empty == id)
  243. {
  244. return new ApiResult(ReturnCode.GeneralError);
  245. }
  246. try
  247. {
  248. await _TsysLicenseService.DeleteAsync(id);
  249. }
  250. catch (Exception ex)
  251. {
  252. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  253. }
  254. return new ApiResult(ReturnCode.Success);
  255. }
  256. /// <summary>
  257. /// 更新许可证
  258. /// </summary>
  259. /// <param name="id"></param>
  260. /// <param name="updateModel"></param>
  261. /// <returns></returns>
  262. [HttpPut("UpdateLicenseAsync/{id}")]
  263. public async Task<ApiResult> UpdateLicenseAsync(Guid id, TsysLicenseUpdateModel updateModel)
  264. {
  265. if (Guid.Empty == id)
  266. {
  267. return new ApiResult(ReturnCode.GeneralError);
  268. }
  269. try
  270. {
  271. await _TsysLicenseService.UpdateAsync(id, updateModel);
  272. }
  273. catch (Exception ex)
  274. {
  275. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  276. }
  277. return new ApiResult(ReturnCode.Success);
  278. }
  279. /// <summary>
  280. /// 创建许可证类型
  281. /// </summary>
  282. /// <param name="content"></param>
  283. /// <returns></returns>
  284. [HttpPost("CreateLicenseTypeAsync")]
  285. public async Task<ApiResult> CreateLicenseTypeAsync(TSYS_LicenseType content)
  286. {
  287. if (content == null)
  288. {
  289. return new ApiResult(ReturnCode.ArgsError);
  290. }
  291. try
  292. {
  293. await _TsysLicenseService.CreateLicenseTypeOneAsync(content);
  294. }
  295. catch (Exception ex)
  296. {
  297. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  298. }
  299. return new ApiResult(ReturnCode.Success);
  300. }
  301. /// <summary>
  302. /// 更新许可证类型
  303. /// </summary>
  304. /// <param name="id"></param>
  305. /// <param name="updateModel"></param>
  306. /// <returns></returns>
  307. [HttpPut("UpdateLicenseTypeAsync/{id}")]
  308. public async Task<ApiResult> UpdateLicenseTypeAsync(string id, TSYS_LicenseType updateModel)
  309. {
  310. if (string.IsNullOrEmpty(id))
  311. {
  312. return new ApiResult(ReturnCode.GeneralError);
  313. }
  314. try
  315. {
  316. await _TsysLicenseService.UpdateLicenseTypeAsync(id, updateModel);
  317. }
  318. catch (Exception ex)
  319. {
  320. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  321. }
  322. return new ApiResult(ReturnCode.Success);
  323. }
  324. }
  325. }