FacturyPostHistoryDBService.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using MongoDB.Driver;
  2. using VitalService.Entities;
  3. using WingServerCommon.Mapper;
  4. using VitalService.Request;
  5. using WingInterfaceLibrary.Request.DBVitalRequest;
  6. using WingInterfaceLibrary.DTO.Vital;
  7. using WingInterfaceLibrary.Request;
  8. using WingInterfaceLibrary.Interface.DBVitalInterface;
  9. namespace VitalService.Service
  10. {
  11. /// <summary>
  12. /// 第三方厂商数据推送记录
  13. /// </summary>
  14. public partial class VitalDatabaseService : IVitalFacturyPostHistoryDBService
  15. {
  16. /// <summary>
  17. /// 创建数据
  18. /// </summary>
  19. /// <param name="request">创建请求</param>
  20. /// <returns></returns>
  21. public async Task<string> CreateFacturyPostHistoryDBAsync(CreateFacturyPostHistoryDBRequest request)
  22. {
  23. var entity = new FacturyPostHistoryEntity
  24. {
  25. FacturyUniqueCode = request.FacturyUniqueCode,
  26. };
  27. return await _facturyPostHistoryDBRepository.InsertOneAsync(entity);
  28. }
  29. /// <summary>
  30. /// 更新数据
  31. /// </summary>
  32. /// <param name="request">更新请求</param>
  33. /// <returns></returns>
  34. public async Task<bool> UpdateFacturyPostHistoryDBAsync(UpdateFacturyPostHistoryDBRequest request)
  35. {
  36. var code = request.Code;
  37. if (!string.IsNullOrWhiteSpace(code))
  38. {
  39. var entity = await _facturyPostHistoryDBRepository.FindOneAsync(Builders<FacturyPostHistoryEntity>.Filter.Eq(f => f.Code, code));
  40. if (entity != null && !entity.IsDelete)
  41. {
  42. var filter = Builders<FacturyPostHistoryEntity>.Filter.Eq(f => f.Code, code);
  43. var update = Builders<FacturyPostHistoryEntity>.Update
  44. .Set(f => f.UpdateTime, DateTime.UtcNow);
  45. return await _facturyPostHistoryDBRepository.UpdateOneAsync(filter, update) > 0;
  46. }
  47. }
  48. return false;
  49. }
  50. /// <summary>
  51. /// 根据编码获取第三方厂商数据推送记录
  52. /// </summary>
  53. /// <param name="request">数据编码</param>
  54. /// <returns></returns>
  55. public async Task<FacturyPostHistoryDTO> GetFacturyPostHistoryDBAsync(GetFacturyPostHistoryDBRequest request)
  56. {
  57. var filter = Builders<FacturyPostHistoryEntity>.Filter.Eq(f => f.Code, request.Code);
  58. var result = await _facturyPostHistoryDBRepository.FindOneAsync(filter);
  59. return result.MappingTo<FacturyPostHistoryDTO>();
  60. }
  61. /// <summary>
  62. /// 分页获取第三方厂商数据推送记录
  63. /// </summary>
  64. /// <param name="request">分页请求</param>
  65. /// <returns></returns>
  66. public async Task<PageCollection<FacturyPostHistoryDTO>> GetFacturyPostHistoryByPageDBAsync(GetFacturyPostHistoryByPageDBRequest request)
  67. {
  68. var filter = await _facturyPostHistoryDBRepository.GetPageFilter(request);
  69. var pageFilter = new DBPageRequest<FacturyPostHistoryEntity>
  70. {
  71. PageIndex = request.PageIndex,
  72. PageSize = request.PageSize,
  73. Filter = filter,
  74. Sort = Builders<FacturyPostHistoryEntity>.Sort.Descending(x => x.CreateTime)
  75. };
  76. var result = await _facturyPostHistoryDBRepository.GetPages(pageFilter);
  77. return result.MappingTo<PageCollection<FacturyPostHistoryDTO>>();
  78. }
  79. /// <summary>
  80. /// 获取所有未推送数据记录
  81. /// </summary>
  82. /// <param name="request">分页请求</param>
  83. /// <returns></returns>
  84. public async Task<List<FacturyPostHistoryDTO>> GetNonPostHistoryDBAsync(GetNonPostHistoryDBRequest request)
  85. {
  86. return null;
  87. }
  88. /// <summary>
  89. /// 删除数据
  90. /// </summary>
  91. /// <param name="request">数据编码</param>
  92. /// <returns></returns>
  93. public async Task<bool> RemoveFacturyPostHistoryDBAsync(RemoveFacturyPostHistoryDBRequest request)
  94. {
  95. return await _facturyPostHistoryDBRepository.DeleteOneAsync("Code", request.Code);
  96. }
  97. }
  98. }