1
0

qywxplatAction.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <?php
  2. class qywxplatClassAction extends Action
  3. {
  4. public function setsaveAjax()
  5. {
  6. $cnum = $this->post('cnum');
  7. $this->option->setval('wxqyplat_cnum@-10', $cnum);
  8. $this->option->setval('wxqyplat_devnum@-10', $this->post('devnum'));
  9. $this->option->setval('wxqyplat_huitoken@-10', $this->post('huitoken'));
  10. $this->option->setval('wxqyplat_tixi@-10', $this->post('tixi'));
  11. $this->option->setval('wxqyplat_daka@-10', $this->post('daka'));
  12. $this->option->setval('wxqyplat_kjdl@-10', $this->post('kjdl'));
  13. m('zwxqy_user')->delete("`cnum`<>'$cnum'");
  14. return 'ok';
  15. }
  16. public function getsetAjax()
  17. {
  18. $arr= array();
  19. $arr['purl'] = $this->option->getval('wxqyplat_purl');
  20. $arr['cnum'] = $this->option->getval('wxqyplat_cnum');
  21. $arr['devnum'] = $this->option->getval('wxqyplat_devnum');
  22. $arr['tixi'] = $this->option->getval('wxqyplat_tixi');
  23. $arr['daka'] = $this->option->getval('wxqyplat_daka');
  24. $arr['kjdl'] = $this->option->getval('wxqyplat_kjdl');
  25. $arr['huitoken'] = $this->option->getval('wxqyplat_huitoken');
  26. $arr['huiurl'] = ''.$this->rock->getouturl().'api.php?m=wxqyplat';
  27. if(COMPANYNUM)$arr['huiurl'].='&dwnum='.COMPANYNUM.'';
  28. echo json_encode($arr);
  29. }
  30. //测试是否可以使用
  31. public function testqywxAjax()
  32. {
  33. $barr = c('rockwxqy')->getdata('companyinfo');
  34. if(!$barr['success']){
  35. return $barr;
  36. }
  37. return returnsuccess('<font color=green>测试可用</font><br>单位名称:'.$barr['data']['name'].'<br>单位全称:'.$barr['data']['shortname'].'');
  38. }
  39. public function sethuidiaoAjax()
  40. {
  41. $data['huiurl'] = $this->jm->base64encode($this->rock->getouturl());
  42. $data['huitoken'] = $this->option->getval('wxqyplat_huitoken');
  43. return c('rockwxqy')->postdata('sethuiurl', $data);
  44. }
  45. //获取信呼系统上部门
  46. public function deptdataAjax()
  47. {
  48. $this->rows = array();
  49. $this->getdept(0, 1);
  50. $this->returnjson(array(
  51. 'totalCount'=> 0,
  52. 'rows' => $this->rows
  53. ));
  54. }
  55. private function getdept($pid, $oi)
  56. {
  57. $db = m('dept');
  58. $menu = $db->getall("`pid`='$pid' order by `sort`",'*');
  59. foreach($menu as $k=>$rs){
  60. $sid = $rs['id'];
  61. $rs['level'] = $oi;
  62. $rs['stotal'] = $db->rows("`pid`='$sid'");
  63. $rs['zt'] = 1;
  64. $this->rows[] = $rs;
  65. $this->getdept($rs['id'], $oi+1);
  66. }
  67. }
  68. public function deptwxdataAjax()
  69. {
  70. $barr = c('rockqywx')->getdata('deptlist');
  71. if(!$barr['success'])return $barr;
  72. $rows = $barr['data'];
  73. $this->returnjson(array(
  74. 'totalCount'=> 0,
  75. 'rows' => $rows
  76. ));
  77. }
  78. public function deptreloadAjax()
  79. {
  80. return c('rockqywx')->getdata('deptreload');
  81. }
  82. public function anaytodeptAjax()
  83. {
  84. $barr = c('rockqywx')->getdata('deptlist');
  85. if(!$barr['success'])return $barr;
  86. $rows = $barr['data'];
  87. return returnsuccess();
  88. }
  89. //微信上用户操作
  90. public function beforeusershow($table)
  91. {
  92. $fields = 'id,`name`,`user`,deptname,`mobile`,deptallname,status,ranking,deptid,sex,sort,face';
  93. $fields.=',deptids,deptnames';
  94. $s = '';
  95. $key = $this->post('key');
  96. if($key!=''){
  97. $s = " and (`name` like '%$key%' or `user` like '%$key%' or `ranking` like '%$key%' or `deptallname` like '%$key%' ";
  98. $s.=" or `deptnames` like '%$key%'";
  99. $s.= ')';
  100. }
  101. return array(
  102. 'fields'=> $fields,
  103. 'where' => $s
  104. );
  105. }
  106. public function afterusershow($table, $rows)
  107. {
  108. $tab = 'zwxqy_user';
  109. $farr = $this->db->gettablefields('[Q]'.$tab.'');
  110. if(!$farr){
  111. $sql = "CREATE TABLE `[Q]".$tab."` (
  112. `id` int(11) NOT NULL AUTO_INCREMENT,
  113. `userid` varchar(50) DEFAULT '',
  114. `state` tinyint(1) DEFAULT '0' COMMENT '状态',
  115. `agentid` int(11) DEFAULT '0' COMMENT '对应应用id',
  116. `mobile` varchar(50) DEFAULT NULL COMMENT '关联手机号',
  117. `uid` int(11) DEFAULT '0' COMMENT '对应OA用户id',
  118. `cnum` varchar(30) DEFAULT NULL COMMENT '关联单位编号',
  119. PRIMARY KEY (`id`),
  120. KEY `mobile` (`mobile`),
  121. KEY `uid` (`uid`)
  122. ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='关联信呼企业微信平台用户';";
  123. $this->db->query($sql);
  124. }
  125. $db = m($tab);
  126. foreach($rows as $k=>$rs){
  127. $zt = '0';
  128. $toid = '0';
  129. $ors = $db->getone("`mobile`='{$rs['mobile']}'");
  130. if($ors){
  131. $zt = $ors['state'];
  132. $toid = $ors['id'];
  133. }
  134. $rows[$k]['zt'] = $zt;
  135. $rows[$k]['toid'] = $toid;
  136. $rows[$k]['mobile'] = substr($rs['mobile'],0,3).'****'.substr($rs['mobile'],-4);
  137. }
  138. return array('rows'=>$rows);
  139. }
  140. public function reloaduserAjax()
  141. {
  142. return c('rockwxqy')->getdata('userlist');
  143. }
  144. public function agentdataAjax()
  145. {
  146. $barr = c('rockwxqy')->getdata('agentlist');
  147. $rows = array();
  148. if($barr['success'])$rows = $barr['data'];
  149. $this->returnjson(array(
  150. 'totalCount'=> 0,
  151. 'rows' => $rows,
  152. 'msg' => $barr['msg']
  153. ));
  154. }
  155. public function agentgetAjax()
  156. {
  157. return c('rockqywx')->getdata('agentget', array(
  158. 'agentid' => $this->get('id')
  159. ));
  160. }
  161. public function sendmsgAjax()
  162. {
  163. $name = $this->post('name');
  164. $msg = $this->post('msg');
  165. return m('qywxplat:agent')->sendxiao($this->adminid, $name, $msg);
  166. }
  167. public function senduserAjax()
  168. {
  169. $id = (int)$this->post('id');
  170. $msg = $this->post('msg');
  171. $url = $this->rock->getouturl().'?d=we';
  172. $urs = m('admin')->getone($id);
  173. return c('rockwxqy')->sendmess($id, '测试发给:'.$urs['name'].'', $msg, $url,'', true);
  174. }
  175. public function restateAjax()
  176. {
  177. $id = (int)$this->get('id');
  178. $urs = m('admin')->getone($id);
  179. $mobile = $urs['mobile'];
  180. if(!$mobile)return returnerror('未设置手机号');
  181. $uid = $urs['id'];
  182. $dbs = m('zwxqy_user');
  183. $barr = c('rockwxqy')->getdata('userstate', array(
  184. 'mobile' => $mobile,
  185. 'user' => $urs['user'],
  186. ));
  187. if(!$barr['success']){
  188. $dbs->delete('uid='.$uid.'');
  189. return $barr;
  190. }
  191. $data = $barr['data'];
  192. $userid = $data['userid'];
  193. $agentid = $data['agentid'];
  194. $cnum = $data['cnum'];
  195. $uarr['uid'] = $uid;
  196. $uarr['mobile'] = $mobile;
  197. $uarr['userid'] = $userid;
  198. $uarr['agentid'] = $agentid;
  199. $uarr['cnum'] = $cnum;
  200. $uarr['state'] = $data['state'];
  201. $ors = $dbs->getone("`uid`='$uid'");
  202. if($ors){
  203. $dbs->update($uarr, $ors['id']);
  204. }else{
  205. $dbs->insert($uarr);
  206. }
  207. return returnsuccess($data);
  208. }
  209. public function uqingkongAjax()
  210. {
  211. m('zwxqy_user')->delete('1=1');
  212. return returnsuccess();
  213. }
  214. }
粤ICP备19079148号