예제 #1
0
        //从模板提取并生成批次发送
        //以接口方式调用
        /// <summary>
        /// 使用模板Id和特定Model填充发送数据
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public int SendNotifyMsg(string requestModel)
        {
            var oModel = CommonLib.Helper.JsonDeserializeObject <EventMessage>(requestModel);
            var model  = new MessageRequestModel();

            //var model = CommonLib.Helper.JsonDeserializeObject<MessageRequestModel>(requestModel);

            switch (oModel.EventId)
            {
            case 1:
                break;

            case 2:    //销售后
                break;

            case 4:    //绑定优惠券
                var cmodel = CommonLib.Helper.JsonDeserializeObject <AfterBindCoupon>(oModel.SpecModel);

                model.Id        = cmodel.EventId;
                model.EventName = "【优惠券绑定提醒】用户" + cmodel.AccId + "绑定优惠券" + cmodel.CouponDesc;
                model.SpecModel = oModel.SpecModel;
                model.AccId     = cmodel.AccId;

                break;

            case 5:    //实物订单发货时
                var gmodel = CommonLib.Helper.JsonDeserializeObject <AfterExpress>(oModel.SpecModel);

                model.Id        = gmodel.EventId;
                model.EventName = "【实物发货提醒】用户" + gmodel.AccId + "购买的" + gmodel.GoodsName + "发货";
                model.SpecModel = oModel.SpecModel;
                model.AccId     = gmodel.AccId;
                break;

            case 6:    //反馈转为需求时
                var imodel = CommonLib.Helper.JsonDeserializeObject <AfterImportReq>(oModel.SpecModel);

                model.Id        = imodel.EventId;
                model.EventName = "【反馈转需求提醒】需求" + imodel.RequirementDesc + " -来自用户" + imodel.AccId;
                model.SpecModel = oModel.SpecModel;
                model.AccId     = imodel.AccId;
                break;

            case 7:    //需求开发完成后
                var iamodel = CommonLib.Helper.JsonDeserializeObject <AfterImportReq>(oModel.SpecModel);

                model.Id        = iamodel.EventId;
                model.EventName = "【需求完成提醒】需求【" + iamodel.RequirementDesc + "】已完成 -来自用户" + iamodel.AccId;
                model.SpecModel = oModel.SpecModel;
                model.AccId     = iamodel.AccId;
                break;

            case 9:     //订单支付成功后
                var ordModel = CommonLib.Helper.JsonDeserializeObject <AfterOrderSuccess>(oModel.SpecModel);

                switch (ordModel.OrderType)
                {
                case 1:        //虚拟商品
                               //对商品类型做例外判断

                    //高级版
                    if (ordModel.BusId == 82)
                    {
                        model.Id = 101;
                    }
                    //手机橱窗
                    else if (ordModel.BusId == 6)
                    {
                        model.Id = 102;
                    }
                    //短信包
                    else if (ordModel.BusId == 36 || ordModel.BusId == 44 || ordModel.BusId == 45 || ordModel.BusId == 81)
                    {
                        model.Id = 103;
                    }
                    //行业版
                    else if (ordModel.BusId >= 67 && ordModel.BusId <= 80)
                    {
                        model.Id = 107;
                    }
                    //连锁版
                    //else if (ordModel.BusId == 1)
                    //{
                    //    model.Id = 108;
                    //}
                    break;

                case 2:        //实物商品
                    model.Id = 104;
                    break;

                case 3:        //京东订单
                    model.Id = 105;
                    break;

                case 4:        //话费充值
                    model.Id = 106;
                    break;
                }


                model.EventName = "【订单购买成功提醒】用户" + ordModel.AccId + "购买【" + ordModel.OrderName + "】成功";
                model.SpecModel = oModel.SpecModel;
                model.AccId     = ordModel.AccId;

                break;
            }

            return(MessageTemplateControl.SendNotifyMsg(model.Id, model.EventName, model.SpecModel, model.AccId, 0, model.EventName + "触发"));
        }
예제 #2
0
        public string AddTemplate(int eventId, string MobileTitle = "", string PubTitle = "", string EmailTitle = "",
                                  string SmsContent = "", string MobileContent          = "", string PubContent = "", string EmailContent = "", string contentType = "", string contentUrl = "")
        {
            //Model初始化
            TriggerTemplateModel model = new TriggerTemplateModel();

            if (!string.IsNullOrEmpty(SmsContent))
            {
                model.SmsMark    = 1;
                model.SmsContent = SmsContent;
            }
            else
            {
                model.SmsMark    = 0;
                model.SmsContent = "";
            }

            if (!string.IsNullOrEmpty(MobileContent))
            {
                model.MobileMark        = 1;
                model.MobileTitle       = MobileTitle;
                model.MobileContent     = Server.UrlDecode(MobileContent);
                model.MobileContentType = contentType;
                model.MobileContentUrl  = contentUrl;
            }
            else
            {
                model.MobileMark        = 0;
                model.MobileTitle       = "";
                model.MobileContent     = "";
                model.MobileContentType = "";
                model.MobileContentUrl  = "";
            }

            if (!string.IsNullOrEmpty(PubContent))
            {
                model.WebMark    = 1;
                model.WebTitle   = PubTitle;
                model.WebContent = Server.UrlDecode(PubContent);
            }
            else
            {
                model.WebMark    = 0;
                model.WebTitle   = "";
                model.WebContent = "";
            }

            if (!string.IsNullOrEmpty(EmailContent))
            {
                model.EmailMark    = 1;
                model.EmailTitle   = EmailTitle;
                model.EmailContent = Server.UrlDecode(EmailContent);
            }
            else
            {
                model.EmailMark    = 0;
                model.EmailTitle   = "";
                model.EmailContent = "";
            }

            model.CreateTime   = DateTime.Now;
            model.EnableStatus = 1;

            //<option value="1">注册后</option>
            //        <option value="2">首次登录后</option>
            //        <option value="3">订单付费后</option>
            //        <option value="4">优惠券到账后</option>
            //        <option value="5">实物订单发货后</option>
            //        <option value="6">反馈转为需求后</option>
            //        <option value="7">需求开发完成后</option>
            //        <option value="8">销售商品后</option>
            switch (eventId)
            {
            case 1:    //注册后
                model.MissionTarget = "告知";
                model.MissionName   = "注册通知";
                model.UserDesc      = "";
                break;

            case 2:    //首次登录后
                model.MissionTarget = "告知";
                model.MissionName   = "注册通知";
                model.UserDesc      = "";
                break;

            case 3:    //订单付费后
                model.MissionTarget = "告知";
                model.MissionName   = "付费通知";
                model.UserDesc      = "";
                break;

            case 4:    //优惠券到账后
                model.MissionTarget = "提醒";
                model.MissionName   = "优惠券到账提醒";
                model.UserDesc      = "";
                break;

            case 5:    //实物订单发货后
                model.MissionTarget = "提醒";
                model.MissionName   = "实物发货提醒";
                model.UserDesc      = "";
                break;

            case 6:    //反馈转为需求后
                model.MissionTarget = "提醒";
                model.MissionName   = "用户反馈提醒";
                model.UserDesc      = "";
                break;

            case 7:    //需求开发完成后
                model.MissionTarget = "提醒";
                model.MissionName   = "用户反馈提醒";
                model.UserDesc      = "";
                break;

            case 8:    //销售商品后
                model.MissionTarget = "提醒";
                model.MissionName   = "店员销售提醒";
                model.UserDesc      = "";
                break;

            case 101:    //订单购买后
            case 102:
            case 103:
            case 104:
            case 105:
            case 106:
            case 107:
            case 108:
                model.MissionTarget = "告知";
                model.MissionName   = "付费通知";
                model.UserDesc      = "";
                break;
            }


            model.EventId = eventId;

            ManageUserModel uM = (ManageUserModel)Session["logUser"];

            model.Operator = uM.UserID;

            return(MessageTemplateControl.AddTemplate(model));
        }