orders.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace WY\app\controller\mobile;
  3. use WY\app\libs\Controller;
  4. use WY\app\model\Pushorder;
  5. if (!defined('WY_ROOT')) {
  6. exit;
  7. }
  8. error_reporting(0);
  9. class orders extends CheckUser
  10. {
  11. public function index()
  12. {
  13. $cons = 'userid=? and is_state<>?';
  14. $consArr = array($_SESSION['login_userid'], 2);
  15. $is_state = $this->req->get('is_state');
  16. $is_state = isset($_GET['is_state']) ? $is_state : -1;
  17. $sdpayno = $this->req->get('sdpayno');
  18. $sdorderno = $this->req->get('sdorderno');
  19. $fdate = $this->req->get('fdate');
  20. $tdate = $this->req->get('tdate');
  21. $accid = $this->req->get('accid');
  22. $fdate = isset($_GET['fdate']) ? $fdate : date('Y-m-d');
  23. $tdate = isset($_GET['tdate']) ? $tdate : date('Y-m-d');
  24. if ($is_state >= 0) {
  25. $cons .= $cons ? ' and ' : '';
  26. $cons .= 'is_state=?';
  27. $consArr[] = $is_state;
  28. }
  29. if ($sdpayno) {
  30. $cons .= $cons ? ' and ' : '';
  31. $cons .= 'orderid like ?';
  32. $consArr[] = '%' . $sdpayno . '%';
  33. }
  34. if ($sdorderno) {
  35. $cons .= $cons ? ' and ' : '';
  36. $cons .= 'sdorderno like ?';
  37. $consArr[] = '%' . $sdorderno . '%';
  38. }
  39. if ($fdate) {
  40. $cons .= $cons ? ' and ' : '';
  41. $cons .= 'addtime>=?';
  42. $consArr[] = strtotime($fdate);
  43. }
  44. if ($tdate) {
  45. $cons .= $cons ? ' and ' : '';
  46. $cons .= 'addtime<=?';
  47. $consArr[] = strtotime($tdate . ' 23:59:59');
  48. }
  49. if ($accid) {
  50. $cons .= $cons ? ' and ' : '';
  51. $cons .= 'channelid=?';
  52. $consArr[] = $accid;
  53. }
  54. $where = $cons ? array('fields' => $cons, 'values' => $consArr) : array();
  55. $page = $this->req->get('p');
  56. $page = $page ? intval($page) : 1;
  57. $pagesize = 20;
  58. $lists = $count = array();
  59. if ($totalsize = $this->model()->select()->from('orders')->where($where)->count()) {
  60. $totalpage = ceil($totalsize / $pagesize);
  61. $page = $page > $totalpage ? $totalpage : $page;
  62. $offset = ($page - 1) * $pagesize;
  63. $lists = $this->model()->select()->from('orders')->limit($pagesize)->offset($offset)->orderby('id desc')->where($where)->fetchAll();
  64. $total_orders = $this->model()->from('orders a')->where(array('fields' => $cons, 'values' => $consArr))->count();
  65. $total_money = $this->model()->select(array('money' => 'a.total_fee'))->from('orders a')->where(array('fields' => $cons, 'values' => $consArr))->sum();
  66. $cons2 = $cons . ' and a.is_state=?';
  67. $consArr2 = array_merge($consArr, array(1));
  68. $total_success_orders = $this->model()->from('orders a')->where(array('fields' => $cons2, 'values' => $consArr2))->count();
  69. $total_success_money = $this->model()->select(array('money' => 'a.realmoney'))->from('orders a')->where(array('fields' => $cons2, 'values' => $consArr2))->sum();
  70. $total_income_user = $this->model()->select(array('money' => 'a.realmoney*a.uprice'))->from('orders a')->where(array('fields' => $cons2, 'values' => $consArr2))->sum();
  71. }
  72. $pagelist = $this->page->put(array('page' => $page, 'pagesize' => $pagesize, 'totalsize' => $totalsize, 'url' => '?is_state=' . $is_state . '&accid=' . $accid . '&sdpayno=' . $sdpayno . '&sdorderno=' . $sdorderno . '&fdate=' . $fdate . '&tdate=' . $tdate . '&p='));
  73. $acc = $this->model()->select()->from('acc')->fetchAll();
  74. $data = array('title' => '交易订单', 'lists' => $lists, 'count' => array('total_orders' => $total_orders, 'total_money' => $total_money['money'], 'success_orders' => $total_success_orders, 'success_money' => $total_success_money['money'], 'income_user' => $total_income_user['money']), 'pagelist' => $pagelist, 'search' => array('is_state' => $is_state, 'sdpayno' => $sdpayno, 'sdorderno' => $sdorderno, 'fdate' => $fdate, 'tdate' => $tdate, 'accid' => $accid), 'acc' => $acc);
  75. $this->put('orders.php', $data);
  76. }
  77. public function refresh()
  78. {
  79. $orderid = $this->req->post('sdpayno');
  80. $push = new Pushorder($orderid);
  81. $push->notify();
  82. $orders = $this->model()->select('id')->from('orders')->where(array('fields' => 'orderid=?', 'values' => array($orderid)))->fetchRow();
  83. $ordernotify = $this->model()->select('retmsg')->from('ordernotify')->where(array('fields' => 'orid=?', 'values' => array($orders['id'])))->fetchRow();
  84. echo $ordernotify['retmsg'];
  85. }
  86. }