Exemplo n.º 1
0
        /// <summary>
        /// 添加用户系统消息
        /// </summary>
        /// <param name="userIDs">用户ID集合</param>
        /// <param name="option">消息类型,<see cref="MessageTemplateOption"/></param>
        /// <param name="relateDataID">消息关联的数据ID,如:某某订单ID</param>
        /// <param name="title">消息标题</param>
        /// <param name="content">消息内容</param>
        /// <param name="sign">消息发送方签名(如:XXX公司)</param>
        /// <returns></returns>
        public bool AddUserMessage(long[] userIDs, MessageTemplateOption option, string relateDataID, string title, string content, string sign)
        {
            using (var db = new DataContext())
            {
                if (userIDs == null || userIDs.Length < 1)
                {
                    return(false);
                }

                foreach (var userId in userIDs)
                {
                    var item = new User_Message
                    {
                        MessageID   = IDProvider.NewId(),
                        Content     = content ?? string.Empty,
                        CreateTime  = DateTime.Now,
                        IsDelete    = false,
                        IsRead      = false,
                        MessageType = (int)option,
                        RefDataID   = relateDataID,
                        Sign        = sign ?? string.Empty,
                        Title       = title,
                        UserID      = userId
                    };

                    db.User_Message.Add(item);
                }

                return(db.SaveChanges() > 0);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 消息发送器初始化
        /// </summary>
        /// <param name="option">消息业务类型,<see cref="MessageTemplateOption"/>枚举</param>
        protected BaseSender(MessageTemplateOption option)
        {
            Option = option;

            var config = CacheData.GetTemplate(option);

            if (config == null)
            {
                throw new InvalidOperationException("未找到当前业务对应的消息模板配置项");
            }

            Title = config.Title;

            Template = config.Template;

            Content = Template ?? string.Empty;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取指定消息业务的配置信息
        /// </summary>
        /// <param name="option">消息业务配置项<see cref="MessageTemplateOption"/>枚举</param>
        /// <returns></returns>
        internal static MessageTemplateInfo GetTemplate(MessageTemplateOption option)
        {
            if (CacheCollection.SystemGolbalConfigCache != null)
            {
                var cacheValue = CacheCollection.SystemGolbalConfigCache.Get((int)GlobalConfigType.Message, (int)option);

                if (cacheValue != null)
                {
                    return(new MessageTemplateInfo
                    {
                        MessageType = cacheValue.ResourceKey,
                        Template = cacheValue.Value,
                        Title = cacheValue.Name
                    });
                }
            }

            return(null);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 添加商户系统消息
        /// </summary>
        /// <param name="merchantID">商家ID</param>
        /// <param name="option">消息类型,<see cref="MessageTemplateOption"/></param>
        /// <param name="relateDataID">消息关联的数据ID,如:某某订单ID</param>
        /// <param name="title">消息标题</param>
        /// <param name="content">消息内容</param>
        /// <param name="sign">消息发送方签名(如:XXX公司)</param>
        /// <returns></returns>
        public bool AddMerchantMessage(long merchantID, MessageTemplateOption option, string relateDataID, string title, string content, string sign)
        {
            using (var db = new DataContext())
            {
                var item = new Merchant_Message
                {
                    MessageID   = IDProvider.NewId(),
                    Content     = content,
                    CreateTime  = DateTime.Now,
                    IsDelete    = false,
                    IsRead      = false,
                    MessageType = (int)option,
                    MerchantID  = merchantID,
                    RefDataID   = relateDataID,
                    Sign        = sign,
                    Title       = title
                };

                db.Merchant_Message.Add(item);

                return(db.SaveChanges() > 0);
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 添加用户系统消息
 /// </summary>
 /// <param name="userID">用户ID</param>
 /// <param name="option">消息类型,<see cref="MessageTemplateOption"/></param>
 /// <param name="relateDataID">消息关联的数据ID,如:某某订单ID</param>
 /// <param name="title">消息标题</param>
 /// <param name="content">消息内容</param>
 /// <param name="sign">消息发送方签名(如:XXX公司)</param>
 /// <returns></returns>
 public bool AddUserMessage(long userID, MessageTemplateOption option, string relateDataID, string title, string content, string sign)
 {
     return(AddUserMessage(new[] { userID }, option, relateDataID, title, content, sign));
 }
Exemplo n.º 6
0
        /// <summary>
        /// 添加消息模板配置项
        /// </summary>
        static void AddMessageTemplateConfig()
        {
            var dic = EnumUtility.GetEnumDescriptions(typeof(MessageTemplateOption));

            string group = "commission";
            int    unit  = 0;
            string value = null;

            foreach (var kv in dic)
            {
                MessageTemplateOption option = (MessageTemplateOption)System.Enum.Parse(typeof(MessageTemplateOption), kv.Key.ToString());

                switch (option)
                {
                //兴趣社区
                case MessageTemplateOption.CancelHotByCircleTopic: group = "兴趣社区"; value = "您好!您在“#ForumName#”的帖子“#TopicTitle#”#原因#被取消热帖,如有疑问联系#客服#!"; break;

                case MessageTemplateOption.CancelModerator: group = "兴趣社区"; value = "您好!感谢您在版主任职期间的贡献,恭喜您光荣退休!"; break;

                case MessageTemplateOption.CancelTopByCircleTopic: group = "兴趣社区"; value = "您好!您在“#ForumName#”的帖子“#TopicTitle#”#原因(到期/违规)#被取消置顶,如有疑问联系#客服#!"; break;

                case MessageTemplateOption.CircleEventBefore: group = "兴趣社区"; value = "您报名的活动“#TopicTitle#”将在#EventTime#开始,请准时参加!"; break;

                case MessageTemplateOption.CircleTopicDeleted: group = "兴趣社区"; value = "您好!您在“#ForumName#”的帖子“#TopicTitle#”#原因#被管理员删除,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.SetHotByCircleTopic: group = "兴趣社区"; value = "您好!您在“#ForumName#”的帖子“#TopicTitle#”被万众追捧,管理员已将您的帖子设为热帖万世流传,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.SetModerator: group = "兴趣社区"; value = "您好!由于您在#ForumName#中突出贡献,管理员已将您升为版主,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.SetTopByCircleTopic: group = "兴趣社区"; value = "您好!您在“#ForumName#”的帖子“#TopicTitle#”万中无一,管理员已将它置顶让万众瞻仰,如有疑问联系#ServerPhone#!"; break;

                //反馈举报
                case MessageTemplateOption.ComplaintsSuccess: group = "反馈举报"; value = "您好,您的举报信息已经受理,我们会跟进处理!"; break;

                case MessageTemplateOption.FeedbackSuccess: group = "反馈举报"; value = "您好,您反馈的意见我们悉心接纳,期待我们的改变吧!"; break;

                //登录注册
                case MessageTemplateOption.FirstLogin: group = "登录注册"; value = "您好,欢迎加入小地方,#AreaName#自己的生活圈!"; break;

                //订单
                case MessageTemplateOption.MerchantCancelGoodsOrder: group = "订单"; value = "您好!您的商品订单#OrderCode#已被商家#MerchantName#残忍取消,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.MerchantCancelServiceOrder: group = "订单"; value = "您好!您的服务订单#OrderCode#已被商家#MerchantName#残忍取消,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.MerchantSureGoodsOrder: group = "订单"; value = "您好!您的商品订单#OrderCode#已被商家#MerchantName#飞速确认,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.MerchantSureServiceOrder: group = "订单"; value = "您好!您的服务订单#OrderCode#已被商家#MerchantName#飞速确认,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.OrderCancelAndBackMoneySuccess: group = "订单"; value = "您好!您的订单#OrderCode#退款金额#Amount#(#DateTime#)已退回钱包,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.OrderPaymentTimeOut: group = "订单"; value = "您好!由于您长时间未支付,订单#OrderCode#已被关闭,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.OrderReceiving: group = "订单"; value = "快来接单,有单来了!"; break;

                case MessageTemplateOption.PaymentSuccess: group = "订单"; value = "您好!您的订单#OrderCode#成功支付#Amount#,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.PersonalSureServiceOrder: group = "订单"; value = "您好!您的服务订单#OrderCode#已被#Worker#飞速确认,如有疑问联系#WorkerPhone#!"; break;

                case MessageTemplateOption.RechargeSuccess: group = "订单"; value = "您好!您在#DateTime#成功充值#Amount#,如有疑问联系#ServerPhone#"; break;

                case MessageTemplateOption.ServiceOrderBeforTime: group = "订单"; value = "您好!您的服务订单#OrderCode#即将开始,请准时到达提供服务!"; break;

                case MessageTemplateOption.ServiceOrderGrabMessage: group = "订单"; value = "有单来了,快抢快抢!"; break;

                case MessageTemplateOption.ServiceOrderGrabSuccess: group = "订单"; value = "手速如我,谁与争锋,抢单就是这么简单!订单编号#OrderCode#"; break;

                //认证
                case MessageTemplateOption.UserCertificationFailure: group = "认证"; value = "您好!由于#Reason#客服未通过您的实名认证信息,请调整后再次提交,如有疑问联系#SererPhone#!"; break;

                case MessageTemplateOption.UserCertificationSuccess: group = "认证"; value = "您好!您的实名认证信息已通过审核,如有疑问联系#ServerPhone#!"; break;

                //积分等级
                case MessageTemplateOption.UserLevelUpgrade: group = "积分等级"; value = "通过不懈努力,您的等级已突破#LevelName#,系统排名上升#Number#,#LevelRemark#!"; break;

                //限时福利
                case MessageTemplateOption.WelfareAuditSuccess: group = "限时福利"; value = "您好!您申请的福利(#WelfareName#),客服在#DateTime#已经审核通过,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.WelfareBeforLoseEfficacy: group = "限时福利"; value = "您好!您的福利#WelfareName#即将过期,再不用它就要离家出走了!"; break;

                case MessageTemplateOption.WelfareFinish: group = "限时福利"; value = "您好!你参与的福利#WelfareName#已开奖,如有疑问联系#ServerPhone#!"; break;

                case MessageTemplateOption.WelfareLottery: group = "限时福利"; value = "您好!您参与的福利#WelfareName#即将开奖,幸运的小伙伴会不会是你呢?"; break;

                case MessageTemplateOption.WelfareUsed: group = "限时福利"; value = "您好!您的福利(#WelfareName#)于#DateTime#在#MerchantName#消费成功,如有疑问联系#MerchantPhone#!"; break;

                case MessageTemplateOption.WelfareWin: group = "限时福利"; value = "有福咯!鸿运当头,您已抽中#WelfareName#,记得在有效期内领取消费哟!"; break;

                //申请提现成功
                case MessageTemplateOption.WithdrawSuccess: group = "限时福利"; value = "您好!您在#DateTime#发起#Amount#提现成功,预计将在#DateTime#到账,如有疑问联系#ServerPhone#!"; break;
                }

                Add((int)GlobalConfigType.Message, kv.Key, kv.Value, value.ToString(), group, unit);
            }
        }