您的位置:首页 > 编程语言 > PHP开发

weiphp 数据统计插件

2015-10-13 16:50 726 查看
为了便于工作自己写了一个用户数据统计插件,看了一下Thinkphp的开发文档,然后就写了我第一个基于weiphp的插件,写的比较潦草,请多担待。

<?php

namespace Addons\data_tj\Model;
use Home\Model\WeixinModel;

/**
* data_tj的微信模型
*/
class WeixinAddonModel extends WeixinModel{
function reply($dataArr, $keywordArr = array()) {
$config = getAddonConfig ( 'data_tj' ); // 获取后台插件的配置参数
$param ['token'] = get_token ();
$param ['openid'] = get_openid ();

$User=M('follow');
$select=$User->where('openid="'.$param['openid'].'"')->find();

$nickname=$select['nickname'];
$wechat_auto=M("cache_user");
$select_num=$wechat_auto->where('openid="'.$param['openid'].'"')->count();
if($select_num==0){
$datetime=date('y-m-d H:i:s',time());
$strtotime=strtotime($datetime);
$number=$User->count();
$data[] = array('openid'=>$param['openid'],'nickname'=>$nickname,'cachenumber'=>'0','date'=>$strtotime);
$wechat_auto->addAll($data);
}
$nownumber=intval($User->count());
$cache=$wechat_auto->where('openid="'.$param['openid'].'"')->find();
$cachenumber=intval($cache['cachenumber']);
$cc=$nownumber-$cachenumber;
if($cachenumber!=$nownumber){

$content='新增加了'.$cc.'人'."\n";
$list = $User->limit($cachenumber,$nownumber)->getField('nickname,city,sex');
foreach($list as $k=>$v){
switch($v['sex']){
case '1':
$v['sex']='男';
break;
case '2':
$v['sex']='女';
break;
}
$aaa.='【'.$v['city'].'】'.'【'.$v['nickname'].'】'.'【'.$v['sex'].'】'."\n";

}
$strnumber='------------'."\n".'现在一共'.$nownumber.'人';
$this->replyText($content.$aaa.$strnumber);

$wechat_auto-> where('openid="'.$param['openid'].'"')->setField('cachenumber',$nownumber);

}else{
$date=$cache['date'];
$time=date('Y-m-d H:i:s',"$date");
$fortime=date('y-m-d H:i:s',time());
$forstrtotime=strtotime($fortime);
$content='[未增加人数]'."\n".'上次更新时间为'."\n".$time."\n".'现共有';

$this->replyText($content.$nownumber.'人');
$wechat_auto-> where('openid="'.$param['openid'].'"')->setField('date',$forstrtotime);
}
// $wechat_auto->addAll($dataList);

}

// 关注公众号事件
public function subscribe() {
return true;
}

// 取消关注公众号事件
public function unsubscribe() {
return true;
}

// 扫描带参数二维码事件
public function scan() {
return true;
}

// 上报地理位置事件
public function location() {
return true;
}

// 自定义菜单事件
public function click() {
return true;
}
}



具体的效果就是,微信输入“数据统计”然后就会返回微信人数。具体格式【地区】【昵称】【性别】。并给数据库缓存人数数据,这样管理员在每次查询的时候就不会出现篇幅较大的信息,只会抛出新增加人数信息。

由于本插件只是作为一个功能来供管理员使用,所以有很多没有考虑到的,请多担待。。

插件下载:

点击下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: