Ejemplo n.º 1
0
        public string MemberCard(int id, string userid, string sessionid)
        {
            int eid = int.Parse(WeiXin.Core.SecurityEncryption.DESDecrypt(sessionid));

            //1、判断是否领取会员卡
            FansToCard ftc = new FansToCardService().GetFansToCardByUserID(userid, eid);
            if (ftc == null)
            {
                //2、查询该会员卡的信息

                //1、查询会员卡的信息
                CardConfig ccc = CardConfigBll.GetCardConfigModelByEid(eid);
                int cardID = int.Parse(ccc.MinCardID.ToString());//领取的卡号
                //3、查询该会员卡现在最大的卡号
                FansToCard f = Fans2CardBll.GetMaxCardID(ccc.id);
                //4、查询粉丝的个人信息
                UserToEmp fans = FansBll.GetUserToEmpByOpenID(userid);
                if (f != null)
                {
                    //第N个人领取会员卡
                    cardID = f.Cardid + 1;
                }
                //2、领取会员卡
                ftc = new FansToCard
                {
                    FansID = fans.id,
                    CardConfigID = id,
                    Cardid = cardID,
                    CardState = ccc.CardState,
                    GetDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    ExpirationDate = "",
                    Integral = 0,
                    Money = 0,
                    CardPass = WeiXin.Core.SecurityEncryption.DESEncrypt("123456")

                };
                if (new FansToCardService().Insert(ftc) > 0)
                {
                    return "ok";
                }
                else
                {
                    return "error";
                }
            }
            else
            {
                return "ok";
            }
        }
Ejemplo n.º 2
0
        private void ResponseMsg(string weixinXML, string id)
        {
            string strresponse = "";
            //回复消息的部分:你的代码写在这里
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(weixinXML);
            XmlNodeList list = doc.GetElementsByTagName("xml");

            XmlNode xn = list[0];
            string FromUserName = xn.SelectSingleNode("//FromUserName").InnerText;
            string ToUserName = xn.SelectSingleNode("//ToUserName").InnerText;
            serverUser = ToUserName;
            clientUser = FromUserName;
            string content = "", Event = "";
            try
            {
                Event = xn.SelectSingleNode("//Event").InnerText;
                CommBll.WriteLog("Event:" + Event, path);
            }
            catch
            { }
            try
            {
                content = xn.SelectSingleNode("//Content").InnerText;
                CommBll.WriteLog("Content:" + content, path);
            }
            catch
            { }
            //用户操作事件
            if (Event.Equals("subscribe"))
            {
                //初次关注,检查数据库中是否存在该用户 ,无,则加入进我们的数据库
                //有,则加入,公众帐号与用户的关系表
                Fans fans = new Fans();
                fans.FromUserName = FromUserName;
                UserToEmp u2e = new UserToEmp();
                u2e.EmpID = int.Parse(id);
                u2e.UserID = FromUserName;
                u2e.SubscribeDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                u2e.SubscribeState = 1;//初始为关注状态
                FansBll.InsertFansAndToEmp(fans, u2e);
                //关注的欢迎词

                #region 更改日期:2013-7-20 将初次关注回复的文本内容转换为图文内容
                //content = empBll.GetAEmpInfoByApi(int.Parse(id)).temp1;
                //strresponse = ResponseText(content);
                #endregion
                employeeInfo emp = empBll.GetAEmpInfoByApi(int.Parse(id));
                strresponse = ResponsePicTextMsg("非常感谢您能关注[" + emp.Name + "]", emp.temp1, "http://weixin.cqzuxia.com/FileUpload/" + emp.temp4, "http://weixin.cqzuxia.com/Enterprise/web/index?sessionid=zuxia_SessionID");

            }
            else if (Event.Equals("unsubscribe"))
            {
                //删除用户与公众帐号的关系表(假删除)
                FansBll.UpdateU2E(id, FromUserName);
                // CommBll.WriteLog("用户取消关注:" + FromUserName, path);
            }
            else
            {  //查询该微信公众号的关键词进行匹配
                #region 关键词进行匹配
                #region CheckFansIsCunZai 判断粉丝是否存在
                Fans fans = new Fans()
                {
                    FromUserName = FromUserName
                };
                UserToEmp u2e = new UserToEmp()
                {
                    EmpID = int.Parse(id),
                    UserID = FromUserName,
                    SubscribeDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    SubscribeState = 1//初始为关注状态
                };
                FansBll.InsertFansAndToEmp(fans, u2e);
                #endregion
                //   CommBll.WriteLog("进入关键词匹配", path);
                if (content != null)
                {
                    sendContent = content;
                    List<GuanJianZiHuiFu> hf = HFBll.HuiFu(content, int.Parse(id));
                    if (hf == null || hf.Count < 1)
                    {
                        List<normal_EmpExtends> listex = extendsBll.GetEmpExtends(int.Parse(id));
                        #region API

                        if (listex.Count != 0)
                        {
                            //判断是否有插件内容
                            foreach (var item in listex)
                            {
                                if (content.Contains(item.normal_extends.BaseTable))
                                {
                                    //查询api
                                    CommonAPI api = new CommonAPI();
                                    #region API

                                    switch (item.normal_extends.BaseTable)
                                    {
                                        case "天气":
                                            strresponse = ResponsePicTextMsg(content + "预报", api.GetWeather(content.Substring(0, content.Length - 2)), "http://weixin.cqzuxia.com/FileUpload/201307/26/20130726135955.jpg", "");
                                            break;
                                        case "笑话":
                                            strresponse = ResponsePicTextMsg("笑话一箩筐", api.GetXiaoHua(), "http://weixin.cqzuxia.com/FileUpload/201307/21/20130721100709.jpg", "");
                                            break;
                                        case "@":
                                            strresponse = ResponsePicTextMsg("翻译查询", api.GetFanYi(content.Substring(1, content.Length - 1)), "http://weixin.cqzuxia.com/FileUpload/201307/26/20130726135754.jpg", "");
                                            break;
                                        case "gp":
                                            strresponse = ResponsePicTextMsg("股票查询", api.GetGuPiao(content.Substring(2, content.Length - 2)), "http://weixin.cqzuxia.com/FileUpload/201307/26/20130726135557.jpg", "");

                                            break;
                                        case "会员":
                                            //判断用户是否领取我企业的会员卡
                                            FansToCard ftc = new FansToCardService().GetFansToCardByUserID(FromUserName, int.Parse(id));
                                            if (ftc == null)
                                            {
                                                //1、用户还未领取会员卡
                                                strresponse = ResponsePicTextMsg("申请微信会员卡", "您尚未领取会员卡特权,快来点击领取吧", "http://weixin.cqzuxia.com/FileUpload/201307/25/20130725154809.jpg", "http://weixin.cqzuxia.com/Enterprise/web/MemberCard?userid=" + FromUserName + "&sessionid=" + WeiXin.Core.SecurityEncryption.DESEncrypt(id));
                                            }
                                            else
                                            {
                                                //2、用户已经领取会员卡
                                                strresponse = ResponsePicTextMsg("尊敬的会员:" + ftc.UserToEmp.Fans.TrueName, "尊敬的会员:" + ftc.UserToEmp.Fans.TrueName + ",您的会员卡号为:" + ftc.Cardid + ",会员尊享特权点击进入查询!", "http://weixin.cqzuxia.com/FileUpload/201307/25/20130725154809.jpg", "http://weixin.cqzuxia.com/Enterprise/web/MemberCard?userid=" + FromUserName + "&sessionid=" + WeiXin.Core.SecurityEncryption.DESEncrypt(id));
                                            }
                                            break;
                                        case "kd":
                                            strresponse = ResponsePicTextMsg("快递查询", api.GetKuaiDi(content.Substring(2, content.Length - 2)), "http://weixin.cqzuxia.com/FileUpload/201307/26/20130726140210.jpg", "");

                                            break;
                                        case "音乐":
                                            strresponse = GetMusic(content.Substring(2, content.Length - 2)); break;
                                        default:
                                            break;
                                    }
                                    #endregion

                                    break;
                                }
                            }
                            CommBll.WriteLog("strresponse:" + strresponse, path);
                            if (strresponse.Length < 2)
                            {
                                #region 无回复内容,更新时间:2013-7-20 更改为图文格式

                                //content = empBll.GetAEmpInfoByApi(int.Parse(id)).temp2;
                                //strresponse = ResponseText(content);
                                #endregion
                                employeeInfo emp=empBll.GetAEmpInfoByApi(int.Parse(id));
                                strresponse = ResponsePicTextMsg("没有找到你需要的信息!", emp.temp2, "http://weixin.cqzuxia.com/FileUpload/" + emp.temp5, "http://weixin.cqzuxia.com/Enterprise/web/index?sessionid=zuxia_SessionID");

                            }

                        }
                        else
                        {

                            #region 没有数据,更新时间:2013-7-20 更改为图文格式

                            //content = empBll.GetAEmpInfoByApi(int.Parse(id)).temp2;
                            //strresponse = ResponseText(content);
                            #endregion
                            employeeInfo emp = empBll.GetAEmpInfoByApi(int.Parse(id));
                            strresponse = ResponsePicTextMsg("没有找到你需要的信息!", emp.temp2, "http://weixin.cqzuxia.com/FileUpload/" + emp.temp5, "http://weixin.cqzuxia.com/Enterprise/web/index?sessionid=zuxia_SessionID");
                        }
                        #endregion
                    }
                    else
                    {
                        string type = hf[0].GuanJianZiHuiFuType.name;
                        CommBll.WriteLog("type:" + type, path);
                        switch (type)
                        {
                            case "文字":
                                //strresponse = ResponseTextMsg(hf);
                                if (hf[0].img.Length > 1)
                                {
                                    strresponse = ResponsePicTextMsg("", hf[0].content, "http://weixin.cqzuxia.com/FileUpload/" + hf[0].img, hf[0].temp1);
                                }
                                else { strresponse = ResponsePicTextMsg("", hf[0].content, "", hf[0].temp1); }
                                break;
                            case "图文":
                                strresponse = ResponsePicTextMsg(hf);
                                break;
                            default:
                                break;
                        }
                    }
                }
                #endregion
            }
            CommBll.WriteLog("ToUserName:" + ToUserName, path);
            CommBll.WriteLog("clientUser:" + clientUser, path);
            FansInteraction fi = new FansInteraction()
            {
                Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                EmpId = int.Parse(id),
                FansOpenId = clientUser,
                SendContent = sendContent,
                ReturnContent = strresponse,
                Temp1 = serverUser,
            };
            //互动
            FIBll.InsertInteraction(fi);
            strresponse = strresponse.Replace("zuxia_UserID", clientUser);
            strresponse = strresponse.Replace("zuxia_SessionID", WeiXin.Core.SecurityEncryption.DESEncrypt(id));
            Response.Write(strresponse);
        }
Ejemplo n.º 3
0
 public ActionResult MemberCard(string userid, string sessionid)
 {
     //1、判断用户是否完善个人信息
     //1、判断用户信息是否完整,完整则可以留言,不完整则先完善个人信息
     FansContract fans = FansBll.GetFansInfoByOpenID(userid);
     if (fans.TrueName == null || fans.UserBr == null || fans.UserPhone == null || fans.UserPhone == "")
     {
         ViewData["msg"] = "你还没有完善个人信息,请先完善个人信息!";
         ViewData["url"] = Url.Action("Member", new { sessionid = sessionid, UserID = userid, bak = "MemberCard" });
         return View("Error");
     }
     else
     {
         int eid = int.Parse(WeiXin.Core.SecurityEncryption.DESDecrypt(sessionid));
         //1、查询会员卡的信息
         CardConfig ccc = CardConfigBll.GetCardConfigModelByEid(eid);
         //2、查询用户的信息,判断用户是否领取会员卡
         FansToCard ftc = new FansToCardService().GetFansToCardByUserID(userid, eid);
         ViewData["ftc"] = ftc;
         ViewData["userid"] = userid;
         ViewData["sessionid"] = sessionid;
         return View(ccc);
     }
 }