TANG JIANG 1 рік тому
батько
коміт
947f46d7f4

+ 1 - 1
src/DataSharing.Application/DataSharing.Application.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="Hotline.Api.Sdk" Version="1.0.7" />
-    <PackageReference Include="Hotline.Share" Version="1.0.47" />
+    <PackageReference Include="Hotline.Share" Version="1.0.49" />
     <PackageReference Include="Polly.Core" Version="8.2.0" />
   </ItemGroup>
 

+ 36 - 2
src/DataSharing.Host/Controllers/WebPortalController.cs

@@ -4,6 +4,7 @@ using DataSharing.WebPortal;
 using DotNetCore.CAP;
 using Hotline.Api.Sdk;
 using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Push;
 using MapsterMapper;
 using MediatR;
 using Microsoft.AspNetCore.Authorization;
@@ -31,6 +32,7 @@ namespace DataSharing.Host.Controllers
         private readonly IChannelConfigurationManager _channelConfigurationManager;
         private readonly IHotlineClient _hotlineClient;
         private readonly ITypedCache<WriteLettersSendSmsDto> _writeLettersSendSms;
+        private readonly IRepository<DsHotspot> _dsHotspotRepository;
 
         /// <summary>
         /// 
@@ -44,6 +46,9 @@ namespace DataSharing.Host.Controllers
         /// <param name="webUserRegisterRepository"></param>
         /// <param name="webUserAuthRepository"></param>
         /// <param name="channelConfigurationManager"></param>
+        /// <param name="hotlineClient"></param>
+        /// <param name="writeLettersSendSms"></param>
+        /// <param name="dsHotspotRepository"></param>
         public WebPortalController(IMapper mapper, IMediator mediator, ICapPublisher capPublisher,
             IRepository<DsBulletin> bulletinRepository,
                IRepository<DsOrder> dataOrderRepository,
@@ -52,7 +57,8 @@ namespace DataSharing.Host.Controllers
             IRepository<DsWebUserAuth> webUserAuthRepository,
             IChannelConfigurationManager channelConfigurationManager,
            IHotlineClient hotlineClient,
-           ITypedCache<WriteLettersSendSmsDto> writeLettersSendSms)
+           ITypedCache<WriteLettersSendSmsDto> writeLettersSendSms,
+           IRepository<DsHotspot> dsHotspotRepository)
         {
             _mapper = mapper;
             _mediator = mediator;
@@ -65,6 +71,7 @@ namespace DataSharing.Host.Controllers
             _channelConfigurationManager = channelConfigurationManager;
             _hotlineClient = hotlineClient;
             _writeLettersSendSms = writeLettersSendSms;
+            _dsHotspotRepository = dsHotspotRepository;
         }
 
         #region 通知
@@ -670,7 +677,24 @@ namespace DataSharing.Host.Controllers
                 };
             }
             //这里发送短信
+            List<string> listParams = new()
+            {
+                dto.SmsCode
+            };
 
+            Hotline.Share.Dtos.Push.MessageDto messageDto = new()
+            {
+                PushBusiness = EPushBusiness.MsgCode,
+                ExternalId = Guid.NewGuid().ToString(),
+                PushPlatform = EPushPlatform.Web,
+                Template = "0101",
+                Content = "",
+                Remark = "",
+                Name = dto.TelNum,
+                TelNumber = dto.TelNum,
+                Params = listParams,
+            };
+            await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlinePushTextMessage, messageDto, cancellationToken: HttpContext.RequestAborted);
 
             //修改缓存
             await _writeLettersSendSms.SetAsync(keyToken, data, TimeSpan.FromDays(1), HttpContext.RequestAborted);
@@ -698,7 +722,17 @@ namespace DataSharing.Host.Controllers
             return OpenResponse.Ok(WebPortalDeResponse<string>.Success("-1"));
         }
 
-
+        /// <summary>
+        /// 获取热点分类的树形
+        /// </summary>
+        /// <returns></returns>
+        [AllowAnonymous]
+        [HttpPost("gethotspottreelist")]
+        public async Task<OpenResponse> GetHotspotTreeList()
+        {
+            var data = await _dsHotspotRepository.Queryable().ToTreeAsync(it => it.children, it => it.ParentId, null);
+            return OpenResponse.Ok(WebPortalDeResponse<List<DsHotspot>>.Success(data));
+        }
 
         /// <summary>
         /// 系统主题颜色

+ 29 - 0
src/DataSharing/WebPortal/DsHotspot.cs

@@ -0,0 +1,29 @@
+namespace DataSharing.WebPortal
+{
+    using SqlSugar;
+    using XF.Domain.Repository;
+    public class DsHotspot : CreationSoftDeleteEntity
+    {
+        public string HotSpotName { get; set; }
+        [SugarColumn(IsNullable = true)]
+        public string ParentId { get; set; }
+        [SugarColumn(IsNullable = true)]
+        public string PYCode { get; set; }
+        [SugarColumn(IsNullable = true)]
+        public string FullPYCode { get; set; }
+        public string ProvinceCode { get; set; }
+        public int OrderBy { get; set; }
+        public string TrunkNum { get; set; }
+        /// <summary>
+        /// 生成的时候写入
+        /// </summary>
+        public string HotSpotFullName { get; set; }
+
+        [SugarColumn(IsIgnore = true)]
+        public List<DsHotspot> children { get; set; }
+
+        [SugarColumn(IsIgnore = true)]
+        public bool HasChild { get; set; }
+
+    }
+}