Browse Source

第三方厂商数据推送记录

jeremy 8 months ago
parent
commit
7f580a2af5

+ 21 - 0
src/VitalMixtureService/DBService/QueryAction/FacturyPostHistoryQueryAction.cs

@@ -0,0 +1,21 @@
+using MongoDB.Driver;
+using VitalService.Entities;
+
+namespace VitalService.QueryAction
+{
+    public class FacturyPostHistoryQueryAction : IQueryAction<FacturyPostHistoryEntity>
+    {
+        public async Task<FilterDefinition<FacturyPostHistoryEntity>> GetQuery(string keyword)
+        {
+            if (string.IsNullOrWhiteSpace(keyword))
+            {
+                return Builders<FacturyPostHistoryEntity>.Filter.Empty;
+            }
+            var bsonRegular = new MongoDB.Bson.BsonRegularExpression($".*{keyword}.*", "ig");
+            var keywordFilters = new List<FilterDefinition<FacturyPostHistoryEntity>>();
+            keywordFilters.Add(Builders<FacturyPostHistoryEntity>.Filter.Regex(f => f.IDCardNo, bsonRegular));
+            keywordFilters.Add(Builders<FacturyPostHistoryEntity>.Filter.Regex(f => f.PatientName, bsonRegular));
+            return Builders<FacturyPostHistoryEntity>.Filter.Or(keywordFilters);
+        }
+    }
+}

+ 16 - 2
src/VitalMixtureService/DBService/Service/FacturyPostHistoryDBService.cs

@@ -23,7 +23,16 @@ namespace VitalService.Service
         {
             var entity = new FacturyPostHistoryEntity
             {
-                FacturyUniqueCode = request.FacturyUniqueCode,
+                FacturyUniqueCode = request.FacturyUniqueCode ?? string.Empty,
+                FacturyUrl = request.FacturyUrl,
+                IDCardNo = request.IDCardNo,
+                PatientName = request.PatientName,
+                ApiType = request.ApiType,
+                Status = request.Status,
+                PostTime = request.PostTime,
+                Headers = request.Headers,
+                Content = request.Content,
+                Result = request.Result,
             };
             return await _facturyPostHistoryDBRepository.InsertOneAsync(entity);
         }
@@ -43,6 +52,9 @@ namespace VitalService.Service
                 {
                     var filter = Builders<FacturyPostHistoryEntity>.Filter.Eq(f => f.Code, code);
                     var update = Builders<FacturyPostHistoryEntity>.Update
+                        .Set(f => f.Status, request.Status)
+                        .Set(f => f.Result, request.Result)
+                        .Set(f => f.PostTime, DateTime.UtcNow)
                         .Set(f => f.UpdateTime, DateTime.UtcNow);
                     return await _facturyPostHistoryDBRepository.UpdateOneAsync(filter, update) > 0;
                 }
@@ -88,7 +100,9 @@ namespace VitalService.Service
         /// <returns></returns>
         public async Task<List<FacturyPostHistoryDTO>> GetNonPostHistoryDBAsync(GetNonPostHistoryDBRequest request)
         {
-            return null;
+            var filter = Builders<FacturyPostHistoryEntity>.Filter.Eq(f => f.Status, 1);
+            var result = await _facturyPostHistoryDBRepository.FindAllAsync(filter);
+            return result.MappingTo<List<FacturyPostHistoryDTO>>();
         }
 
         /// <summary>

+ 1 - 1
src/VitalMixtureService/DBService/Service/FacturyUserDBService.cs

@@ -23,7 +23,7 @@ namespace VitalService.Service
         {
             var entity = new FacturyUserEntity
             {
-                FacturyUniqueCode = request.FacturyUniqueCode,
+                FacturyUniqueCode = request.FacturyUniqueCode ?? string.Empty,
                 FacturyType = request.FacturyType,
                 FacturyCode = request.FacturyCode,
                 FacturyName = request.FacturyName,