| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- /**
- * 信呼企业微信平台
- * 2024-11-09
- */
- class rockwxqyChajian extends Chajian
- {
- private $platurl = '',$cnum = '';
- private $optionobj;
-
- protected function initChajian()
- {
- $this->platurl = getconfig('rockwxqy_url');
- if(!$this->platurl){
- $this->platurl = $this->rock->jm->base64decode('aHR0cHM6Ly93eHF5LnJvY2tvYS5jb20v');
- }
- $this->optionobj = m('option');
- $this->cnum = $this->optionobj->getval('wxqyplat_cnum');
- }
-
- public function isconfig()
- {
- if($this->cnum)return true;
- return false;
- }
-
- public function geturlstr($act, $can=array(),$mact='')
- {
- $url = $this->platurl;
- $mode= 'wxqyopen';
- if($mact)$mode = $mact;
- $url.= 'index.php?a='.$act.'&m='.$mode.'';
- $url.= '&cnum='.$this->cnum.'&xinhukey='.getconfig('xinhukey').'';
- if(is_array($can))foreach($can as $k=>$v)$url.='&'.$k.'='.$v.'';
- return $url;
- }
-
- public function getdata($act, $can=array(), $data=array())
- {
- if(!$this->cnum)return returnerror('未设置单位编号');
- $url = $this->geturlstr($act, $can);
- if($data){
- $cont = c('curl')->postcurl($url, $data);
- }else{
- $cont = c('curl')->getcurl($url);
- }
- $data = array('code'=>201,'success'=>false,'msg'=>'出错了返回:'.htmlspecialchars($cont).'');
- if($cont!='' && substr($cont,0,1)=='{'){
- $data = json_decode($cont, true);
- }
- return $data;
- }
-
- public function postdata($act, $data=array(), $can=array())
- {
- return $this->getdata($act, $can, $data);
- }
-
- /**
- * 发消息
- */
- public function sendmess($id, $title, $mess, $url='',$picurl='')
- {
- $where = '`uid` in('.$id.')';
- if($id=='all')$where = '1=1';
- $rows = m('zwxqy_user')->getall(''.$where.' AND `state`=1','userid,agentid,cnum');
- if(!$rows)return returnerror('nouser');
- $sdata = array(
- 'touser' => $rows,
- 'title' => $this->rock->jm->base64encode($title),
- 'mess' => $this->rock->jm->base64encode($mess),
- 'url' => $this->rock->jm->base64encode($url),
- 'picurl' => $this->rock->jm->base64encode($picurl),
- );
- return $this->postdata('sendmess', json_encode($sdata));
- }
-
- /**
- * 快捷登录
- */
- public function authlogin()
- {
- $backurl = $this->rock->get('backurl');
- $rs = m('zwxqy_user')->getone('`state`=1');
- if(!$rs){
- $url = '?d=we&m=login&errmsg='.$this->rock->jm->base64encode('没有激活的用户').'';
- }else{
- $url = $this->platurl.'?m=main&yyid='.$rs['agentid'].'';
- }
- if($backurl)$url.='&backurl='.$backurl.'';
- $this->rock->location($url);
- }
-
- /**
- * 获取打卡记录(需要用异步)
- */
- public function getcheckindata($uids='', $startdt='', $enddt='', $page=1)
- {
- $obj = m('weixinqy:daka');
- if(!method_exists($obj, 'savecheckindata'))return returnerror('未安装企业微信插件');
-
- $where = '`uid` in('.$uids.') AND ';
- if($uids=='')$where = '';
- $rows = m('zwxqy_user')->getall(''.$where.'`state`=1','userid,uid');
- if(!$rows)return returnerror('没有激活的用户');
- $userids = $uids = $uarrs = array();
- foreach($rows as $k=>$rs){
- $userids[] = $rs['userid'];
- $uids[] = $rs['uid'];
- $uarrs[$rs['userid']] = $rs['uid'];
- }
- $sdata = array(
- 'userids' => $userids,
- 'uids' => $uids,
- 'startdt' => $startdt,
- 'enddt' => $enddt,
- );
- $barr = $this->postdata('checkindata', json_encode($sdata));
- if(!$barr['success'])return $barr;
- $this->rock->debugs($barr['data'],'djcheckdata');
- $data = $barr['data'];
- if(isset($data['checkindata'])){
- $obj->savecheckindata($data, $uarrs);
- }
- if(isset($data['hardwaredata'])){
- $obj->hardwaredata($data['hardwaredata'], $uarrs);
- }
- return $barr;
- }
- }
|