微信里面的签到加积分接口(已经测试过没问题)服务号不能每天发送消息,为了避免这个,每天签到的时候,推送一条最新的消息给客户。

原创 2013年12月27日 15:23:04
  public string QianDao(string WeiXinId, string key)//参数是微信号
        {
            strs = WeiXinId.Trim() + "WJXFGCLN+Mihaha";
            strs = DESEncrypt.Encrypt(strs);
            if (strs == key)//验证
            {
                string qdstr = "";
                DTcms.Model.users user = new BLL.users().LoginWeiXin(WeiXinId);//通过微信id来获取当前登录用户的id;
                if (user != null)
                {
                    string spoint = "0";//初始分值
                    string epoint = "0";//每日增长分值
                    string zpoint = "0";//最高分值
                    string day = "0";
                    List<DTcms.Model.dt_qiandaopoint_log> modelpoint = new BLL.dt_qiandaopoint_log().GetModelList(string.Format("parent=0"));//查询出管理员对应的有没有信息
                    if (modelpoint.Count > 0)
                    {
                        for (int i = 0; i < modelpoint.Count; i++)
                        {
                            epoint = modelpoint[i].epoint;//递增分值
                            zpoint = modelpoint[i].zpoint;//最高分值
                            List<DTcms.Model.dt_qiandaopoint_log> listlog = new BLL.dt_qiandaopoint_log().GetModelList(string.Format("user_id='{0}'", user.id));//根据当前的用户id查询当前用户有没有签到过
                            if (listlog.Count > 0)//如果有对应的用户
                            {
                                for (int j = 0; j < listlog.Count; j++)
                                {
                                    DateTime datetime_old = DateTime.Parse(listlog[j].addtime.ToString());
                                    if (DateTime.Now.AddDays(-1).ToString("yyyyMMdd") == datetime_old.ToString("yyyyMMdd"))//连续签到的(当天的日期-1=昨天的日期)
                                    {
                                        #region
                                        if (DateTime.Now.AddDays(0).ToString("yyyyMMdd") != datetime_old.ToString("yyyyMMdd"))//如果不是当天的时间就可以签到
                                        {
                                            day = (Int32.Parse(listlog[j].day) + 1).ToString();//天数
                                            if (listlog[i].spoint == zpoint)//判断增长分值等于最高连续增长的分值
                                            {
                                                spoint = zpoint;
                                            }
                                            else
                                            {
                                                spoint = (Int32.Parse(listlog[i].epoint) * (Int32.Parse(listlog[i].day) + 1)).ToString();//每天的增长值
                                            }
                                            //添加point_log表(积分表)
                                            Model.point_log modelpointlog = new Model.point_log();
                                            modelpointlog.user_id = Convert.ToInt32(user.id.ToString());
                                            modelpointlog.user_name = user.user_name;
                                            modelpointlog.value = Convert.ToInt32(spoint.ToString());
                                            modelpointlog.remark = "签到" + int.Parse(day) + "天,送" + spoint + "积分";
                                            modelpointlog.add_time = DateTime.Now;
                                            new BLL.point_log().Add(modelpointlog);


                                            //修改user表(用户表)
                                            user.point = user.point + Convert.ToInt32(spoint.ToString());
                                            new BLL.users().Update(user);


                                            //存数据(签到表)
                                            Model.dt_qiandaopoint_log model = new Model.dt_qiandaopoint_log();
                                            model.user_id = user.id.ToString();
                                            model.addtime = DateTime.Now;
                                            model.spoint = spoint;
                                            model.epoint = epoint;
                                            model.zpoint = modelpoint[i].zpoint;
                                            model.day = day;//天数
                                            model.parent = 1;
                                            new BLL.dt_qiandaopoint_log().Add(model);
                                            string points = user.point.ToString();
                                            string a = HttpContext.Current.Request.Url.Authority;
                                            //推送一条消息
                                            DataSet ds = new BLL.user_message().GetListName(1, user.user_name);
                                            if (ds.Tables[0].Rows.Count > 0)
                                            {
                                                qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.\n" + "推送消息:<a href=\'http://" + a + "/user/message/accept.aspx\'>" + ds.Tables[0].Rows[0]["title"].ToString() + "</a>";
                                            }
                                            else
                                            {
                                                qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.";
                                            }
                                        }
                                        else//如果是当天的时间就说明已经签到过
                                        {
                                            qdstr = "您好,您今天已经签到,改天再来吧.";
                                        }
                                        #endregion
                                    }
                                    else //不连续签到的
                                    {
                                        #region
                                        if (DateTime.Now.AddDays(0).ToString("yyyyMMdd") != datetime_old.ToString("yyyyMMdd"))//如果不是当天的时间就签到
                                        {
                                            //添加point_log表
                                            Model.point_log modelpointlog = new Model.point_log();
                                            modelpointlog.user_id = Convert.ToInt32(user.id.ToString());
                                            modelpointlog.user_name = user.user_name;
                                            modelpointlog.value = Convert.ToInt32(epoint.ToString());
                                            modelpointlog.remark = "签到1天,送" + epoint + "积分";
                                            modelpointlog.add_time = DateTime.Now;
                                            int result = new BLL.point_log().Add(modelpointlog);


                                            //修改user表
                                            user.point = user.point + int.Parse(epoint.ToString());
                                            new BLL.users().Update(user);


                                            //存数据
                                            Model.dt_qiandaopoint_log model = new Model.dt_qiandaopoint_log();
                                            model.user_id = user.id.ToString();
                                            model.addtime = DateTime.Now;
                                            model.spoint = epoint;
                                            model.epoint = epoint;
                                            model.zpoint = zpoint;
                                            model.day = "1";//天数
                                            model.parent = 1;
                                            new BLL.dt_qiandaopoint_log().Add(model);
                                            string points = user.point.ToString();
                                            //推送一条消息
                                            string a = HttpContext.Current.Request.Url.Authority;
                                            DataSet ds = new BLL.user_message().GetListName(1,user.user_name);
                                            if (ds.Tables[0].Rows.Count > 0)
                                            {
                                                qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.\n" + "推送消息:<a href=\'http://" + a + "/user/message/accept.aspx\'>" + ds.Tables[0].Rows[0]["title"].ToString() + "</a>";
                                            }
                                            else
                                            {
                                                qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.";
                                            }
                                        }
                                        else
                                        {
                                            qdstr = "您好,您今天已经签到,改天再来吧.";
                                        }
                                        #endregion
                                    }


                                }
                            }
                            else//如果之前没有签到过的
                            {
                                #region
                                //添加point_log表
                                Model.point_log modelpointlog = new Model.point_log();
                                modelpointlog.user_id = Convert.ToInt32(user.id.ToString());
                                modelpointlog.user_name = user.user_name;
                                modelpointlog.value = Convert.ToInt32(epoint.ToString());
                                modelpointlog.remark = "签到1天,送" + epoint + "积分";
                                modelpointlog.add_time = DateTime.Now;
                                int result = new BLL.point_log().Add(modelpointlog);


                                //修改user表
                                //  string str = spoint;
                                user.point = user.point + int.Parse(epoint.ToString());
                                new BLL.users().Update(user);


                                //存数据
                                Model.dt_qiandaopoint_log model = new Model.dt_qiandaopoint_log();
                                model.user_id = user.id.ToString();
                                model.addtime = DateTime.Now;
                                model.spoint = epoint;
                                model.epoint = epoint;
                                model.zpoint = zpoint;
                                model.day = "1";//天数
                                model.parent = 1;
                                new BLL.dt_qiandaopoint_log().Add(model);
                                string points = user.point.ToString();


                                //推送一条消息
                                DataSet ds = new BLL.user_message().GetListName(1, user.user_name);
                                string a = HttpContext.Current.Request.Url.Authority;
                                if (ds.Tables[0].Rows.Count > 0)
                                {
                                    qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.\n" + "推送消息:<a href=\'http://" + a + "/user/message/accept.aspx\'>" + ds.Tables[0].Rows[0]["title"].ToString() + "</a>";
                                }
                                else
                                {
                                    qdstr = "您好,您今天签到成功!\n今日所获积分为:" + model.spoint + "分,\n" + "您已连续签到:" + model.day + "天,\n" + "目前总积分数为:" + points + "分.";
                                }


                                #endregion
                            }
                        }
                    }
                    else//管理员没有添加签到的积分规则
                    {
                        qdstr = "请联系管理员分配签到功能!!!";
                    }
                    return qdstr;
                }
                else
                {
                    qdstr = "0";//没有绑定
                }
                return qdstr;
            }
            else
            {
                strs = "验证失败";
                return strs;
            }
        }

PHP+MYSQL+AJAX实现每日签到

在现在的好多网站上都出现了每日签到以及签到送礼等互动功能,这边呢,作者就使用最原始的PHP配合MYSQL、AJAX来制作了一个简单的每日签到功能,至于送礼还有其他的小游戏就需要读者们自己去增加和拓展了...

签到,打卡领取积分,记录连续签到,获取签到排名。

签到,打卡,奖品兑换

iOS开发本地通知(每天定点发送消息推送)

NSDate now = [NSDate date]; //取得系统时间 NSCalendar calendar = [[NSCalendar alloc] initWithCalendarIdent...

微信公众服务号怎么一天发一条图文消息?

订阅号每天发一条消息,服务号一个月发四条消息,这已经是微信定下的规定,所以在很多人申请的时候就非常纠结,服务号才有自定义菜单啊,但是一个月才4条。今天来给大家分享一下,服务号怎么一天发一条消息。 工具...

微信服务号推送模板信息服务器验证与模板消息推送

微信服务号服务器配置,微信预设模板信息推送

PHP微信服务号消息回复接口

  • rdisme
  • rdisme
  • 2017年03月30日 10:28
  • 471

PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制

2013年10月06日最新整理。 PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制 微信公共平台消息主动推送接口一直是腾讯的私用接口,相信很多朋友都非常想要用到这个功能...

微信接口开发主动发送消息

  • 2013年08月10日 00:42
  • 425KB
  • 下载

微信企业号发送消息接口-Java

刚写完一遍日志,再接再厉,把发送消息接口也整了,这个消息接口的不同于公众号的,消息类型有很多种,整个类写到了大概200行左右代码吧,用到了比较多的 正则表达式,json封装,网络请求等 企业...
  • jspping
  • jspping
  • 2014年10月11日 17:15
  • 13662

微信发送消息后显示该公共号暂时无法提供服务,请稍后再试!

用户发送信息,公众账号会提示”该公众号暂时无法提供服务,请稍后再试“。遇到这个问题,我们可以排除一下是否我们返回的数据有问题。 首先代码返回一个空的字符串,如果还是出现这样的提示,请看看签名验证是否失...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信里面的签到加积分接口(已经测试过没问题)服务号不能每天发送消息,为了避免这个,每天签到的时候,推送一条最新的消息给客户。
举报原因:
原因补充:

(最多只允许输入30个字)