SyllabusController.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using Microsoft.AspNetCore.Mvc;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. using TEAMModelOS.Service.Models.Syllabus;
  5. using TEAMModelOS.SDK.Context.Exception;
  6. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
  7. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
  8. using TEAMModelOS.SDK.Extension.SnowFlake;
  9. using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
  10. using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
  11. namespace TEAMModelOS.Controllers.Syllabus
  12. {
  13. [Route("api/[controller]")]
  14. [ApiController]
  15. //[Authorize]
  16. public class SyllabusController : BaseController
  17. {
  18. private readonly IAzureCosmosDBRepository azureCosmosDBRepository;
  19. public SyllabusController(IAzureCosmosDBRepository _azureCosmosDBRepository)
  20. {
  21. azureCosmosDBRepository = _azureCosmosDBRepository;
  22. }
  23. /// <summary>
  24. /// 批量保存或更新课纲
  25. /// </summary>
  26. /// <param name="request"></param>
  27. /// <returns></returns>
  28. [HttpPost("SaveOrUpdateAll")]
  29. public async Task<BaseJosnRPCResponse> SaveOrUpdateAll(JosnRPCRequest<List<SyllabusNode>> request)
  30. {
  31. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  32. List<SyllabusNode> data = new List<SyllabusNode>();
  33. if (request.@params.IsNotEmpty())
  34. {
  35. //string key = IdWorker.getInstance().NextId() + "";
  36. data = await azureCosmosDBRepository.SaveAll(request.@params);
  37. }
  38. return builder.Data(data).build();
  39. }
  40. /// <summary>
  41. /// 删除课纲
  42. /// </summary>
  43. /// <param name="request"></param>
  44. /// <returns></returns>
  45. [HttpPost("Delete")]
  46. public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<SyllabusNode> request)
  47. {
  48. bool flag = false;
  49. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  50. if (string.IsNullOrEmpty(request.@params.id))
  51. {
  52. await azureCosmosDBRepository.DeleteAsync<SyllabusNode>(request.@params.id, request.@params.volumeCode);
  53. flag = true;
  54. }
  55. return builder.Data(flag).build();
  56. }
  57. /// <summary>
  58. /// 查找课纲
  59. /// </summary>
  60. /// <param name="request"></param>
  61. /// <returns></returns>
  62. [HttpPost("Find")]
  63. public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
  64. {
  65. bool flag = false;
  66. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  67. if (request.@params.TryGetValue("volumeCode", out _))
  68. {
  69. await azureCosmosDBRepository.FindByParams<SyllabusNode>(request.@params);
  70. flag = true;
  71. }
  72. else
  73. {
  74. throw new BizException("volumeCode is null!");
  75. }
  76. return builder.Data(flag).build();
  77. }
  78. }
  79. }