소스 검색

修复一些问题

qinchaoyue 1 주 전
부모
커밋
305707ba5d

+ 22 - 5
src/Hotline.Application/Snapshot/SnapshotApplicationBase.cs

@@ -494,14 +494,13 @@ public abstract class SnapshotApplicationBase
             .WhereIF(dto.Status == ERedPackPickupStatus.Unreceived, (m, order) => m.PickupStatus == dto.Status && (order.HotspotId == null || order.HotspotId.StartsWith("18") == false))
             .WhereIF(dto.Status != ERedPackPickupStatus.Unreceived, (m, order) => m.PickupStatus == dto.Status)
             .Where(m => m.CreationTime.ToString("yyyy-MM") == dto.Time)
-            .LeftJoin<Order>((red, order) => red.OrderId == order.Id)
-            .Select((red, order) => new RedPackOutDto
+            .Select((m, order) => new RedPackOutDto
             {
                 OrderId = order.Id,
-                Amount = red.Amount,
+                Amount = m.Amount,
                 Title = order.Title,
-                CreationTime = red.CreationTime,
-                RedPackAuditId = red.RedPackAuditId
+                CreationTime = m.CreationTime,
+                RedPackAuditId = m.RedPackAuditId
             })
             .ToFixedListAsync(dto, cancellationToken);
 
@@ -992,6 +991,24 @@ public abstract class SnapshotApplicationBase
             else
                 m.HeadUrl = _systemDicDataCacheManager.HeaderImages("default");
         });
+        if (item.Any(m => m.CitizenId == _sessionContext.UserId) == false)
+        {
+            var citizen = await _citizenRepository.GetAsync(_sessionContext.UserId);
+            var count = await _citizenRepository.CountAsync(m => m.Name != "");
+            if (citizen != null)
+            {
+                item.Insert(0, new PointsRankUserDto
+                {
+                    UserName = citizen.Name,
+                    CitizenId = citizen.Id,
+                    PhoneNumber = citizen.PhoneNumber,
+                    Rank = count,
+                    Points = 0,
+                    HeadUrl = _systemDicDataCacheManager.HeaderImages("default"),
+                    IsSecurityMax = false
+                });
+            }
+        }
         outDto.Ranks = item;
         return outDto;
     }

+ 9 - 6
src/Hotline.Application/Snapshot/SnapshotOrderApplication.cs

@@ -703,14 +703,17 @@ public class SnapshotOrderApplication : IOrderSnapshotApplication, IScopeDepende
         }
         else
         {
-            var snapshot = await _orderSnapshotRepository.Queryable(includeDeleted: true)
+            await _orderSnapshotRepository.Queryable(includeDeleted: true)
                 .Where(m => m.Id == dto.Id)
-                .FirstAsync(token);
-            snapshot.IsDeleted = false;
-            snapshot.IndustryId = dto.IndustryId;
-            snapshot.IndustryName = dto.IndustryName;
+                .FirstAsync(token)
+                .Then(async snapshot =>
+                {
+                    snapshot.IsDeleted = false;
+                    snapshot.IndustryId = dto.IndustryId;
+                    snapshot.IndustryName = dto.IndustryName;
 
-            await _orderSnapshotRepository.UpdateAsync(snapshot, token);
+                    await _orderSnapshotRepository.UpdateAsync(snapshot, token);
+                });
         }
     }
 }

+ 0 - 1
src/Hotline.Share/Dtos/Snapshot/PointsDto.cs

@@ -115,7 +115,6 @@ public class PointsRankUserDto
     /// </summary>
     public string UserName { get; set; }
 
-
     private string _phoneNumber;
     /// <summary>
     /// 联系电话

+ 1 - 1
src/TianQue.Sdk/TQHttpClient.cs

@@ -104,7 +104,7 @@ public class TQHttpClient
         }
         finally
         {
-            if (_sshClient.IsConnected)
+            if (_sshClient != null && _sshClient.IsConnected)
             {
                 _sshClient.Disconnect();
             }

+ 1 - 0
test/Hotline.Tests/Application/PointsRecordApplicationTest.cs

@@ -45,6 +45,7 @@ public class PointsRecordApplicationTest : TestBase
     [Fact]
     public async Task GetPointsRank_Test()
     {
+        SetWeiXin();
         var item = await _snapshotApplication.GetPointsRankAsync();
         item.ShouldNotBeNull();
         foreach (var a in item.Ranks)

+ 12 - 3
test/Hotline.Tests/Application/SnapshotApplicationTest.cs

@@ -93,7 +93,7 @@ public class SnapshotApplicationTest : TestBase
             IsPublished = true
         }).ToPageListAsync(0, 10);
         items.NotNullOrEmpty().ShouldBeTrue();
-        var signItems =  await _orderSnapshotApplication.GetSignOrderSnapshotItems(new SignOrderSnapshotItemsInDto()).ToListAsync();
+        var signItems = await _orderSnapshotApplication.GetSignOrderSnapshotItems(new SignOrderSnapshotItemsInDto()).ToListAsync();
     }
 
     [Fact]
@@ -265,7 +265,7 @@ public class SnapshotApplicationTest : TestBase
     [Fact]
     public async Task GetThirdToken_Test()
     {
-        var result = await _identityAppService.GetThredTokenAsync(new ThirdTokenInDto { AppType = EAppType.Snapshot, ThirdType = EThirdType.WeChat,   LoginCode = "0c3Adhll2zDMBe413rnl2KvEym2AdhlH" }, CancellationToken.None);
+        var result = await _identityAppService.GetThredTokenAsync(new ThirdTokenInDto { AppType = EAppType.Snapshot, ThirdType = EThirdType.WeChat, LoginCode = "0c3Adhll2zDMBe413rnl2KvEym2AdhlH" }, CancellationToken.None);
         result["PhoneNumber"].ToString().ShouldNotBeNullOrEmpty();
     }
 
@@ -425,7 +425,16 @@ public class SnapshotApplicationTest : TestBase
     [InlineData(ERedPackPickupStatus.Received)]
     public async Task GetRedPacksAsync(ERedPackPickupStatus status)
     {
-        var page = await _snapshotApplication.GetRedPacksAsync(new RedPacksInDto { Status = status }, CancellationToken.None);
+        try
+        {
+            var page = await _snapshotApplication.GetRedPacksAsync(new RedPacksInDto { Status = status }, CancellationToken.None);
+            page.ShouldNotBeNull();
+        }
+        catch (Exception e)
+        {
+            var msg = e.Message;
+            throw;
+        }        
         //page.Count.ShouldNotBe(0, "数据不应该为空");
     }