/** * 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(); } }