Exemple #1
0
       /// <summary>
        /// 短信发送需要发送的手机号码,多个号码以逗号分割 ,建议200一组提交
       /// </summary>
        /// <param name="phone">手机号</param>
        /// <param name="content">短信内容</param>
        /// <param name="moduleName">发送短信的模块名称</param>
        /// <param name="actionName">模块活动的名称</param>
        /// <param name="actionId">模块活动的主键id</param>
        /// <returns>需要发送的手机号码,多个号码以逗号分割 ,建议200一组提交</returns>
        public string SendSMS(string phone, string content, string moduleName, string actionName, int actionId)
        {
            BLL.wx_sms_info smsBll = new BLL.wx_sms_info();
            Model.wx_sms_info smsinfo = new Model.wx_sms_info();
            
            if (ucode == "" || pwd == "" || qianming=="")
            {
                return "失败:帐号、密码或者签名未填写";
            }
            if (qianming.Contains("【") && qianming.Contains("】"))
            {
                //签名必须包含“【”和“】”
            }
            else
            {
                return "失败:签名填写错误";
            }
            try
            {
                if (phone.Trim() == "")
                {
                    return "失败:手机号码为空";
                }
                if (content.Trim() == "")
                {
                    return "失败:短信内容为空";
                }


                string[] phoneArr = phone.Split(',');
                string ret = "";
                for (int i = 0; i < phoneArr.Length; i++)
                {
                    if (phoneArr[i].Trim() != "" && phoneArr[i].Trim().Length > 5)
                    {
                        ret = sms.LZ_SendSms(ucode, pwd, phoneArr[i], content + " " + qianming, "");
                        //----- 记录日志 begin -----\\
                        smsinfo = new Model.wx_sms_info();
                        smsinfo.wid =wid;
                        smsinfo.createDate = DateTime.Now;
                        smsinfo.moduleName = moduleName;
                        smsinfo.actionName = actionName;
                        smsinfo.actionId = actionId;
                        smsinfo.tel = phoneArr[i];
                        smsinfo.smsContent = content + " " + qianming;
                        smsinfo.sStatusNum = ret;
                        smsinfo.sStatus = smsSendReturnValue(ret);
                        smsBll.Add(smsinfo);
                        //----- 记录日志 end -----\\
                    }
                }

                
                return (smsSendReturnValue(ret));
            }
            catch (Exception ex)
            {
                 
                smsinfo = new Model.wx_sms_info();
                smsinfo.wid = wid;
                smsinfo.createDate = DateTime.Now;
                smsinfo.moduleName = moduleName;
                smsinfo.actionName = actionName;
                smsinfo.actionId = actionId;
                smsinfo.tel = phone;
                smsinfo.smsContent = content;
                smsinfo.sStatusNum = "失败:短信发送失败:" + ex.Message;
                smsinfo.sStatus = "发送失败,抛出异常信息";
                smsBll.Add(smsinfo);

                return "失败:短信发送失败:" + ex.Message;
            }


        }
Exemple #2
0
        /// <summary>
        /// 短信发送需要发送的手机号码,多个号码以逗号分割 ,建议200一组提交
        /// </summary>
        /// <param name="phone">手机号</param>
        /// <param name="content">短信内容</param>
        /// <param name="moduleName">发送短信的模块名称</param>
        /// <param name="actionName">模块活动的名称</param>
        /// <param name="actionId">模块活动的主键id</param>
        /// <returns>需要发送的手机号码,多个号码以逗号分割 ,建议200一组提交</returns>
        public string SendSMS(string phone, string content, string moduleName, string actionName, int actionId)
        {
            BLL.wx_sms_info   smsBll  = new BLL.wx_sms_info();
            Model.wx_sms_info smsinfo = new Model.wx_sms_info();

            if (ucode == "" || pwd == "" || qianming == "")
            {
                return("失败:帐号、密码或者签名未填写");
            }
            if (qianming.Contains("【") && qianming.Contains("】"))
            {
                //签名必须包含“【”和“】”
            }
            else
            {
                return("失败:签名填写错误");
            }
            try
            {
                if (phone.Trim() == "")
                {
                    return("失败:手机号码为空");
                }
                if (content.Trim() == "")
                {
                    return("失败:短信内容为空");
                }


                string[] phoneArr = phone.Split(',');
                string   ret      = "";
                for (int i = 0; i < phoneArr.Length; i++)
                {
                    if (phoneArr[i].Trim() != "" && phoneArr[i].Trim().Length > 5)
                    {
                        ret = sms.LZ_SendSms(ucode, pwd, phoneArr[i], qianming + " " + content, "");
                        //----- 记录日志 begin -----\\
                        smsinfo            = new Model.wx_sms_info();
                        smsinfo.wid        = wid;
                        smsinfo.createDate = DateTime.Now;
                        smsinfo.moduleName = moduleName;
                        smsinfo.actionName = actionName;
                        smsinfo.actionId   = actionId;
                        smsinfo.tel        = phoneArr[i];
                        smsinfo.smsContent = qianming + " " + content;
                        smsinfo.sStatusNum = ret;
                        smsinfo.sStatus    = smsSendReturnValue(ret);
                        smsBll.Add(smsinfo);
                        //----- 记录日志 end -----\\
                    }
                }


                return(smsSendReturnValue(ret));
            }
            catch (Exception ex)
            {
                smsinfo            = new Model.wx_sms_info();
                smsinfo.wid        = wid;
                smsinfo.createDate = DateTime.Now;
                smsinfo.moduleName = moduleName;
                smsinfo.actionName = actionName;
                smsinfo.actionId   = actionId;
                smsinfo.tel        = phone;
                smsinfo.smsContent = content;
                smsinfo.sStatusNum = "失败:短信发送失败:" + ex.Message;
                smsinfo.sStatus    = "发送失败,抛出异常信息";
                smsBll.Add(smsinfo);

                return("失败:短信发送失败:" + ex.Message);
            }
        }
Exemple #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
            int    aid     = MyCommFun.RequestInt("aid");
            int    wid     = MyCommFun.RequestWid();
            string openid  = MyCommFun.RequestOpenid();
            string _action = MXRequest.GetQueryString("mycat");

            BLL.wx_qp_base  actBll  = new wx_qp_base();
            BLL.wx_qp_users userBll = new BLL.wx_qp_users();
            //验证码
            if (_action == "sendCardCheckCode")
            {
                Model.wx_qp_base actModel  = actBll.GetModel(aid);
                string           actName   = actModel.bName;
                smsMgr           smgr      = null;
                string           Number    = string.Empty;
                string           smsStatus = string.Empty;
                string           telephone = MXRequest.GetQueryString("telephone");
                #region 验证码
                Dictionary <string, string> jsonDict = new Dictionary <string, string>();
                IList <Model.wx_qp_users>   userList = userBll.GetModelList(string.Format(" (openid='{0}'and bId={2}) or (uTel='{1}' and bId={2})", openid, telephone, aid));
                try
                {
                    if (Regexlib.IsValidMobile(telephone))
                    {
                        //判断是否超过活动最大人数
                        if (actModel.cyPersonNum >= actModel.maxPersonNum)
                        {
                            jsonDict.Add("errno", "sys");
                            jsonDict.Add("content", "活动人数已满!");
                            context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                            return;
                        }

                        if (userList.Count > 0)//已参加过本次活动,不发送验证码
                        {
                            jsonDict.Add("errno", "sys");
                            jsonDict.Add("content", "你已参加过本次活动!");
                            context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                            return;
                        }
                        smgr      = new smsMgr(wid);
                        Number    = Utils.Number(6, true);
                        smsStatus = smgr.SendSMS(telephone, Number + "(动态验证码),您于" + DateTime.Now.ToString("yyyy年MM月dd日 hh点mm分") + "参与\"" + actName + "\"抢票活动,请在10分钟内输入该验证码!", Number, actName, aid);
                        if (smsStatus == "成功")
                        {
                            //获取验证码
                            jsonDict.Add("errno", "0");
                            jsonDict.Add("content", "获取验证码成功");
                            context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                            return;
                        }
                        else
                        {
                            jsonDict.Add("errno", "sys");
                            jsonDict.Add("content", "发送验证码失败!");
                            context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                            return;
                        }
                    }
                    else
                    {
                        jsonDict.Add("errno", "sys");
                        jsonDict.Add("content", "手机格式错误!");
                        context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                        return;
                    }
                }
                catch (Exception ex)
                {
                    jsonDict.Add("errno", "sys");
                    jsonDict.Add("content", "发送验证码失败!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }

                #endregion
            }

            //index页面抢票时判断是否已参加过活动
            if (_action == "qp_ckJoined")
            {
                Dictionary <string, string> jsonDict = new Dictionary <string, string>();
                //判断此人是否已参与过活动
                bool joined = userBll.GetModelList(string.Format(" bId={0} and openid='{1}'", aid, openid)).Count > 0;
                if (joined)//已参与,跳转结果显示页面
                {
                    string goUrl = string.Format("order_Result.aspx?wid={0}&aid={1}&openid={2}&join=false", wid, aid, openid);
                    jsonDict.Add("errno", "0");
                    jsonDict.Add("content", goUrl);
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }
                else//还未参与,跳转订单页面
                {
                    string goUrl = string.Format("order.aspx?wid={0}&aid={1}&openid={2}", wid, aid, openid);
                    jsonDict.Add("errno", "0");
                    jsonDict.Add("content", goUrl);
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }
            }

            //抢票得到订单
            if (_action == "qp_ckOrder")
            {
                string                      identCode = MyCommFun.QueryString("identCode");
                string                      telephone = MyCommFun.QueryString("telephone");
                BLL.wx_sms_info             smsBll    = new BLL.wx_sms_info();
                Dictionary <string, string> jsonDict  = new Dictionary <string, string>();
                string                      goUrl     = "";
                //判断用户是否已经参与过活动
                IList <Model.wx_qp_users> userList = userBll.GetModelList(string.Format(" (openid='{0}'and bId={2}) or (uTel='{1}' and bId={2}) ", openid, telephone, aid));
                //判断验证码
                bool ckIdentcode = smsBll.ExistsYzm(telephone, identCode);

                Model.wx_qp_base actModel = actBll.GetModel(aid);

                //判断是否超过活动最大人数
                if (actModel.cyPersonNum >= actModel.maxPersonNum)
                {
                    jsonDict.Add("errno", "sys");
                    jsonDict.Add("content", "活动人数已满!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }
                if (userList.Count > 0)
                {
                    jsonDict.Add("errno", "sys");
                    jsonDict.Add("content", "你已参加过活动,每人只能参加一次!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }
                if (!Regexlib.IsValidMobile(telephone))
                {
                    jsonDict.Add("errno", "sys");
                    jsonDict.Add("content", "手机格式错误!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }
                if (!ckIdentcode)
                {
                    jsonDict.Add("errno", "sys");
                    jsonDict.Add("content", "验证码错误!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }



                Model.wx_qp_users model = new Model.wx_qp_users();
                model.bId        = aid;
                model.openid     = openid;
                model.uTel       = telephone;
                model.createDate = DateTime.Now;
                model.sn         = "sn_" + Utils.Number(6, true);
                //添加参与活动用户并给递加活动人数
                int res = userBll.Add(model);
                actModel.cyPersonNum  = actModel.cyPersonNum + 1;
                actModel.yingyuanlist = null;
                actBll.Update(actModel);

                //判断该活动是否发送SN码通知用户
                if (actModel.isSnSendsms && res > 0)//发送
                {
                    smsMgr smgr      = new smsMgr(wid);
                    string smsStatus = smgr.SendSMS("您于" + DateTime.Now.ToString("yyyy年MM月dd日 hh点mm分") + "参与\"" + actModel.bName + "\"抢票活动!恭喜你,抢票成功!(SN码)" + telephone, model.sn, model.sn, actModel.bName, aid);
                }
                goUrl = string.Format("order_Result.aspx?wid={0}&aid={1}&openid={2}&join=true", wid, aid, openid);
                jsonDict.Add("errno", "0");
                jsonDict.Add("content", goUrl);
                context.Response.Write(MyCommFun.getJsonStr(jsonDict));
            }
        }