ordersua.php 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace WY\app\controller\derpay;
  3. use WY\app\libs\Controller;
  4. if (!defined('WY_ROOT')) {
  5. exit;
  6. }
  7. class ordersua extends CheckAdmin
  8. {
  9. public function index()
  10. {
  11. $kw = $this->req->get('kw');
  12. $fdate = $this->req->get('fdate');
  13. $tdate = $this->req->get('tdate');
  14. $fdate = isset($_GET['fdate']) ? $fdate : date('Y-m-d');
  15. $tdate = isset($_GET['tdate']) ? $tdate : date('Y-m-d');
  16. $superid = $this->req->get('superid');
  17. $sort = $this->req->get('sort');
  18. $by = $this->req->get('by');
  19. $orderby = 'userid desc';
  20. if ($by) {
  21. $orderby = $sort ? $by . ' desc' : $by . ' asc';
  22. }
  23. $cons = '';
  24. $consOR = '';
  25. $consArr = array();
  26. if ($superid) {
  27. $cons .= $cons ? ' and ' : '';
  28. $cons .= 'agentid=?';
  29. $consArr[] = $superid;
  30. }
  31. if ($kw) {
  32. $user = $this->model()->select('id')->from('users')->where(array('fields' => 'username = ?', 'values' => array($kw)))->fetchRow();
  33. if ($user) {
  34. $consOR .= $consOR ? ' or ' : '';
  35. $consOR .= 'userid=?';
  36. $consArr[] = $user['id'];
  37. }
  38. }
  39. if ($kw) {
  40. $consOR .= $consOR ? ' or ' : '';
  41. $consOR .= 'userid = ?';
  42. $consArr[] = $kw;
  43. }
  44. if ($consOR) {
  45. $cons .= $cons ? ' and ' : '';
  46. $cons .= '(' . $consOR . ')';
  47. }
  48. if ($fdate) {
  49. $cons .= $cons ? ' and ' : '';
  50. $cons .= 'addtime>=?';
  51. $consArr[] = strtotime($fdate);
  52. }
  53. if ($tdate) {
  54. $cons .= $cons ? ' and ' : '';
  55. $cons .= 'addtime<=?';
  56. $consArr[] = strtotime($tdate . ' 23:59:59');
  57. }
  58. $page = $this->req->get('p');
  59. $page = $page ? $page : 1;
  60. $pagesize = 20;
  61. $data = $this->model()->select('userid')->from('orders')->groupby('userid')->where(array('fields' => $cons, 'values' => $consArr))->fetchAll();
  62. $totalsize = count($data);
  63. $lists = $total_count = array();
  64. if ($totalsize) {
  65. $totalpage = ceil($totalsize / $pagesize);
  66. $page = $page > $totalpage ? $totalpage : $page;
  67. $offset = ($page - 1) * $pagesize;
  68. $lists = $this->model()->select('userid,sum(total_fee) as total_fee,count(userid) as total_orders,sum(realmoney*uprice) as total_income,sum((wprice-IF(gprice>0,gprice,uprice))*realmoney) as pt_income')->from('orders')->offset($offset)->limit($pagesize)->groupby('userid')->orderby($orderby)->where(array('fields' => $cons, 'values' => $consArr))->fetchAll();
  69. $total_count = $this->model()->select('userid,sum(total_fee) as total_fee,count(userid) as total_orders,sum(realmoney*uprice) as total_income,sum((wprice-IF(gprice>0,gprice,uprice))*realmoney) as pt_income')->from('orders')->groupby('userid')->orderby($orderby)->where(array('fields' => $cons, 'values' => $consArr))->fetchAll();
  70. }
  71. $pagelist = $this->page->put(array('page' => $page, 'pagesize' => $pagesize, 'totalsize' => $totalsize, 'url' => '?kw=' . $kw . '&sort=' . $sort . '&by=' . $by . '&fdate=' . $fdate . '&tdate=' . $tdate . '&p='));
  72. $data = array('title' => '用户列表', 'lists' => $lists, 'total_count' => $total_count, 'pagelist' => $pagelist, 'search' => array('kw' => $kw, 'fdate' => $fdate, 'tdate' => $tdate), 'by' => $by, 'sort' => $sort);
  73. $this->put('ordersua.php', $data);
  74. }
  75. }