/**
  * ajax询价处理
  */
 public function getAjaxInquiryProcessing()
 {
     $column_index = ["content", "amswer", "member_truename", "product_id", "product_title", "product_standard", "price", "addtime"];
     $column_search = ["message.content", "message.answer", "member.truename", "product.itemid", "product.title", "product.standard", "product.price", "message.addtime"];
     for ($i = 0; $i < count($column_index); $i++) {
         $field[] = " {$column_search[$i]} AS {$column_index[$i]} ";
     }
     $field = Tools::arr2str($field);
     $draw = $_GET['draw'];
     $start = $_GET['start'];
     $limit = $_GET['length'];
     $order = $_GET['order'];
     $order = "{$column_index[$order[0]['column']]} {$order[0]['dir']}";
     if ($_GET['search']['value'] != '') {
         $search_time = Tools::str2arr($_GET['search']['value']);
         $this->month_start = strtotime($search_time[0] . "-01 00:00:00");
         $this->month_end = strtotime($search_time[1] . "-01 23:59:59");
         $y[] = " message.addtime > {$this->month_start} AND  message.addtime < {$this->month_end} ";
     }
     foreach ($_GET['columns'] as $k => $v) {
         if ($v['search']['value'] != '') {
             if ($column_search[$v['data']] == "addtime") {
             } else {
                 $y[] = "{$column_search[$v['data']]} LIKE '%{$v[search][value]}%'";
             }
         }
     }
     $search = '';
     if (count($y) > 0) {
         $search = " AND " . Tools::arr2str($y, " AND ");
     }
     $sql = "SELECT COUNT(message.itemid) AS total\n            FROM __MALL_message AS message\n            INNER JOIN __MALL_sell_5 AS product ON message.cpid = product.itemid\n            INNER JOIN __MALL_member AS member ON message.msgbelong = member.username\n            WHERE message.is_xunjia = 1 {$search}";
     $z = $this->MallDb->list_query($sql);
     $total = $z[0]['total'];
     $sql = "SELECT  {$field}\n            FROM __MALL_message AS message\n            INNER JOIN __MALL_sell_5 AS product ON message.cpid = product.itemid\n            INNER JOIN __MALL_member AS member ON message.msgbelong = member.username\n            WHERE message.is_xunjia = 1 {$search}\n            ORDER BY {$order}\n            LIMIT {$start}, {$limit}";
     $data = $this->MallDb->list_query($sql);
     foreach ($data as $k => $v) {
         foreach ($column_index as $key => $value) {
             if ($value == 'addtime') {
                 $x[$k][] = date("Y-m-d H:i", $v[$value]);
             } else {
                 $x[$k][] = $v[$value];
             }
         }
     }
     //获取Datatables发送的参数 必要
     $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
     $x = json_encode($show);
     echo $x;
 }
 private function getTotalData()
 {
     S('TotalData', null);
     if (!S('TotalData')) {
         $sql = "SELECT SUM(trade.amount) AS tamount, address.areaid AS areaid, area.arrparentid\n                FROM __MALL_finance_trade AS trade\n                INNER JOIN __MALL_address AS address ON trade.addressid = address.itemid\n                INNER JOIN __MALL_area AS area ON address.areaid = area.areaid\n                WHERE trade.status IN(2,3,4)\n                GROUP BY address.areaid";
         $data = $this->MallDb->list_query($sql);
         foreach ($data as $k => $v) {
             $v['arrparentid'] = Tools::str2arr($v['arrparentid']);
             if (count($v['arrparentid']) == 2) {
                 $data_new[$v['areaid']]['areaid'] = $v['areaid'];
                 $data_new[$v['areaid']]['topid'] = $v['arrparentid'][1];
                 $data_new[$v['areaid']]['parentid'] = $v['areaid'];
                 $data_new[$v['areaid']]['tamount'] = $v['tamount'];
             } else {
                 $data_new[$v['areaid']]['areaid'] = $v['areaid'];
                 $data_new[$v['areaid']]['topid'] = $v['arrparentid'][1];
                 $data_new[$v['areaid']]['parentid'] = $v['arrparentid'][2];
                 $data_new[$v['areaid']]['tamount'] = $v['tamount'];
             }
         }
         unset($data);
         S('TotalData', $data_new);
     }
 }
 /**
  * 产品列表
  */
 public function productList()
 {
     $day_search = I("get.search");
     $day_search = Tools::str2arr($day_search['value']);
     $this->day_start = strtotime($day_search[0] . ' 00:00:00');
     //        $this->day_start = strtotime('2016-01-01 00:00:00');
     $this->day_end = strtotime($day_search[1] . ' 00:00:00');
     //        $this->day_end = strtotime('2016-05-01 00:00:00');
     // 字段
     $column = [['select' => 'product.itemid', 'as' => 'product_id', 'show_name' => '产品itemid'], ['select' => 'product.title', 'as' => 'title', 'show_name' => '产品标题'], ['select' => 'product.standard', 'as' => 'standard', 'show_name' => '产品规格'], ['select' => 'product.cj', 'as' => 'cj', 'show_name' => '厂家'], ['select' => 'product.company', 'as' => 'company', 'show_name' => '公司'], ['select' => 'product.price', 'as' => 'price', 'show_name' => '产品价格'], ['select' => 'product.yuanprice', 'as' => 'yuanprice', 'show_name' => '原价'], ['select' => 'product.activeid', 'as' => 'activeid', 'show_name' => '活动id'], ['select' => 'product.actprice', 'as' => 'actprice', 'show_name' => '活动价格'], ['select' => 'product.menshiid', 'as' => 'menshiid', 'show_name' => '门市id'], ['select' => 'product.menshiprice', 'as' => 'menshiprice', 'show_name' => '门市价格'], ['select' => 'product.daily_indulgence_yuanprice', 'as' => 'daily_indulgence_yuanprice', 'show_name' => '每日特价原价'], ['select' => 'product.daily_indulgence_price', 'as' => 'daily_indulgence_price', 'show_name' => '每日特价'], ['select' => 'product.buytimes', 'as' => 'buytimes', 'show_name' => '购买次数'], ['select' => 'product.status', 'as' => 'status', 'show_name' => '状态']];
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = " product.addtime > {$this->day_start} AND product.addtime < {$this->day_end} ";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $_sql = "SELECT {$field} FROM __MALL_sell_5 AS product\n                WHERE {$search}\n                ORDER BY {$order}";
         $sql = "SELECT COUNT(x.product_id) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         //            Tools::_vp($this->MallDb->getSql($sql),0,2);
         $data = $this->MallDb->list_query($sql);
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         $sql = "SELECT trade.* FROM __MALL_finance_trade AS trade\n            LEFT JOIN __MALL_sell_5 AS product ON trade.p_id = product.itemid\n            LIMIT 0,10";
         $orderList = $this->MallDb->list_query($sql);
         $this->assign(['column' => $column, 'orderList' => $orderList]);
         $this->display();
     }
 }
 /**
  * 合并订单列表
  */
 public function tradeOrderList()
 {
     $day_search = I("get.search");
     $day_search = Tools::str2arr($day_search['value']);
     $this->day_start = strtotime($day_search[0] . ' 00:00:00');
     $this->day_end = strtotime($day_search[1] . ' 23:59:59');
     // 字段
     $column = [['select' => 'trade.itemid', 'as' => 'trade_id', 'show_name' => 'itemid'], ['select' => 'trade.product_id', 'as' => 'product_id', 'show_name' => '产品编号'], ['select' => 'trade.ordercode', 'as' => 'ordercode', 'show_name' => '订单编号'], ['select' => 'trade.buyer_name', 'as' => 'buyer_name', 'show_name' => '买家姓名'], ['select' => 'trade.total', 'as' => 'total', 'show_name' => '数量'], ['select' => 'trade.amount', 'as' => 'amount', 'show_name' => '总额'], ['select' => 'trade.buyer', 'as' => 'buyer', 'show_name' => '买家']];
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = " trade.addtime > {$this->day_start} AND trade.addtime < {$this->day_end} ";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $_sql = "SELECT {$field} FROM __MALL_finance_trade_orders AS trade\n                WHERE {$search}\n                ORDER BY {$order}";
         $sql = "SELECT COUNT(*) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         //            Tools::_vp($this->MallDb->getSql($sql),0,2);
         $data = $this->MallDb->list_query($sql);
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         $this->assign(['column' => $column]);
         $this->display();
     }
 }
 public function memberList()
 {
     $day_search = I("get.search");
     $day_search = Tools::str2arr($day_search['value']);
     $this->day_start = strtotime($day_search[0] . ' 00:00:00');
     $this->day_end = strtotime($day_search[1] . ' 23:59:59');
     // 字段
     $column = [['select' => 'member.userid', 'as' => 'userid', 'show_name' => '用户id'], ['select' => 'member.username', 'as' => 'username', 'show_name' => '账号'], ['select' => 'member.truename', 'as' => 'truename', 'show_name' => '姓名'], ['select' => 'member.topagentid', 'as' => 'agent_id', 'show_name' => '代理商id'], ['select' => 'member.mobile', 'as' => 'mobile', 'show_name' => '手机'], ['select' => 'member_trade.trade_count', 'as' => 'trade_count', 'show_name' => '订单数'], ['select' => 'member_trade.trade_total', 'as' => 'trade_total', 'show_name' => '订单产品数'], ['select' => 'member_trade.amount', 'as' => 'amount', 'show_name' => '订单总额']];
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = " member.regtime > {$this->day_start} AND member.regtime < {$this->day_end}";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $_sql = "SELECT {$field} FROM (SELECT userid, username, mobile, topagentid, regtime, truename FROM __MALL_member WHERE regtime > {$this->day_start} AND regtime < {$this->day_end} GROUP BY mobile) AS member\n                LEFT JOIN (SELECT buyer, COUNT(itemid) AS trade_count, SUM(total) AS trade_total, SUM(amount) AS amount FROM __MALL_finance_trade WHERE addtime > {$this->day_start} AND addtime < {$this->day_end} AND status IN(2, 3, 4) GROUP BY buyer) AS member_trade ON member.username = member_trade.buyer\n                WHERE {$search}\n                ORDER BY {$order}";
         $sql = "SELECT COUNT(*) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         //            Tools::_vp($this->MallDb->getSql($sql),0,2);
         $data = $this->MallDb->list_query($sql);
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         $sql = "SELECT trade.* FROM __MALL_finance_trade AS trade\n            LEFT JOIN __MALL_sell_5 AS product ON trade.p_id = product.itemid\n            LIMIT 0,10";
         $orderList = $this->MallDb->list_query($sql);
         $this->assign(['column' => $column, 'orderList' => $orderList]);
         $this->display();
     }
 }