fxtx.inc.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. global $_GPC, $_W;
  3. $GLOBALS['frames'] = $this->getMainMenu();
  4. $operation = !empty($_GPC['op']) ? $_GPC['op'] : 'display';
  5. $type=empty($_GPC['type']) ? 'wait' :$_GPC['type'];
  6. $state=empty($_GPC['state']) ? '1' :$_GPC['state'];
  7. $pageindex = max(1, intval($_GPC['page']));
  8. $pagesize=10;
  9. $where=' WHERE uniacid=:uniacid';
  10. $data[':uniacid']=$_W['uniacid'];
  11. if(checksubmit('submit')){
  12. $op=$_GPC['keywords'];
  13. $where.=" and user_name LIKE concat('%', :name,'%') ";
  14. $data[':name']=$op;
  15. $type='all';
  16. }
  17. if($type=='all'){
  18. $sql="SELECT * FROM ".tablename('zhtc_commission_withdrawal') ."".$where." ORDER BY time DESC";
  19. $total=pdo_fetchcolumn("SELECT count(*) FROM ".tablename('zhtc_commission_withdrawal') ."".$where." ORDER BY time DESC",$data);
  20. }else{
  21. $where.= " and state=$state";
  22. $sql="SELECT * FROM ".tablename('zhtc_commission_withdrawal')."". $where." ORDER BY time DESC";
  23. $data[':uniacid']=$_W['uniacid'];
  24. $total=pdo_fetchcolumn("SELECT count(*) FROM ".tablename('zhtc_commission_withdrawal') ."".$where." ORDER BY time DESC",$data);
  25. }
  26. $list=pdo_fetchall( $sql,$data);
  27. $select_sql =$sql." LIMIT " .($pageindex - 1) * $pagesize.",".$pagesize;
  28. $list=pdo_fetchall($select_sql,$data);
  29. $pager = pagination($total, $pageindex, $pagesize);
  30. if($operation=='adopt'){//审核通过
  31. $id=$_GPC['id'];
  32. $list=pdo_get('zhtc_commission_withdrawal',array('id'=>$_GPC['id']));
  33. $user=pdo_get('zhtc_user',array('id'=>$list['user_id']));
  34. $res=pdo_update('zhtc_commission_withdrawal',array('state'=>2,'sh_time'=>time()),array('id'=>$id));
  35. if($res){
  36. message('审核成功',$this->createWebUrl('fxtx',array()),'success');
  37. }else{
  38. message('审核失败','','error');
  39. }
  40. }
  41. if($operation=='adopt2'){
  42. $id=$_GPC['id'];
  43. $list=pdo_get('zhtc_commission_withdrawal',array('id'=>$_GPC['id']));
  44. $user=pdo_get('zhtc_user',array('id'=>$list['user_id']));
  45. ////////////////打款//////////////////////
  46. function arraytoxml($data){
  47. $str='<xml>';
  48. foreach($data as $k=>$v) {
  49. $str.='<'.$k.'>'.$v.'</'.$k.'>';
  50. }
  51. $str.='</xml>';
  52. return $str;
  53. }
  54. function xmltoarray($xml) {
  55. //禁止引用外部xml实体
  56. libxml_disable_entity_loader(true);
  57. $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
  58. $val = json_decode(json_encode($xmlstring),true);
  59. return $val;
  60. }
  61. function curl($param="",$url) {
  62. global $_GPC, $_W;
  63. $postUrl = $url;
  64. $curlPost = $param;
  65. $ch = curl_init(); //初始化curl
  66. curl_setopt($ch, CURLOPT_URL,$postUrl); //抓取指定网页
  67. curl_setopt($ch, CURLOPT_HEADER, 0); //设置header
  68. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上
  69. curl_setopt($ch, CURLOPT_POST, 1); //post提交方式
  70. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); // 增加 HTTP Header(头)里的字段
  71. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 终止从服务端进行验证
  72. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  73. curl_setopt($ch,CURLOPT_SSLCERT,IA_ROOT . "/addons/zh_tcwq/cert/".'apiclient_cert_' . $_W['uniacid'] . '.pem'); //这个是证书的位置绝对路径
  74. curl_setopt($ch,CURLOPT_SSLKEY,IA_ROOT . "/addons/zh_tcwq/cert/".'apiclient_key_' . $_W['uniacid'] . '.pem'); //这个也是证书的位置绝对路径
  75. $data = curl_exec($ch); //运行curl
  76. curl_close($ch);
  77. return $data;
  78. }
  79. $system=pdo_get('zhtc_system',array('uniacid'=>$_W['uniacid']));
  80. $client_ip=$system['client_ip'];
  81. if(empty($client_ip)){
  82. $client_ip=$_SERVER['SERVER_ADDR'];
  83. }
  84. $data=array(
  85. 'mch_appid'=>$system['appid'],//商户账号appid
  86. 'mchid'=>$system['mchid'],//商户号
  87. 'nonce_str'=>rand(1111111111,9999999999),//随机字符串
  88. 'partner_trade_no'=>time().rand(11111,99999),//商户订单号
  89. 'openid'=>$user['openid'],//用户openid
  90. 'check_name'=>'NO_CHECK',//校验用户姓名选项,
  91. 're_user_name'=>$list['user_name'],//收款用户姓名
  92. 'amount'=>$list['sj_cost']*100,//金额
  93. 'desc'=>'提现打款',//企业付款描述信息
  94. 'spbill_create_ip'=>$client_ip,//Ip地址
  95. );
  96. $key=$system['wxkey'];///这个就是个API密码。32位的。。随便MD5一下就可以了
  97. // $key=md5($key);
  98. $data=array_filter($data);
  99. ksort($data);
  100. $str='';
  101. foreach($data as $k=>$v) {
  102. $str.=$k.'='.$v.'&';
  103. }
  104. $str.='key='.$key;
  105. $data['sign']=md5($str);
  106. $xml=arraytoxml($data);
  107. $url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
  108. $res=curl($xml,$url);
  109. $return=xmltoarray($res);
  110. if($return['result_code']=='SUCCESS'){
  111. pdo_update('zhtc_commission_withdrawal',array('state'=>2,'sh_time'=>time()),array('id'=>$id));
  112. message('审核成功',$this->createWebUrl('fxtx',array()),'success');
  113. }else{
  114. if($return['err_code_des']){
  115. $message=$return['err_code_des'];
  116. }else{
  117. $message='请检查证书是否上传正确!';
  118. }
  119. message($return['err_code_des'],'','error');
  120. }
  121. // print_r($return);
  122. ////////////////打款//////////////////////
  123. }
  124. if($operation=='reject'){
  125. $id=$_GPC['id'];
  126. $list=pdo_get('zhtc_commission_withdrawal',array('id'=>$id));
  127. $res=pdo_update('zhtc_commission_withdrawal',array('state'=>3,'sh_time'=>time()),array('id'=>$id));
  128. if($res){
  129. pdo_update('zhtc_user',array('commission +='=>$list['tx_cost']),array('id'=>$list['user_id']));
  130. message('拒绝成功',$this->createWebUrl('fxtx',array()),'success');
  131. }else{
  132. message('拒绝失败','','error');
  133. }
  134. }
  135. if($operation=='delete'){
  136. $id=$_GPC['id'];
  137. $res=pdo_delete('zhtc_commission_withdrawal',array('id'=>$id));
  138. if($res){
  139. message('删除成功',$this->createWebUrl('fxtx',array()),'success');
  140. }else{
  141. message('删除失败','','error');
  142. }
  143. }
  144. include $this->template('web/fxtx');