txlist.inc.php 5.8 KB

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