AppProjectBottomController.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. using Vo;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Model;
  4. using Services;
  5. using Model.Base;
  6. using Vo.Admin;
  7. using Mapster;
  8. using Infrastructure;
  9. namespace Controllers.Admin
  10. {
  11. /// <summary>
  12. /// AppProjectBottom)Controller
  13. /// </summary>
  14. // [Route("${Router}$")]
  15. // [ApiExplorerSettings(GroupName = "AppProjectBottom")]
  16. public class AppProjectBottomController : BaseController
  17. {
  18. /// <summary>
  19. /// api分组接口
  20. /// </summary>
  21. private readonly IAppProjectBottomService _AppProjectBottomService;
  22. public AppProjectBottomController(IAppProjectBottomService AppProjectBottomService)
  23. {
  24. _AppProjectBottomService = AppProjectBottomService;
  25. }
  26. /// <param name="page">分页参数</param>
  27. /// <summary>
  28. /// 列表
  29. /// </summary>
  30. /// <param name="page">分页对象</param>
  31. /// <param name="param">参数请求体</param>
  32. /// <returns>列表</returns>
  33. [HttpGet]
  34. [Route("/v1/omega_source/AppProjectBottom/getAppProjectBottomList")]
  35. public IActionResult getAppProjectBottomList([FromQuery] PagerInfo page, [FromQuery] AppProjectBottom param)
  36. {
  37. var response = _AppProjectBottomService.getAppProjectBottomList(page, param);
  38. return SUCCESS(response);
  39. }
  40. /// <summary>
  41. /// 详情
  42. /// </summary>
  43. /// <param name="param">参数请求体</param>
  44. /// <returns>详情</returns>
  45. [HttpGet]
  46. [Route("/v1/omega_source/AppProjectBottom/getAppProjectBottomQuery")]
  47. public IActionResult getAppProjectBottomQuery([FromQuery] AppProjectBottom param)
  48. {
  49. var response = _AppProjectBottomService.GetFirst(m => m.id == param.id).Adapt<GetAppProjectBottomQueryVo>();
  50. return SUCCESS(response);
  51. }
  52. /// <summary>
  53. /// 添加
  54. /// </summary>
  55. /// <param name="param">参数请求体</param>
  56. /// <returns>添加</returns>
  57. [HttpPost]
  58. [Route("/v1/omega_source/AppProjectBottom/addAppProjectBottom")]
  59. public IActionResult addAppProjectBottom([FromBody] AppProjectBottom param)
  60. {
  61. var modal = param.Adapt<AppProjectBottom>().ToCreate(HttpContext);
  62. var response = _AppProjectBottomService.InsertReturnIdentity(modal);
  63. return SUCCESS(response);
  64. }
  65. /// <summary>
  66. /// 修改
  67. /// </summary>
  68. /// <param name="param">参数请求体</param>
  69. /// <returns>修改</returns>
  70. [HttpPut]
  71. [Route("/v1/omega_source/AppProjectBottom/updateAppProjectBottom")]
  72. public IActionResult updateAppProjectBottom([FromBody] List<AppProjectBottom> param)
  73. {
  74. int index = 0;
  75. int appId = 0;
  76. int versionId = 0;
  77. foreach(var subParam in param)
  78. {
  79. appId = subParam.appId;
  80. versionId = subParam.versionId;
  81. index += 1;
  82. var item = _AppProjectBottomService.GetFirst(m => m.appId == appId && m.versionId == versionId && m.pageName == subParam.pageName);
  83. if(item != null)
  84. {
  85. var modal = subParam.Adapt<AppProjectBottom>().ToUpdate(HttpContext);
  86. modal.id = item.id;
  87. modal.sort = index;
  88. modal.selectIcon = modal.selectIcon?.Replace(App.OptionsSetting.OssConfigs.Host, "");
  89. modal.normalIcon = modal.normalIcon?.Replace(App.OptionsSetting.OssConfigs.Host, "");
  90. if (modal.selectIcon.EndsWith(".pag"))
  91. {
  92. modal.pagLocalPath = modal.selectIcon;
  93. modal.pagDefaultIcon = modal.normalIcon;
  94. modal.pagFlag = true;
  95. }
  96. else
  97. {
  98. modal.pagLocalPath = "";
  99. modal.pagDefaultIcon = "";
  100. modal.pagFlag = false;
  101. }
  102. _AppProjectBottomService.Update(modal, true);
  103. }
  104. else
  105. {
  106. var modal = subParam.Adapt<AppProjectBottom>().ToCreate(HttpContext);
  107. modal.sort = index;
  108. if (modal.selectIcon.EndsWith(".pag"))
  109. {
  110. modal.pagLocalPath = modal.selectIcon;
  111. modal.pagDefaultIcon = modal.normalIcon;
  112. modal.pagFlag = true;
  113. }
  114. _AppProjectBottomService.Add(modal, true);
  115. }
  116. }
  117. var list = _AppProjectBottomService.GetList(m => m.appId == appId && m.versionId == versionId);
  118. foreach(var sub in list)
  119. {
  120. if(!param.Any(m => m.pageName == sub.pageName))
  121. {
  122. _AppProjectBottomService.DeleteById(sub.id);
  123. }
  124. }
  125. return SUCCESS("ok");
  126. }
  127. /// <summary>
  128. /// 删除
  129. /// </summary>
  130. /// <param name="id">ID</param>
  131. /// <returns>删除</returns>
  132. [HttpDelete]
  133. [Route("/v1/omega_source/AppProjectBottom/deleteAppProjectBottom/{id}")]
  134. public IActionResult deleteAppProjectBottom(int id)
  135. {
  136. var response = _AppProjectBottomService.Delete(id);
  137. return SUCCESS(response);
  138. }
  139. }
  140. }