/// <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); } }
/// <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; }
/// <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); }
/// <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); } }
/// <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)); }
/// <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); } }