* @return mixed */ public function index(){ //$this->error('功能开发中',url('shop/index/index')); // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('is_vip desc'); //数据 $data_list = MemberModel::where($map)->order($order)->paginate(); foreach ($data_list as $k=>$v){ if(empty($v['lastlogin_time'])){ $data_list[$k]['lastlogin_time'] = '暂未登录'; }else{ $data_list[$k]['lastlogin_time'] = date('Y-m-d H:i',$v['lastlogin_time']); } $data_list[$k]['invitation_uid'] = !empty($v['invitation_uid'])?MemberModel::where('id',$v['invitation_uid'])->value('nickname'):'暂无'; } // 分页数据 $page = $data_list->render(); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['text', 'nickname', '昵称', 'like'], ['text', 'realphone', '电话', 'like'], ['daterange','create_time','注册时间','between'], ]) ->setPageTitle('列表') // 设置页面标题 ->setTableName('member') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['is_delete','禁用','switch','',[1=>'是',0=>'否']], ['vip_title', '用户角色','text'], ['invitation_uid', '邀请用户','text'], ['headimg', '头像','picture'], ['nickname', '昵称','text'], ['balance', '用户积分','text'], ['realname', '真实姓名','text'], ['realphone', '联系电话','text'], ['wxskqrcode', '微信收款码','picture'], ['create_time', '注册时间','datetime'], //['right_button', '操作', 'btn'] ]) //->addTopButton('release',['class'=>'btn btn-primary','icon' => 'fa fa-plus-circle','title'=>'添加', 'href' => url('add')]) //->addRightButton('edit',['title'=>'編輯','icon'=>'fa fa-pencil','href'=>url('edit',['id' => '__id__'])]) //->addRightButton('delete') // 添加右侧按钮 ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 /* ->setTabNav([ 'tab1' => ['title' => '列表', 'url' => url('member/index/index', ['group' => 'tab1'])], 'tab2' => ['title' => '添加', 'url' => url('member/index/add', ['group' => 'tab2'])], ], 'tab1')*/ ->fetch(); // 渲染模板 } //删除 public function delete($ids = ''){ $post = $this->request->post(); $result = MemberModel::where('id',$ids)->update(['is_delete'=>1,'delete_time'=>time()]); if($result){ $this->success('删除成功', url('index')); }else{ $this->error('删除失败'); } } //余额记录 public function balancelogs(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); //数据 $data_list = MemberBalanceLogsModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; } } // 分页数据 $page = $data_list->render(); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['daterange','create_time','时间','between'], ]) ->setPageTitle('列表') // 设置页面标题 ->setTableName('member') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['category', '类型','text','',[1=>'增加',2=>'减少']], ['mark', '备注','text'], ['value', '积分','text'], ['create_time', '时间','datetime'], ]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } //用户余额提现 public function balancewithdraw(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('status asc,create_time desc'); //数据 $data_list = BalanceWithdrawModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; $data_list[$key]['wxskqrcode'] = $uinfo['wxskqrcode']; } } // 分页数据 $page = $data_list->render(); //提现积分 $alljf = BalanceWithdrawModel::sum('integral_num'); //提现金额 $allje = BalanceWithdrawModel::sum('price'); $alljf1 = BalanceWithdrawModel::where('status',2)->sum('integral_num'); //提现金额 $allje2 = BalanceWithdrawModel::where('status',2)->sum('price'); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['select', 'status', '状态', 'eq', '', [1=>'待审核', 2=>'审核通过', 3=>'拒绝提现']], ['daterange','create_time','申请时间','between'], ]) ->setPageTitle('申请列表') // 设置页面标题 ->setPageTips("总提现积分:$alljf        兑换金额:$allje
已同意提现积分:$alljf1        已同意兑换金额:$allje2") ->setTableName('member') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['integral_num', '提现积分','text',], ['price', '兑换金额','text',], ['status', '状态','text','',[1=>'待审核', 2=>'审核通过', 3=>'拒绝提现']], ['create_time', '申请时间','datetime'], ['wxskqrcode', '微信收款码','picture'], ['right_button', '操作', 'btn'] ]) ->addRightButton('edit',['title'=>'审核','icon'=>'fa fa-fw fa-pencil-square-o','href'=>url('operatebalancewithdraw',['id' => '__id__'])],['area' => ['600px', '40%']]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } public function operatebalancewithdraw($id=null){ if ($id === null) return $this->error('缺少参数'); $info = BalanceWithdrawModel::where('id',$id)->find(); if($info['status']!=1){ $this->error('此次提现申请已经处理,不能重复处理'); } if($this->request->isPost()){ $data = $this->request->post(); if(!isset($data['status'])){ $this->error('请选择状态'); } $result = BalanceWithdrawModel::update($data); if($result){ if($data['status']==3){//拒绝提现,返还提现积分 $binfo = BalanceWithdrawModel::where('id',$data['id'])->find(); $memberinfo = MemberModel::where('id',$binfo['uid'])->find(); $memberinfo->balance = $memberinfo['balance'] + $binfo['integral_num']; $memberinfo->save(); //插入余额记录 MemberBalanceLogsModel::addGetLog($binfo['uid'],1,$binfo['integral_num'],'','提现申请驳回'); } $this->success('操作成功',url('balancewithdraw'),'_parent_reload'); }else{ $this->error('操作失败'); } } else { return ZBuilder::make('form') ->addFormItems([//批量添加表单项 ['hidden', 'id'], ['radio', 'status', '状态', '', [2=>'审核通过', 3=>'拒绝提现'],'2'], ]) ->setFormData($info) ->fetch(); } } //用户反馈 public function feedback(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); //数据 $data_list = MemberFeedbackModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $is_vip = '普通会员'; switch ($uinfo['is_vip']) { case 1: $is_vip = '铜牌会员'; break; case 2: $is_vip = '银牌会员'; break; case 3: $is_vip = '金牌会员'; break; } $data_list[$key]['nickname'] = $uinfo['nickname'].'('.$is_vip.')'; } } // 分页数据 $page = $data_list->render(); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['daterange','create_time','时间','between'], ]) ->setPageTitle('列表') // 设置页面标题 ->setTableName('member') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['phone', '联系电话','text'], ['message', '反馈内容','text'], ['create_time', '时间','datetime'], ['right_button', '操作', 'btn'] ]) ->addRightButton('delete', ['title' => '删除', 'icon' => 'fa fa-remove', 'href' => url('deletefeedback', ['id' => '__id__'])]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } public function deletefeedback($id = ''){ $post = $this->request->post(); $result = MemberFeedbackModel::where('id',$id)->delete(); if($result){ $this->success('删除成功', url('feedback')); }else{ $this->error('删除失败'); } } //留言板 public function levemessages(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); //数据 $data_list = MemberMessagesModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; } } // 分页数据 $page = $data_list->render(); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['daterange','create_time','时间','between'], ]) ->setPageTitle('留言板列表') // 设置页面标题 ->setTableName('member_messages') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['status','审核','switch','',[1=>'是',0=>'否']], ['nickname', '所属用户','text'], ['message', '消息内容','text'], ['create_time', '时间','datetime'], ['right_button', '操作', 'btn'] ]) ->addRightButton('edit',['title'=>'查看留言图片','icon'=>'fa fa-fw fa-image','href'=>url('patrolshopimg',['id' => '__id__'])],['area' => ['1000px', '70%']]) ->addRightButton('delete', ['title' => '删除', 'icon' => 'fa fa-remove', 'href' => url('deletemessages', ['id' => '__id__'])]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } public function patrolshopimg($id=null){ if ($id === null) return $this->error('缺少参数', url('index'),'_parent_reload'); $info = MemberMessagesModel::where('id',$id)->find(); $imglist = explode(',',$info['thumbs']); $imglistarr = []; if(!empty($imglist)){ foreach ($imglist as $k=>$v){ $imglistarr[$k]['thumb'] = $v; } } return ZBuilder::make('table') ->addColumns([ // 批量添加列 ['thumb', '留言图片','picture'], ]) ->setRowList($imglistarr) // 设置表格数据 ->fetch(); // 渲染模板 } //用户消息 public function messages(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); //数据 $data_list = MemberMessagesModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $is_vip = '普通会员'; switch ($uinfo['is_vip']) { case 1: $is_vip = '铜牌会员'; break; case 2: $is_vip = '银牌会员'; break; case 3: $is_vip = '金牌会员'; break; } $data_list[$key]['nickname'] = $uinfo['nickname'].'('.$is_vip.')'; } } // 分页数据 $page = $data_list->render(); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['daterange','create_time','时间','between'], ]) ->setPageTitle('列表') // 设置页面标题 ->setTableName('member') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['message', '消息内容','text'], ['create_time', '时间','datetime'], ['right_button', '操作', 'btn'] ]) ->addRightButton('delete', ['title' => '删除', 'icon' => 'fa fa-remove', 'href' => url('deletemessages', ['id' => '__id__'])]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } public function deletemessages($id = ''){ $post = $this->request->post(); $result = MemberMessagesModel::where('id',$id)->delete(); if($result){ $this->success('删除成功', url('messages')); }else{ $this->error('删除失败'); } } //订单列表 public function memberorder(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); $map[] = ['type','eq',1]; //数据 $data_list = MemberServiceOrderModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; } } // 分页数据 $page = $data_list->render(); $allorder = MemberServiceOrderModel::where($map)->count(); $allprice = MemberServiceOrderModel::where($map)->sum('totalprice'); $where2 = $map; $where2[] = ['status','eq',2]; $yallorder = MemberServiceOrderModel::where($where2)->count(); $yallprice = MemberServiceOrderModel::where($where2)->sum('totalprice'); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['text', 'ordernum', '订单号', 'like'], ['daterange','create_time','下单时间','between'], ]) ->setPageTitle('订单列表') // 设置页面标题 ->setPageTips("总订单数:$allorder        总金额:$allprice
已付款订单数:$yallorder        已付款金额:$yallprice") ->setTableName('member_service_order') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['ordernum', '订单号','text'], ['totalprice', '价格','text'], ['status', '订单状态','text','',[1=>'待支付', 2=>'已支付', 3=>'已取消']], ['create_time', '下单时间','datetime'], ['right_button', '操作', 'btn'] ]) ->addRightButton('edit',['title'=>'查看购买的搭子群','icon'=>'fa fa-fw fa-twitch','href'=>url('memberorderdetail',['id' => '__id__'])],['area' => ['1000px', '70%']]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } public function memberorderdetail($id=null){ if ($id === null) return $this->error('缺少参数', url('index'),'_parent_reload'); $info = MemberServiceOrderModel::where('id',$id)->select(); return ZBuilder::make('table') ->addColumns([ // 批量添加列 ['service_title', '搭子群标题','text'], ['service_summary', '搭子群简介','text'], ['service_price', '价格','text'], ['service_thumb', '搭子群二维码','picture'], ]) ->setRowList($info) // 设置表格数据 ->fetch(); // 渲染模板 } //积分充值订单 public function buypoints(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); $map[] = ['type','eq',2]; //数据 $data_list = MemberServiceOrderModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; } } // 分页数据 $page = $data_list->render(); $allorder = MemberServiceOrderModel::where($map)->count(); $allprice = MemberServiceOrderModel::where($map)->sum('totalprice'); $where2 = $map; $where2[] = ['status','eq',2]; $yallorder = MemberServiceOrderModel::where($where2)->count(); $yallprice = MemberServiceOrderModel::where($where2)->sum('totalprice'); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['text', 'ordernum', '订单号', 'like'], ['daterange','create_time','下单时间','between'], ]) ->setPageTitle('积分充值订单列表') // 设置页面标题 ->setPageTips("总订单数:$allorder        总金额:$allprice
已付款订单数:$yallorder        已付款金额:$yallprice") ->setTableName('member_service_order') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['ordernum', '订单号','text'], ['totalprice', '价格','text'], ['service_title', '积分数量','text'], ['status', '订单状态','text','',[1=>'待支付', 2=>'已支付', 3=>'已取消']], ['create_time', '下单时间','datetime'], ]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } //会员充值订单 public function viporder(){ // 获取 $map = $this->getMap(); // 排序 $order = $this->getOrder('id desc'); $map[] = ['type','eq',3]; //数据 $data_list = MemberServiceOrderModel::where($map)->order($order)->paginate(); if(!empty($data_list)){ foreach ($data_list as $key=>$val){ $uinfo = MemberModel::where('id',$val['uid'])->find(); $data_list[$key]['nickname'] = $uinfo['nickname']."(".$uinfo['vip_title'].")"; } } // 分页数据 $page = $data_list->render(); $allorder = MemberServiceOrderModel::where($map)->count(); $allprice = MemberServiceOrderModel::where($map)->sum('totalprice'); $where2 = $map; $where2[] = ['status','eq',2]; $yallorder = MemberServiceOrderModel::where($where2)->count(); $yallprice = MemberServiceOrderModel::where($where2)->sum('totalprice'); //加载模板 return ZBuilder::make('table') ->setSearchArea([ ['select', 'uid', '所属用户', 'eq', '', MemberModel::where('is_delete',0)->column('id,nickname')], ['text', 'ordernum', '订单号', 'like'], ['daterange','create_time','下单时间','between'], ]) ->setPageTitle('会员充值订单列表') // 设置页面标题 ->setPageTips("总订单数:$allorder        总金额:$allprice
已付款订单数:$yallorder        已付款金额:$yallprice") ->setTableName('member_service_order') ->setTableName('member_service_order') ->addOrder('create_time') // 添加排序 ->addColumns([ // 批量添加列 ['nickname', '所属用户','text'], ['ordernum', '订单号','text'], ['totalprice', '价格','text'], ['service_title', '会员角色','text'], ['status', '订单状态','text','',[1=>'待支付', 2=>'已支付', 3=>'已取消']], ['create_time', '下单时间','datetime'], ]) ->setRowList($data_list) // 设置表格数据 ->setPages($page) // 设置分页数据 ->fetch(); // 渲染模板 } }