소스 검색

人大代表意见快办

Dun.Jason 1 주 전
부모
커밋
606a98361a

+ 4 - 2
src/Hotline.Api/Controllers/OrderController.cs

@@ -5053,7 +5053,8 @@ public class OrderController : BaseController
             var specialNumber = await _specialNumberRepository.GetAsync(p => p.PhoneNumber == dto.FromPhone, HttpContext.RequestAborted);
             if (specialNumber != null)
             {
-                if (specialNumber.PoliticalIdentityValue == "1")
+                var selectPushTypeCode = _systemSettingCacheManager.GetSetting(SettingConstants.SelectPushTypeCode).SettingValue;
+                if (selectPushTypeCode.Contains(specialNumber.PoliticalIdentityValue))
                 {
                     if (dto.OrderPushTypes == null || dto.OrderPushTypes.Count() == 0 || dto.OrderPushTypes.Exists(p => p.PushTypeCode == "9") == false)
                         throw UserFriendlyException.SameMessage("人大代表来电,请选择推送分类人大代表意见快办!");
@@ -5322,7 +5323,8 @@ public class OrderController : BaseController
             var specialNumber = await _specialNumberRepository.GetAsync(p => p.PhoneNumber == dto.FromPhone, HttpContext.RequestAborted);
             if (specialNumber != null)
             {
-                if (specialNumber.PoliticalIdentityValue == "1")
+                var selectPushTypeCode = _systemSettingCacheManager.GetSetting(SettingConstants.SelectPushTypeCode).SettingValue;
+                if (selectPushTypeCode.Contains(specialNumber.PoliticalIdentityValue))
                 {
                     if (dto.OrderPushTypes == null || dto.OrderPushTypes.Count() == 0 || dto.OrderPushTypes.Exists(p => p.PushTypeCode == "9") == false)
                         throw UserFriendlyException.SameMessage("人大代表来电,请选择推送分类人大代表意见快办!");

+ 13 - 2
src/Hotline.Application/SpecialNumber/SpecialNumberApplication.cs

@@ -7,6 +7,8 @@ using XF.Domain.Repository;
 using Hotline.Repository.SqlSugar.Extensions;
 using Hotline.Share.Dtos.Special;
 using Hotline.Orders;
+using Hotline.Settings;
+using Hotline.Caching.Interfaces;
 
 namespace Hotline.Application.SpecialNumber
 {
@@ -17,15 +19,18 @@ namespace Hotline.Application.SpecialNumber
         private readonly IRepository<Hotline.Special.SpecialNumber> _specialNumberRepository;
         private readonly ISessionContext _sessionContext;
         private readonly IMapper _mapper;
+        private readonly ISystemSettingCacheManager _systemSettingCacheManager;
 
         public SpecialNumberApplication(
             IRepository<Hotline.Special.SpecialNumber> specialNumberRepository,
             ISessionContext sessionContext,
-            IMapper mapper)
+            IMapper mapper,
+            ISystemSettingCacheManager systemSettingCacheManager)
         {
             _specialNumberRepository = specialNumberRepository;
             _sessionContext = sessionContext;
             _mapper = mapper;
+            _systemSettingCacheManager = systemSettingCacheManager;
         }
 
         #endregion
@@ -156,10 +161,16 @@ namespace Hotline.Application.SpecialNumber
         /// <returns></returns>
         public async Task<SpecialNumberInfoDto> GetSpecialNumberByAsync(string PhoneNumber, CancellationToken cancellationToken)
         {
+            var selectPushTypeCode = _systemSettingCacheManager.GetSetting(SettingConstants.SelectPushTypeCode).SettingValue;
             var data = await _specialNumberRepository.Queryable()
                 .FirstAsync(x => x.PhoneNumber == PhoneNumber, cancellationToken);
             if (data == null) return new();
-            return _mapper.Map<SpecialNumberInfoDto>(data);
+            var model = _mapper.Map<SpecialNumberInfoDto>(data);
+            if (selectPushTypeCode.Contains(model.PoliticalIdentityValue))
+            {
+                model.IsSelectPushType = true;
+            }
+            return model;
         }
 
         #endregion

+ 5 - 0
src/Hotline.Share/Dtos/Special/SpecialNumberDto.cs

@@ -113,5 +113,10 @@ namespace Hotline.Share.Dtos.Special
         /// 创建时间
         /// </summary>
         public DateTime? CreationTime { get; set; }
+
+        /// <summary>
+        /// 是否选择推送类型
+        /// </summary>
+        public bool IsSelectPushType { get; set; } = false;
     }
 }

+ 5 - 0
src/Hotline/Settings/SettingConstants.cs

@@ -776,6 +776,11 @@ namespace Hotline.Settings
         /// </summary>
         public const string SpecialIdentityVerification = "SpecialIdentityVerification";
 
+        /// <summary>
+        /// 选择推送类型的政治身份
+        /// </summary>
+        public const string SelectPushTypeCode = "SelectPushTypeCode";
+
         /// <summary>
         /// 甄别统计查询节点
         /// </summary>