message('错误的请求', null, 2); } foreach($data_list as $k=>$v){ $where = array(); $data = array(); $where['code'] = $k; $data['value'] = $v; $this->model->table('drp_config')->data($data)->where($where)->update(); } $this->redirect(U('config')); } $config = $this->model->table('drp_config')->order('sort_order ASC')->select(); $this->assign('list', $config); $this->display('admin_config'); } /** * 分销商管理 */ public function actionShop(){ $where = ""; if(IS_POST){ $shop_name = I('post.shop_name'); $real_name = I('post.real_name'); $mobile = I('post.mobile'); $user_name = I('post.user_name'); if(!empty($shop_name)){ $where .= " AND s.shop_name like '%".$shop_name."%'"; } if(!empty($real_name)){ $where .= " AND s.real_name like '%".$real_name."%'"; } if(!empty($mobile)){ $where .= " AND s.mobile like '%".$mobile."%'"; } if(!empty($user_name)){ $where .= " AND u.user_name like '%".$user_name."%'"; } } $filter['page'] = '{page}'; $offset = $this->pageLimit(U('shop', $filter), 10); $sql_count = "SELECT count(*) as count FROM {pre}drp_shop s LEFT JOIN {pre}users u ON s.user_id = u.user_id WHERE 1 ".$where." ORDER BY create_time DESC"; $total = $this->model->query($sql_count); $this->assign('page', $this->pageShow($total[0]['count'])); $sql = "SELECT s.*, u.user_name FROM {pre}drp_shop s LEFT JOIN {pre}users u ON s.user_id = u.user_id WHERE 1 ".$where." ORDER BY create_time DESC LIMIT ".$offset; $list = $this->model->query($sql); $this->assign('list', $list); $this->display('admin_shop'); } /** * 改变分销商状态 */ public function actionSetShop(){ $id = I('get.id', 0, 'intval'); if(empty($id)){ $this->message('请选择店铺', NULL, 2); } if(isset($_GET['audit'])){ $data['audit'] = I('get.audit', 1, 'intval'); } if(isset($_GET['status'])){ $data['status'] = I('get.status', 0, 'intval'); } if(!empty($data)){ $this->model->table('drp_shop')->data($data)->where(array('id'=>$id))->update(); } $this->redirect(U('shop')); } /** * 导出分销商 */ public function actionExportShop(){ if(IS_POST){ $starttime = I('post.starttime', '', 'strtotime'); $endtime = I('post.endtime', '', 'strtotime'); if(empty($starttime) || empty($endtime)){ $this->message('请选择导出的开始时间和结束时间', NULL, 2); } if($starttime > $endtime){ $this->message('开始时间不能大于结束时间', NULL, 2); } $sql = "SELECT * FROM {pre}drp_shop WHERE create_time >='".$starttime."' AND create_time <= '".$endtime."' ORDER BY create_time DESC"; $list = $this->model->query($sql); if($list){ require_once(BASE_PATH . 'libraries/PHPExcel.php'); $excel = new \PHPExcel(); //设置单元格宽度 $excel->getActiveSheet()->getDefaultColumnDimension()->setAutoSize(true); //设置表格的宽度 手动 $excel->getActiveSheet()->getColumnDimension('D')->setWidth(20); $excel->getActiveSheet()->getColumnDimension('G')->setWidth(20); $excel->getActiveSheet()->getColumnDimension('H')->setWidth(25); $excel->getActiveSheet()->getColumnDimension('I')->setWidth(15); $excel->getActiveSheet()->getColumnDimension('J')->setWidth(20); //设置标题 $rowVal = array( 0=>'编号', 1=>'店铺名', 2=>'真实姓名', 3=>'手机号码', 4=>'开店时间', 5=>'店铺是否审核(1为已审核,0为未审核)', 6=>'店铺状态(1为开启,0为关闭)', 7=>'QQ号' ); foreach ($rowVal as $k=>$r){ $excel->getActiveSheet()->getStyleByColumnAndRow($k,1)->getFont()->setBold(true);//字体加粗 $excel->getActiveSheet()->getStyleByColumnAndRow($k,1)->getAlignment(); //文字居中 $excel->getActiveSheet()->setCellValueByColumnAndRow($k,1,$r); } //设置当前的sheet索引 用于后续内容操作 $excel->setActiveSheetIndex(0); $objActSheet = $excel->getActiveSheet(); //设置当前活动的sheet的名称 $title="分销商信息"; $objActSheet->setTitle($title); //设置单元格内容 foreach($list as $k => $v){ $num = $k+2; $excel->setActiveSheetIndex(0) //Excel的第A列,uid是你查出数组的键值,下面以此类推 ->setCellValue('A'.$num, $v['id']) ->setCellValue('B'.$num, $v['shop_name']) ->setCellValue('C'.$num, $v['real_name']) ->setCellValue('D'.$num, $v['mobile']) ->setCellValue('E'.$num, date("Y-m-d H:i:s",$v['create_time'])) ->setCellValue('F'.$num, $v['audit']) ->setCellValue('G'.$num, $v['status']) ->setCellValue('H'.$num, $v['qq']); } $name = date('Y-m-d'); //设置文件名 header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Transfer-Encoding:utf-8"); header("Pragma: no-cache"); header('Content-Type: application/vnd.ms-e xcel'); header('Content-Disposition: attachment;filename="'.$title.'_'.urlencode($name).'.xls"'); header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel5'); $objWriter->save('php://output'); exit; } } $this->redirect(U('shop')); } /** * 分销排行 */ public function actionDrpList(){ $act = I('where'); if(empty($act)){ //全部 $where = ''; }elseif($act==1){ //满一年 $where = ' and '.strtotime('-1 year').'>=s.create_time'; }elseif($act==2){ //满半年 $where = ' and '.strtotime('-6 month').'>=s.create_time'; }elseif($act==3){ //满一月 $where = ' and '.strtotime('-1 month').'>=s.create_time'; } $filter['where'] = $act; $offset = $this->pageLimit(U('drp_list', $filter), 10); $sql = "SELECT count(id) as num FROM {pre}drp_shop as s LEFT JOIN {pre}users as u ON s.user_id=u.user_id WHERE s.audit=1 and s.status=1 ".$where; $count = $this->model->query($sql); $this->assign('page', $this->pageShow($count[0]['num'])); $sql = "SELECT d.id, IFNULL(w.nickname,u.user_name) as name, d.shop_name, d.mobile, FROM_UNIXTIME(d.create_time, '%Y-%m-%d') as time, IFNULL((select sum(money) from {pre}affiliate_log where user_id=d.user_id),0) as money FROM {pre}drp_shop as d LEFT JOIN {pre}users as u ON d.user_id=u.user_id LEFT JOIN {pre}wechat_user as w ON d.user_id=w.ect_uid LEFT JOIN {pre}affiliate_log as log ON log.user_id=d.user_id where d.audit=1 and d.status=1 GROUP BY d.user_id ORDER BY money desc LIMIT ".$offset; $list = $this->model->query($sql); $this->assign('list',$list); $this->display('admin_drp_list'); } }