xf пре 1 година
родитељ
комит
446cd4a56e

+ 32 - 0
src/Hotline.Share/Enums/Push/EPushBusiness.cs

@@ -0,0 +1,32 @@
+namespace Hotline.Share.Enums.Push;
+
+/// <summary>
+/// 消息推送业务
+/// </summary>
+public enum EPushBusiness
+{
+    /// <summary>
+    /// 工单派单
+    /// </summary>
+    OrderSend = 0,
+
+    /// <summary>
+    /// 工单受理
+    /// </summary>
+    OrderAccept = 1,
+
+    /// <summary>
+    /// 工单超期
+    /// </summary>
+    OrderExpire = 2,
+
+    /// <summary>
+    /// 工单催办
+    /// </summary>
+    OrderUrge = 3,
+
+    /// <summary>
+    /// 工单回访
+    /// </summary>
+    OrderCallback = 4,
+}

+ 22 - 0
src/Hotline.Share/Enums/Push/EPushPlatform.cs

@@ -0,0 +1,22 @@
+namespace Hotline.Share.Enums.Push;
+
+/// <summary>
+/// 推送平台
+/// </summary>
+public enum EPushPlatform
+{
+    /// <summary>
+    /// 短信
+    /// </summary>
+    Sms = 1,
+
+    /// <summary>
+    /// 微信公众号
+    /// </summary>
+    WeChat = 2,
+
+    /// <summary>
+    /// 微信小程序
+    /// </summary>
+    WeChatMiniProgram = 3,
+}

+ 9 - 0
src/Hotline.Share/Enums/Push/EPushStatus.cs

@@ -0,0 +1,9 @@
+namespace Hotline.Share.Enums.Push;
+
+/// <summary>
+/// 推送状态
+/// </summary>
+public enum EPushStatus
+{
+
+}

+ 13 - 0
src/Hotline/Push/IPushDomainService.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Hotline.Push
+{
+    public interface IPushDomainService
+    {
+        Task PushAsync(Message message, CancellationToken cancellation);
+    }
+}

+ 50 - 0
src/Hotline/Push/Message.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Hotline.Share.Enums.Push;
+using SqlSugar;
+using XF.Domain.Repository;
+
+namespace Hotline.Push
+{
+    /// <summary>
+    /// 推送消息
+    /// </summary>
+    public class Message : CreationEntity
+    {
+        public EPushBusiness PushBusiness { get; set; }
+
+        /// <summary>
+        /// 外部业务唯一编号
+        /// </summary>
+        public string ExternalId { get; set; }
+
+        /// <summary>
+        /// 推送平台
+        /// </summary>
+        public EPushPlatform PushPlatform { get; set; }
+
+        /// <summary>
+        /// 推送状态
+        /// </summary>
+        public EPushStatus Status { get; set; }
+
+        /// <summary>
+        /// 模板
+        /// </summary>
+        [SugarColumn(IsNullable = true)]
+        public string? Template { get; set; }
+
+        /// <summary>
+        /// 内容
+        /// </summary>
+        public string Content { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+    }
+}

+ 11 - 0
src/Hotline/Push/PushDomainService.cs

@@ -0,0 +1,11 @@
+using XF.Domain.Dependency;
+
+namespace Hotline.Push;
+
+public class PushDomainService : IPushDomainService, IScopeDependency
+{
+    public async Task PushAsync(Message message, CancellationToken cancellation)
+    {
+        throw new NotImplementedException();
+    }
+}