微信里面的签到加积分接口(已经测试过没问题)服务号不能每天发送消息,为了避免这个,每天签到的时候,推送一条最新的消息给客户。
2013-12-27 15:23
811 查看
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;
}
}
{
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版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
- 微信小程序统一服务消息下发接口 公众号和小程序消息都可以在一个接口推送了
- PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
- 牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:1、放进去的鱼是安全的,不会被其他鱼吃掉 2、这条鱼放进去也不能吃掉其他鱼
- 微信服务号推送模板消息接口
- 接口测试-工作心得记录三(调用微信接口发送监控消息)
- 微信推送消息--发送模板消息
- 微信公共服务平台开发(.Net 的实现)3-------发送文本消息
- 苹果官方微信推送的首篇文章居然是它?!库克:你们知道我为了这个中国年有多努力么?
- 夺命雷公狗---微信开发27----客服消息接口基础和推送图文消息
- 微信公共服务平台开发(.Net 的实现)11-------客服消息(定项消息推送 重要的OPENID)
- 微信js 已经填写JS接口安全域名了,为啥还报invalid url domain这个错?
- 微信开发 python django 多客服接口发送到客户端的消息乱码
- 百度虚拟主机微信公众号开发接口配置成功但个服务器发送消息提示“公众号提供的服务出现故障”
- 基于APNs最新HTTP/2接口实现iOS的高性能消息推送(服务端篇)
- 使用WeCloud消息推送接口发送消息NodeJs版
- .net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新
- C# 微信接口之推送模版消息
- 微信模板消息接口-给用户发送订单成功信息/支付成功等等