Преглед изворни кода

Merge branch 'release' of http://git.12345lm.cn/Fengwo/hotline into release

Dun.Jason пре 7 месеци
родитељ
комит
99915f9b82

+ 43 - 0
src/Hotline.Application.Tests/Domain/LuZhouExpireTimeTest.cs

@@ -0,0 +1,43 @@
+using Hotline.Settings.TimeLimitDomain;
+using Hotline.Settings;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XF.Domain.Repository;
+using Hotline.Orders;
+using Hotline.Share.Dtos.Settings;
+using Hotline.Share.Enums.Settings;
+using Shouldly;
+
+namespace Hotline.Application.Tests.Domain;
+public class LuZhouExpireTimeTest
+{
+    private readonly LuZhouExpireTimeLimit _calcExpireTime;
+    private readonly IRepository<Order> _orderRepository;
+    private readonly IRepository<TimeLimitSetting> _timeLimitSettingRepository;
+
+    public LuZhouExpireTimeTest(IRepository<TimeLimitSetting> timeLimitSettingRepository, IRepository<Order> orderRepository, LuZhouExpireTimeLimit calcExpireTime)
+    {
+        _timeLimitSettingRepository = timeLimitSettingRepository;
+        _orderRepository = orderRepository;
+        _calcExpireTime = calcExpireTime;
+    }
+
+    [Theory]
+    [InlineData("2024-09-04 14:00:00", 2, "10", "2024-09-06 14:00:00", "2024/9/6 10:24:00", "2024/9/5 14:00:00", "2个工作日")]
+    [InlineData("2024-09-04 14:01:01", 3, "10", "2024-09-09 14:01:01", "2024/9/6 17:37:01", "2024/9/6 9:31:01", "3个工作日")]
+    public async Task CalcEndTime_Test(string begin, int count, string busCode, string expiredTime, string nearlyExpiredTime, string nearlyExpiredTimeOne, string timeText)
+    {
+        var beginTime = DateTime.Parse(begin);
+        var result = await _calcExpireTime.CalcEndTime(beginTime, new TimeConfig(count, ETimeType.WorkDay), busCode);
+        result.ShouldNotBeNull();
+        result.ExpiredTime.ShouldBe(DateTime.Parse(expiredTime));
+        result.NearlyExpiredTime.ShouldBe(DateTime.Parse(nearlyExpiredTime));
+        result.NearlyExpiredTimeOne.ShouldBe(DateTime.Parse(nearlyExpiredTimeOne));
+        result.Count.ShouldBe(count);
+        result.TimeText.ShouldBe(timeText);
+    }
+}
+

+ 2 - 1
src/Hotline.Application.Tests/ReadME.md

@@ -1,2 +1,3 @@
 ## 运行测试
-dotnet test --filter CalcEndTime_Test
+dotnet test --filter CalcEndTime_Test
+dotnet test --filter ZiGongExpireTimeTest.CalcExpiredTime_Test

+ 1 - 0
src/Hotline.Application.Tests/Startup.cs

@@ -134,6 +134,7 @@ public class Startup
             services.AddScoped<ExpireTimeFactory>();
             services.AddScoped<YiBinExpireTimeLimit>();
             services.AddScoped<ZiGongExpireTimeLimit>();
+            services.AddScoped<LuZhouExpireTimeLimit>();
 
             ServiceLocator.Instance = services.BuildServiceProvider();
         }

+ 1 - 1
src/Hotline.Application.Tests/appsettings.Development.json

@@ -68,7 +68,7 @@
         }
     },
     "ConnectionStrings": {
-        "Hotline": "PORT=5432;DATABASE=hotline;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
+        "Hotline": "PORT=5432;DATABASE=hotline_dev;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
     },
     "Cache": {
         "Host": "110.188.24.182",

+ 1 - 3
src/Hotline.Application/Bulletin/BulletinApplication.cs

@@ -40,9 +40,7 @@ namespace Hotline.Application.Bulletin
 
             // 获取服务器地址配置 
             string strSiteUrl = _appOptions.Value.OldFilesUrls;
-            //if (string.IsNullOrEmpty(strSiteUrl))
-            //    strSiteUrl = "http://12345.zwfwhfgjjfzj.yibin.gov.cn:81";
-
+         
             // 取得匹配项列表 视频
             foreach (Match match in matchesvideo)
             {

+ 3 - 11
src/Hotline/Settings/TimeLimitDomain/ExpireTimeSupplier/ExpireTimeFactory.cs

@@ -12,15 +12,7 @@ public class ExpireTimeFactory : IScopeDependency
     }
 
     public IExpireTimeSupplier GetSupplier(ETimeType timeType)
-    {
-        foreach (var supplier in _expireTimeSuppliers)
-        {
-            if (supplier.GetType().Name == timeType.ToString() + "Supplier")
-            {
-                return supplier;
-            }
-        }
-
-        return _expireTimeSuppliers.First();
-    }
+        => _expireTimeSuppliers
+        .FirstOrDefault(supplier => supplier.GetType().Name == timeType.ToString() + "Supplier")
+        ?? _expireTimeSuppliers.First();
 }

+ 22 - 0
src/Hotline/Settings/TimeLimitDomain/LuZhouExpireTimeLimit.cs

@@ -0,0 +1,22 @@
+using Hotline.Caching.Interfaces;
+using Hotline.DI;
+using Hotline.Settings.TimeLimits;
+using MapsterMapper;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XF.Domain.Dependency;
+using XF.Domain.Repository;
+
+namespace Hotline.Settings.TimeLimitDomain;
+
+[Injection(AppScopes = EAppScope.LuZhou)]
+public class LuZhouExpireTimeLimit : ExpireTimeLimitBase, ICalcExpireTime, IScopeDependency
+{
+    public LuZhouExpireTimeLimit(ISystemSettingCacheManager systemSettingCacheManager, IRepository<TimeLimitSetting> timeLimitSettingRepository, IExpireTimeHandler expireTimeHandler, IMapper mapper, IDaySettingRepository daySettingRepository) : base(systemSettingCacheManager, timeLimitSettingRepository, expireTimeHandler, mapper, daySettingRepository)
+    {
+    }
+}
+