UserConfirmRefundAction.class.php 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Fanwe 方维直播系统
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2011 http://www.fanwe.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: 云淡风轻(1956838968@qq.com)
  8. // +----------------------------------------------------------------------
  9. class UserConfirmRefundAction extends CommonAction{
  10. public function index()
  11. {
  12. //列表过滤器,生成查询Map对象
  13. $map = $this->_search ();
  14. $condition['is_pay'] = 1;
  15. //追加默认参数
  16. if($this->get("default_map"))
  17. $map = array_merge($map,$this->get("default_map"));
  18. $map = array_merge($map,$condition);
  19. $map = "is_pay=1 and withdrawals_type<>2";
  20. //公会无抽成模式下显示提现ljz
  21. $m_config = load_auto_cache('m_config');
  22. if($m_config['society_pattern'] == 2){
  23. $map = 'is_pay = 1';
  24. }
  25. if (method_exists ( $this, '_filter' )) {
  26. $this->_filter ( $map );
  27. }
  28. $model = D ('UserRefund');//print_r($map);exit();
  29. if (! empty ( $model )) {
  30. $this->_list ( $model, $map );
  31. }
  32. $this->display ();
  33. return;
  34. }
  35. /**
  36. * 提现确认记录
  37. */
  38. public function confirm_list(){
  39. //列表过滤器,生成查询Map对象
  40. $map = $this->_search ('UserRefund');
  41. $map['_string'] = 'is_pay = 1 or is_pay = 3 ';
  42. //追加默认参数
  43. if($this->get("default_map"))
  44. $map = array_merge($map,$this->get("default_map"));
  45. if (method_exists ( $this, '_filter' )) {
  46. $this->_filter ( $map );
  47. }
  48. //$name=$this->getActionName();
  49. $model = M ('UserRefund');
  50. if (! empty ( $model )) {
  51. $this->_list ( $model, $map );
  52. }
  53. $this->display ();
  54. return;
  55. }
  56. /**
  57. * 不允许提现
  58. */
  59. public function refund_allow(){
  60. $id=intval($_REQUEST['id']);
  61. $status=intval($_REQUEST['status']);
  62. $refund_data=M("UserRefund")->getById($id);
  63. $info=array();
  64. if($status){
  65. $info['do']='允许';
  66. }else{
  67. $info['do']='不允许';
  68. }
  69. $sql = "update ".DB_PREFIX."user set refund_ticket=refund_ticket-".$refund_data['ticket']." where id=".$refund_data['user_id'];
  70. $GLOBALS['db']->query($sql);
  71. $this->assign("info",$info);
  72. $this->assign("refund_data",$refund_data);
  73. $this->assign("status",$status);
  74. $this->display ();
  75. }
  76. /**
  77. * 确认提现
  78. */
  79. public function refund_confirm()
  80. {
  81. $id = intval($_REQUEST['id']);
  82. $refund_data = M("UserRefund")->getById($id);
  83. if (intval($refund_data['withdrawals_type']) == 1){
  84. $alipay_info = M("User")->where("id = ".$refund_data['user_id'])->field('alipay_name,alipay_account')->select();
  85. $this->assign("alipay_info",$alipay_info);
  86. }
  87. $this->assign("refund_data",$refund_data);
  88. $this->display();
  89. }
  90. /**
  91. * 批量确认提现界面
  92. */
  93. public function batch_confirm(){
  94. $id = $_REQUEST['id'];
  95. $implode_id = implode(',',(explode(',',$id)));
  96. $refund_data = $GLOBALS['db']->getAll("select * from ".DB_PREFIX."user_refund where id in($implode_id)");
  97. $this->assign("refund_data",$refund_data);
  98. $this->assign("implode_id",$implode_id);
  99. $this->display();
  100. }
  101. /**
  102. * 批量确认审核界面
  103. */
  104. public function batch_examine(){
  105. $id = $_REQUEST['id'];
  106. $implode_id = implode(',',(explode(',',$id)));
  107. $refund_data = $GLOBALS['db']->getAll("select * from ".DB_PREFIX."user_refund where id in($implode_id)");
  108. $status=intval($_REQUEST['status']);
  109. $info=array();
  110. if($status){
  111. $info['do']='允许';
  112. }else{
  113. $info['do']='不允许';
  114. }
  115. $this->assign("info",$info);
  116. $this->assign("refund_data",$refund_data);
  117. $this->assign("status",$status);
  118. $this->assign("refund_data",$refund_data);
  119. $this->assign("implode_id",$implode_id);
  120. $this->display();
  121. }
  122. /**
  123. * 批量审核
  124. */
  125. public function refund_allow_examine(){
  126. $uid = $_REQUEST['id'];
  127. $implode_id = implode(',',(explode(',',$uid)));
  128. $status=intval($_REQUEST['status']);
  129. $refund_data = $GLOBALS['db']->getAll("select * from " . DB_PREFIX . "user_refund where id in($implode_id)");
  130. foreach ($refund_data as $k => $v) {
  131. $id[$k]=$refund_data[$k]['id'];
  132. $user_id[$k] = $refund_data[$k]['user_id'];
  133. $is_pay[$k] = $refund_data[$k]['is_pay'];
  134. $reply[$k]=$refund_data[$k]['reply'];
  135. $pay_log[$k]=$refund_data[$k]['pay_log'];
  136. $ticket[$k]=$refund_data[$k]['ticket'];
  137. $partner_trade_no[$k]=$refund_data[$k]['partner_trade_no'];
  138. }
  139. if($refund_data)
  140. {
  141. // if($refund_data['is_pay']==1)
  142. // {
  143. // $this->error("已经允许提现");
  144. // }
  145. $reply = strim($_REQUEST['reply']);
  146. $m_config = load_auto_cache("m_config");//初始化手机端配置
  147. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  148. //管理员的SESSION
  149. $adm_session = es_session::get(md5(conf("AUTH_KEY")));
  150. $adm_id = intval($adm_session['adm_id']);
  151. if(in_array('已审核',$is_pay)){
  152. $this->error("存在已审核的数据,请重新勾选");
  153. }
  154. for ($i = 0; $i < count($refund_data); $i++) {
  155. if (in_array('3',$is_pay)) {
  156. $this->error("存在已提现的数据,请重新勾选");
  157. }elseif(in_array('4',$is_pay)) {
  158. $this->error("存在审核失败的数据,请重新勾选");
  159. } elseif(in_array('2',$is_pay)){
  160. $this->error("存在未允许的数据,请重新勾选");
  161. }elseif ($status == 1 &&$refund_data[$i] && $is_pay[$i] == 0) {
  162. //$refund_user = M("User")->where("id=".$refund_data['user_id']." and is_effect = 1")->find();
  163. /*fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/BaseRedisService.php');
  164. fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/UserRedisService.php');
  165. $user_redis = new UserRedisService();
  166. $refund_user = $user_redis->getRow_db($user_id,array('ticket','diamonds','refund_ticket'));*/
  167. //修改读取本地mysql 20170118
  168. $refund_user = $GLOBALS['db']->getRow("select ticket,diamonds,refund_ticket from " . DB_PREFIX . "user where id=" . $user_id[$i]);
  169. if (intval($refund_user['ticket']) - intval($refund_user['refund_ticket']) < intval($refund_data['ticket'])) {
  170. $pay_log[$i] = $m_config['ticket_name'] . "不足,不能提现";
  171. $is_pay[$i] = 4;
  172. $pay['pay_log']=$pay_log[$i];
  173. $pay['is_pay']=$is_pay[$i];
  174. $where = "id=".$id[$i];
  175. $GLOBALS['db']->autoExecute(DB_PREFIX . "user_refund", $pay, 'UPDATE', $where);
  176. $info = $m_config['ticket_name'] . "不足,不能提现";
  177. } else {
  178. //冻结用户提现印票
  179. $sql = "update " . DB_PREFIX . "user set refund_ticket=refund_ticket+" . $ticket[$i] . " where ticket >= refund_ticket + " . $ticket[$i] . " and id=" . $user_id[$i];
  180. $GLOBALS['db']->query($sql);
  181. if ($GLOBALS['db']->affected_rows()) {
  182. user_deal_to_reids(array($user_id[$i]));
  183. $is_pay[$i] = 1;
  184. $pay_log[$i] = "已审核";
  185. $info = "允许操作成功";
  186. $pay['pay_log']=$pay_log[$i];
  187. $pay['is_pay']=$is_pay[$i];
  188. $where = "id=".$id[$i];
  189. //写入用户日志
  190. $data = array();
  191. $data['ticket'] = intval($ticket[$i]);
  192. $data['log_admin_id'] = intval($adm_id);
  193. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  194. if( $GLOBALS['db']->autoExecute(DB_PREFIX . "user_refund", $pay, 'UPDATE', $where)){
  195. $log_msg = '冻结提现' . $data['ticket'] . $m_config['ticket_name'] . '成功';
  196. account_log_com($data, $user_id[$i], $log_msg, $param);
  197. save_log($user_id[$i] . $log_msg, 1);
  198. }
  199. } else {
  200. $refund_data['pay_log'] = "提现冻结失败";
  201. }
  202. }
  203. }else {
  204. $pay['is_pay'] = 2;
  205. $pay['pay_log'] = "审核不通过";
  206. $partner_trade_no = "--";
  207. $info = "拒绝提现操作成功";
  208. //写入用户日志
  209. $data = array();
  210. $data['ticket'] = intval($ticket[$i]);
  211. $data['log_admin_id'] = intval($adm_id);
  212. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  213. $log_msg = '提现' . $data['ticket'] . $m_config['ticket_name'] . ',被拒绝';
  214. $where = "id=".$id[$i];
  215. $GLOBALS['db']->autoExecute(DB_PREFIX . "user_refund", $pay, 'UPDATE', $where);
  216. account_log_com($data, $user_id[$i], $log_msg, $param);
  217. save_log($user_id[$i] . $log_msg, 0);
  218. }
  219. $GLOBALS['msg']->manage_msg('MSG_MONEY_CARRY_RESULT',$user_id[$i],$refund_data);
  220. }
  221. $this->success($info);
  222. }else{
  223. $this->error("没有提现数据");
  224. }
  225. }
  226. public function confirm_test($refund_data,$id,$ticket,$adm_id,$m_config,$user_id)
  227. {
  228. for ($k = 0; $k < count($refund_data); $k++) {
  229. if (wx_withdraw_cash($id[$k])) {
  230. //写入用户日志
  231. $data = array();
  232. $data['ticket'] = intval($ticket[$k]);
  233. $data['log_admin_id'] = intval($adm_id);
  234. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  235. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  236. $log_msg = '提现' . $ticket[$k] . $m_config['ticket_name'] . '成功';
  237. account_log_com($data, $user_id[$k], $log_msg, $param);
  238. $info = $user_id[$k] . $log_msg;
  239. save_log($info, 1);
  240. }
  241. }
  242. }
  243. /**
  244. * 批量提现
  245. */
  246. public function refund_allow_confirm()
  247. {
  248. $re_id = $_REQUEST['id'];
  249. $refund_data = $GLOBALS['db']->getAll("select * from " . DB_PREFIX . "user_refund where id in($re_id)");
  250. foreach ($refund_data as $k => $v) {
  251. $user_id[$k] = $refund_data[$k]['user_id'];
  252. $withdrawals_type[$k] = $refund_data[$k]['withdrawals_type'];
  253. $is_pay[$k] = $refund_data[$k]['is_pay'];
  254. $id[$k] = $refund_data[$k]['id'];
  255. $ticket[$k]=$refund_data[$k]['ticket'];
  256. }
  257. for ($i = 0; $i < count($refund_data); $i++) {
  258. if (in_array('3',$is_pay)) {
  259. $this->error("存在已提现的数据,请重新勾选");
  260. }elseif(in_array('0',$is_pay)){
  261. $this->error("存在未审核的数据,请重新勾选");
  262. }elseif(in_array('4',$is_pay)) {
  263. $this->error("存在审核失败的数据,请重新勾选");
  264. } elseif(in_array('2',$is_pay)){
  265. $this->error("存在未允许的数据,请重新勾选");
  266. }elseif ($refund_data[$i] && $is_pay[$i] == 1) {
  267. $m_config = load_auto_cache("m_config");//初始化手机端配置
  268. $adm_session = es_session::get(md5(conf("AUTH_KEY")));
  269. $adm_id = intval($adm_session['adm_id']);
  270. if ($withdrawals_type[$i] == 0) {
  271. define('OPEN_TEST_WX', 0);//开启微信调试 只用于微信提现调试使用
  272. $confirm_test=$this->confirm_test($refund_data,$id,$ticket,$adm_id,$m_config,$user_id);
  273. if($confirm_test) {
  274. $this->success("提现成功!");
  275. } else {
  276. for ($k = 0; $k < count($refund_data); $k++) {
  277. //付款失败解冻用户提现印票
  278. $sql = "update " . DB_PREFIX . "user set refund_ticket=refund_ticket-" . $ticket[$k]. " where id=" . $user_id[$k];
  279. $GLOBALS['db']->query($sql);
  280. if ($GLOBALS['db']->affected_rows()) {
  281. user_deal_to_reids(array($user_id[$k]));
  282. $info = M("UserRefund")->getById($id[$k]);
  283. $info['ticket']=$ticket[$k];
  284. $info['user_id']=$user_id[$k];
  285. $info['is_pay'] = 4;
  286. M("UserRefund")->save($info);
  287. //写入用户日志
  288. $data = array();
  289. $data['ticket'] = intval($ticket[$k]);
  290. $data['log_admin_id'] = intval($adm_id);
  291. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  292. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  293. $log_msg = '提现失败,解冻提现' . $data['ticket'] . $m_config['ticket_name'];
  294. save_log($user_id[$k] . $log_msg, 0);
  295. account_log_com($data, $user_id[$k], $log_msg, $param);
  296. }
  297. }
  298. //写入日志
  299. $this->success("提现失败,请重试");
  300. }
  301. } elseif ($withdrawals_type[$i] == 1) {
  302. //支付宝提现
  303. //支付成功
  304. if (intval($_REQUEST['status']) == 1) {
  305. for ($k = 0; $k < count($refund_data); $k++) {
  306. $GLOBALS['db']->query("update " . DB_PREFIX . "user_refund set pay_log='已付款',is_pay = 3,pay_time = " . get_gmtime() . " where id = " . $id[$k]);
  307. $data = array();
  308. $data['ticket'] = intval($ticket[$k]);
  309. $data['log_admin_id'] = intval($adm_id);
  310. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  311. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  312. $log_msg = '提现' . $data['ticket'] . $m_config['ticket_name'] . '成功';
  313. account_log_com($data, $user_id[$k], $log_msg, $param);
  314. $info = $user_id[$i] . $log_msg;
  315. save_log($info, 1);
  316. }
  317. $this->success("提现成功!");
  318. } else {
  319. for ($k = 0; $k < count($refund_data); $k++) {
  320. //付款失败解冻用户提现印票
  321. $sql = "update " . DB_PREFIX . "user set refund_ticket=refund_ticket-" . $ticket[$k] . " where id=" . $user_id[$k];
  322. $GLOBALS['db']->query($sql);
  323. if ($GLOBALS['db']->affected_rows()) {
  324. user_deal_to_reids(array($user_id[$k]));
  325. $info = M("UserRefund")->getById($id[$k]);
  326. $info['ticket']=$ticket[$k];
  327. $info['user_id']=$user_id[$k];
  328. $info['is_pay'] = 4;
  329. M("UserRefund")->save($info);
  330. //写入用户日志
  331. $data = array();
  332. $data['ticket'] = intval($ticket[$k]);
  333. $data['log_admin_id'] = intval($adm_id);
  334. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  335. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  336. $log_msg = '提现失败,解冻提现' . $data['ticket'] . $m_config['ticket_name'];
  337. save_log($user_id[$k] . $log_msg, 0);
  338. account_log_com($data, $user_id[$k], $log_msg, $param);
  339. }
  340. }
  341. //写入日志
  342. $this->success("提现失败,请重试");
  343. }
  344. } elseif ($withdrawals_type[$i] == 2) {//公会提现
  345. for ($k = 0; $k < count($refund_data); $k++) {
  346. $GLOBALS['db']->query("update " . DB_PREFIX . "user_refund set pay_log='已付款',is_pay = 3,pay_time = " . get_gmtime() . " where id = " . $id[$k]);
  347. $data = array();
  348. $data['ticket'] = intval($ticket[$k]);
  349. $data['log_admin_id'] = intval($adm_id);
  350. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  351. $ticket_name = $m_config['ticket_name'] != '' ? $m_config['ticket_name'] : '印票';
  352. $log_msg = '提现' . $ticket[$k] . $m_config['ticket_name'] . '成功';
  353. account_log_com($data, $user_id[$k], $log_msg, $param);
  354. $info = $user_id[$k] . $log_msg;
  355. save_log($info, 1);
  356. }
  357. $this->success("提现成功!");
  358. }
  359. //}
  360. } else {
  361. $this->error("没有提现数据");
  362. }
  363. }
  364. }
  365. /**
  366. * 确认提现执行
  367. */
  368. public function confirm()
  369. {
  370. $id = intval($_REQUEST['id']);
  371. $refund_data = M("UserRefund")->getById($id);
  372. $user_id = $refund_data['user_id'];
  373. if($refund_data['is_pay']==3)
  374. {
  375. $this->error("已经提现过");
  376. }
  377. //已审核才可以提现
  378. if($refund_data&&$refund_data['is_pay']==1)
  379. {
  380. $m_config = load_auto_cache("m_config");//初始化手机端配置
  381. /*fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/BaseRedisService.php');
  382. fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/UserRedisService.php');
  383. $user_redis = new UserRedisService();
  384. $refund_user = $user_redis->getRow_db($refund_data['user_id'],array('ticket','diamonds','refund_ticket'));*/
  385. //$sql = "select ticket,diamonds,refund_ticket from ".DB_PREFIX."user where id=".$refund_data['user_id'];
  386. //$refund_user = $GLOBALS['db']->getRow($sql,true,true);
  387. /*if(intval($refund_user['ticket'])-intval($refund_user['refund_ticket'])<intval($refund_data['ticket'])){
  388. $refund_data['pay_log'] = $m_config['ticket_name']."不足,不能提现";
  389. $refund_data['is_pay'] = 4;
  390. M("UserRefund")->save($refund_data);
  391. $this->error($m_config['ticket_name']."不足,不能提现");
  392. }else{*/
  393. //微信提现
  394. //if (wx_withdraw_cash($id)||1){
  395. //管理员的SESSION
  396. $adm_session = es_session::get(md5(conf("AUTH_KEY")));
  397. $adm_id = intval($adm_session['adm_id']);
  398. if($refund_data['withdrawals_type'] == 0){
  399. define('OPEN_TEST_WX',0);//开启微信调试 只用于微信提现调试使用
  400. if (wx_withdraw_cash($id)){
  401. //写入用户日志
  402. $data = array();
  403. $data['ticket'] = intval($refund_data['ticket']);
  404. $data['log_admin_id'] = intval($adm_id);
  405. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  406. $ticket_name = $m_config['ticket_name']!=''?$m_config['ticket_name']:'印票';
  407. $log_msg = '提现'.$data['ticket'].$m_config['ticket_name'].'成功';
  408. account_log_com($data,$refund_data['user_id'],$log_msg,$param);
  409. $info = $refund_data['user_id'].$log_msg;
  410. save_log($info,1);
  411. $this->success("提现成功!");
  412. }else{
  413. //付款失败解冻用户提现印票
  414. $sql = "update ".DB_PREFIX."user set refund_ticket=refund_ticket-".$refund_data['ticket']." where id=".$refund_data['user_id'];
  415. $GLOBALS['db']->query($sql);
  416. if($GLOBALS['db']->affected_rows()){
  417. user_deal_to_reids(array($user_id));
  418. //写入用户日志
  419. $data = array();
  420. $data['ticket'] = intval($refund_data['ticket']);
  421. $data['log_admin_id'] = intval($adm_id);
  422. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  423. $ticket_name = $m_config['ticket_name']!=''?$m_config['ticket_name']:'印票';
  424. $log_msg ='提现失败,解冻提现'.$data['ticket'].$m_config['ticket_name'];
  425. save_log($refund_data['user_id'].$log_msg,0);
  426. account_log_com($data,$user_id,$log_msg,$param);
  427. }
  428. //写入日志
  429. $this->success("提现失败,请重试");
  430. }
  431. }elseif ($refund_data['withdrawals_type'] == 1){
  432. //支付宝提现
  433. //支付成功
  434. if (intval($_REQUEST['status']) == 1){
  435. $sql ="update ".DB_PREFIX."user_refund set pay_log='已付款',is_pay = 3,pay_time = ".get_gmtime().",confirm_cash_ip='".get_client_ip()."' where id = ".$id;
  436. $GLOBALS['db']->query($sql);
  437. if($GLOBALS['db']->affected_rows()){
  438. $data = array();
  439. $data['ticket'] = intval($refund_data['ticket']);
  440. $data['log_admin_id'] = intval($adm_id);
  441. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  442. $ticket_name = $m_config['ticket_name']!=''?$m_config['ticket_name']:'印票';
  443. $log_msg = '提现'.$data['ticket'].$m_config['ticket_name'].'成功';
  444. account_log_com($data,$refund_data['user_id'],$log_msg,$param);
  445. $info = $refund_data['user_id'].$log_msg;
  446. save_log($info,1);
  447. $this->success("提现成功!");
  448. }else{
  449. $this->error("确认提现失败!");
  450. }
  451. }else{
  452. //付款失败解冻用户提现印票
  453. $sql = "update ".DB_PREFIX."user set refund_ticket=refund_ticket-".$refund_data['ticket']." where id=".$refund_data['user_id'];
  454. $GLOBALS['db']->query($sql);
  455. if($GLOBALS['db']->affected_rows()){
  456. user_deal_to_reids(array($user_id));
  457. $refund_data['is_pay'] = 4;
  458. $refund_data['confirm_cash_ip'] = get_client_ip();
  459. M("UserRefund")->save($refund_data);
  460. //写入用户日志
  461. $data = array();
  462. $data['ticket'] = intval($refund_data['ticket']);
  463. $data['log_admin_id'] = intval($adm_id);
  464. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  465. $ticket_name = $m_config['ticket_name']!=''?$m_config['ticket_name']:'印票';
  466. $log_msg ='提现失败,解冻提现'.$data['ticket'].$m_config['ticket_name'];
  467. save_log($refund_data['user_id'].$log_msg,0);
  468. account_log_com($data,$user_id,$log_msg,$param);
  469. }
  470. //写入日志
  471. $this->success("提现失败,请重试");
  472. }
  473. }elseif ($refund_data['withdrawals_type'] == 2){//公会提现
  474. $GLOBALS['db']->query("update ".DB_PREFIX."user_refund set pay_log='已付款',is_pay = 3,pay_time = ".get_gmtime().",confirm_cash_ip='".get_client_ip()."' where id = ".$id);
  475. $data = array();
  476. $data['ticket'] = intval($refund_data['ticket']);
  477. $data['log_admin_id'] = intval($adm_id);
  478. $param['type'] = 1;//类型 0表示充值 1表示提现 2赠送道具 3 兑换印票
  479. $ticket_name = $m_config['ticket_name']!=''?$m_config['ticket_name']:'印票';
  480. $log_msg = '提现'.$data['ticket'].$m_config['ticket_name'].'成功';
  481. account_log_com($data,$refund_data['user_id'],$log_msg,$param);
  482. $info = $refund_data['user_id'].$log_msg;
  483. save_log($info,1);
  484. $this->success("提现成功!");
  485. }
  486. //}
  487. }else{
  488. $this->error("没有提现数据");
  489. }
  490. }
  491. /**
  492. * 彻底删除
  493. */
  494. public function delete() {
  495. //彻底删除指定记录
  496. $ajax = intval($_REQUEST['ajax']);
  497. $id = $_REQUEST ['id'];
  498. if (isset ( $id )) {
  499. $condition = array ('id' => array ('in', explode ( ',', $id ) ) );
  500. $rel_data = M("UserRefund")->where($condition)->findAll();
  501. $list = M("UserRefund")->where ( $condition )->delete();
  502. foreach($rel_data as $data)
  503. {
  504. $info[] = "[id:".$data['id'].",money:".$data['money']."]";
  505. }
  506. if($info) $info = implode(",",$info);
  507. if ($list!==false) {
  508. save_log($info."成功删除",1);
  509. $this->success ("成功删除",$ajax);
  510. } else {
  511. save_log($info."删除出错",0);
  512. $this->error ("删除出错",$ajax);
  513. }
  514. } else {
  515. $this->error (l("INVALID_OPERATION"),$ajax);
  516. }
  517. }
  518. /**
  519. * 导出电子表
  520. */
  521. public function export_csv($page = 1)
  522. {
  523. $pagesize = 10;
  524. set_time_limit(0);
  525. $limit = (($page - 1)*intval($pagesize)).",".(intval($pagesize));
  526. $where = " 1=1 ";
  527. //定义条件
  528. if(trim($_REQUEST['user_id'])!='')
  529. {
  530. $where.= " and ur.user_id = ".intval($_REQUEST['user_id']);
  531. }
  532. if(trim($_REQUEST['is_pay'])!='')
  533. {
  534. $where.= " and ur.is_pay = ".intval($_REQUEST['is_pay']);
  535. }
  536. $sql ="select u.user_name as user_name,u.id as user_id,u.email as email,u.ex_real_name as ex_real_name,u.ex_account_bank as ex_account_bank,u.ex_account_info as ex_account_info,u.ex_contact as ex_contact,u.mobile as mobile, ur.money as money,ur.user_bank_id from ".DB_PREFIX."user as u LEFT JOIN ".DB_PREFIX."user_refund as ur on ur.user_id = u.id where ".$where." limit ".$limit;
  537. $list=$GLOBALS['db']->getAll($sql);
  538. //var_dump($_REQUEST);exit;
  539. if($list)
  540. {
  541. register_shutdown_function(array(&$this, 'export_csv'), $page+1);
  542. $refund_value = array( 'user_name'=>'""', 'email'=>'""', 'bank_info'=>'""','mobile'=>'""','money'=>'""');
  543. if($page == 1)
  544. {
  545. $content = iconv("utf-8","gbk","会员名,邮箱,银行账户,手机,提现金额");
  546. $content = $content . "\n";
  547. }
  548. foreach($list as $k=>$v)
  549. {
  550. $refund_value['user_name'] = '"' . iconv('utf-8','gbk',$list[$k]['user_name']) . '"';
  551. $refundr_value['email'] = '"' . iconv('utf-8','gbk',$list[$k]['email']) . '"';
  552. // $refund_value['ex_real_name'] = '"' . iconv('utf-8','gbk',$list[$k]['ex_real_name']) . '"';
  553. // $refund_value['ex_account_bank'] = '"' . iconv('utf-8','gbk',$list[$k]['ex_account_bank']) . '"';
  554. // $refund_value['ex_account_info'] = '"' . iconv('utf-8','gbk',$list[$k]['ex_account_info']) . '"';
  555. // $refund_value['ex_contact'] = '"' . iconv('utf-8','gbk',$list[$k]['ex_contact']) . '"';
  556. $refund_value['bank_info'] = '"' . iconv('utf-8','gbk',get_carray_info($list[$k]['user_bank_id'],$list[$k]['user_id'])) . '"';
  557. $refund_value['mobile'] = '"' . iconv('utf-8','gbk',$list[$k]['mobile']) . '"';
  558. $refund_value['money'] = '"' . iconv('utf-8','gbk',$list[$k]['money']) . '"';
  559. $content .= implode(",", $refund_value) . "\n";
  560. }
  561. //
  562. header("Content-Disposition: attachment; filename=refund_list.csv");
  563. echo $content ;
  564. }
  565. else
  566. {
  567. if($page==1)
  568. $this->error(L("NO_RESULT"));
  569. }
  570. }
  571. }
  572. ?>