// +---------------------------------------------------------------------- namespace app\admin\controller; use think\Db; use think\Request; use app\admin\model\Asklog; class Bbs extends Base{ protected $table='bbslist'; protected $tablelog='bbslog'; protected $tablecate='bbstype'; protected function getWeekMyActionAndEnd($time = '', $first = 1){ //当前日期 if (!$time) $time = time(); $sdefaultDate = date("Y-m-d", $time); //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 $w = date('w', strtotime($sdefaultDate)); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天 $week_start = date('Y-m-d', strtotime("$sdefaultDate -" . ($w ? $w - $first : 6) . ' days')); //本周结束日期 $week_end = date('Y-m-d', strtotime("$week_start +6 days")); return array("week_start" => $week_start, "week_end" => $week_end); } /** * 首页数据展示 * @return mixed|string */ public function index(Request $request){ $search_name=input('search_name',''); $this->assign('search_name',$search_name); $page=$request->param('page'); $db=Db::name($this->table)->alias("a")->field("a.*,m.member_list_username as uname,m.member_list_nickname as nickname")->join(config('database.prefix').'member_list m','a.mid =m.member_list_id','left'); if($search_name){ $db->where('name','like','%'.$search_name.'%'); } $gp_list=$db->order('create_time desc')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]); $total=$gp_list->total(); $this->assign('total',$total); $show = $gp_list->render(); $this->assign('page',$page); $this->assign('pageshow',$show); $this->assign('showlist',$gp_list); $count=Db::name($this->table)->sum('comment'); $this->assign("comment",$count); $count=Db::name($this->table)->sum('viewnum'); $this->assign("viewnum",$count); $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y%m")'=>date("Ym")])->sum('comment'); $this->assign("mcomment",$count); $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y%m")'=>date("Ym")])->sum('viewnum'); $this->assign("mviewnum",$count); $dates=$this->getWeekMyActionAndEnd(); $start=$dates['week_start']; $end=$dates['week_end']; $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>['between',[$start,$end]]])->sum('comment'); $this->assign("wcomment",$count); $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>['between',[$start,$end]]])->sum('viewnum'); $this->assign("wviewnum",$count); $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>date("%Y-%m-%d")])->sum('comment'); $this->assign("dcomment",$count); $count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>date("%Y-%m-%d")])->sum('viewnum'); $this->assign("dviewnum",$count); if(request()->isAjax()){ return $this->fetch('ajax_show_list'); }else{ return $this->fetch(); } } /** * 首页数据展示 * @return mixed|string */ public function log(Request $request){ $search_name=input('search_name',''); $this->assign('search_name',$search_name); $page=$request->param('page'); $db=Db::name($this->tablelog)->alias("a")->field("a.*,m.member_list_username as uname,l.name")->join(config('database.prefix').'member_list m','a.mid =m.member_list_id','left')->join(config('database.prefix').'bbslist l','a.list_id =l.id','left'); if($search_name){ $db->where('a.content','like','%'.$search_name.'%'); } $gp_list=$db->order('id desc')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]); $show = $gp_list->render(); $this->assign('page',$page); $this->assign('pageshow',$show); $this->assign('showlist',$gp_list); if(request()->isAjax()){ return $this->fetch('ajax_log_list'); }else{ return $this->fetch(); } } public function category(Request $request){ $search_name=input('search_name',''); $this->assign('search_name',$search_name); $db=Db::name($this->tablecate); if($search_name){ $db->where('name','like','%'.$search_name.'%'); } $data=$db->order('id desc,create_time desc')->select(); $tree=new \Tree(); $tree->init($data,['child'=>'sub','parentid'=>'parentid']); $rst=$tree->get_arraylist($data); $this->assign('showlist',$rst); if(request()->isAjax()){ return $this->fetch('ajax_cate_list'); }else{ return $this->fetch(); } } public function add(){ $page=input('page'); $this->assign('page',$page); if(request()->isPost()){ $jump=url('index'); $data=[]; $data['name']=input('name'); $data['content']=input('content'); $data['parent_id']=input('parent_id'); $data['child_id']=input('child_id'); $data['mid']=input('mid'); $data['top']=input('top'); $data['marrow']=input('marrow'); $data['link']=input('link'); $data['open']=input('open'); $data['status']=input('status'); $data['update_time']=time(); $data['create_time']=time(); $rst=Db::name($this->table)->insert($data); if($rst!==false){ $this->success('添加成功',$jump); }else{ $this->error('添加失败',$jump); } } $cates=Db::name($this->tablecate)->where('status',1)->select(); $tree=new \Tree(); $tree->init($cates,['child'=>'sub','parentid'=>'parentid']); $rst=$tree->get_arraylist($cates); $this->assign("cates",$rst); $mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>['in',[7,10]],'user_status'=>1,'member_list_open'=>1])->select(); $this->assign("mems",$mems); return $this->fetch(); } public function edit(){ $page=input('page'); $this->assign('page',$page); $id=input('id'); if(request()->isPost()){ $jump=url('index'); $data=[]; $data['name']=input('name'); $data['content']=input('content'); $data['parent_id']=input('parent_id'); $data['child_id']=input('child_id'); $data['mid']=input('mid'); $data['top']=input('top'); $data['marrow']=input('marrow'); $data['open']=input('open'); $data['link']=input('link'); $data['status']=input('status'); $data['update_time']=time(); $rst=Db::name($this->table)->where('id',$id)->update($data); if($rst!==false){ $this->success('编辑成功',$jump); }else{ $this->error('编辑失败',$jump); } } $cates=Db::name($this->tablecate)->where('status',1)->select(); $tree=new \Tree(); $tree->init($cates,['child'=>'sub','parentid'=>'parentid']); $rst=$tree->get_arraylist($cates); $this->assign("cates",$rst); $list=Db::name($this->table)->where('id',$id)->find(); $this->assign("list",$list); $mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>['in',[7,10]],'user_status'=>1,'member_list_open'=>1])->select(); $this->assign("mems",$mems); return $this->fetch(); } public function addcate(){ $page=input('page'); $this->assign('page',$page); $pid=input('pid'); $this->assign('pid',$pid); if(request()->isPost()){ $jump=url('category'); $data=[]; $data['name']=input('name'); $data['infor']=input('infor'); $data['parentid']=input('parentid'); $data['status']=input('status'); $data['update_time']=time(); $data['create_time']=time(); $data['open']=input('open'); $rst=Db::name($this->tablecate)->insert($data); if($rst!==false){ $this->success('添加成功',$jump); }else{ $this->error('添加失败',$jump); } } $cates=Db::name($this->tablecate)->where('parentid',0)->select(); $this->assign("cates",$cates); return $this->fetch(); } public function editcate(){ $page=input('page'); $this->assign('page',$page); $id=input('id'); $this->assign('id',$id); if(request()->isPost()){ $jump=url('category'); $data=[]; $data['name']=input('name'); $data['infor']=input('infor'); $data['parentid']=input('parentid'); $data['status']=input('status'); $data['open']=input('open'); $data['update_time']=time(); $rst=Db::name($this->tablecate)->where('id',$id)->update($data); if($rst!==false){ $this->success('修改成功',$jump); }else{ $this->error('修改失败',$jump); } } $cates=Db::name($this->tablecate)->where('parentid',0)->select(); $this->assign("cates",$cates); $cate=Db::name($this->tablecate)->where('id',$id)->find(); $this->assign("list",$cate); return $this->fetch(); } public function editlog(){ $page=input('page'); $this->assign('page',$page); $id=input('id'); $this->assign('id',$id); if(request()->isPost()){ $jump=url('log'); $data=[]; $data['content']=input('content'); $data['status']=input('status'); $data['top']=input('top'); $data['open']=input('open'); $data['update_time']=time(); $rst=Db::name($this->tablelog)->where('id',$id)->update($data); if($rst!==false){ $this->success('修改成功',$jump); }else{ $this->error('修改失败',$jump); } } $mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>7,'user_status'=>1,'member_list_open'=>1])->select(); $this->assign("mems",$mems); $cates=Db::name($this->tablecate)->where('status',1)->select(); $tree=new \Tree(); $tree->init($cates,['child'=>'sub','parentid'=>'parentid']); $rst=$tree->get_arraylist($cates); $this->assign("cates",$rst); $list=Db::name($this->tablelog)->alias("a")->field("a.*,l.name")->join(config('database.prefix').'bbslist l','a.list_id =l.id','left')->where('a.id',$id)->find(); $this->assign("list",$list); return $this->fetch(); } /** * 非文化资产挂牌删除(单个) */ public function del(){ $p=input('p'); $id=input('id'); $rst=Db::name($this->table)->where(['id'=>$id])->delete(); if($rst!==false){ Db::name($this->tablelog)->where(['list_id'=>$id])->delete(); $this->success('删除成功',url('index',array('p' => $p))); }else{ $this -> error("删除失败!",url('index',array('p'=>$p))); } } public function delcate(){ $p=input('p'); $rst=Db::name($this->tablecate)->delete(input('id')); if($rst!==false){ $this->success('删除成功',url('category',array('p' => $p))); }else{ $this -> error("删除失败!",url('category',array('p'=>$p))); } } public function dellog(){ $p=input('p'); $rst=Db::name($this->tablelog)->delete(input('id')); if($rst!==false){ $this->success('删除成功',url('log',array('p' => $p))); }else{ $this -> error("删除失败!",url('log',array('p'=>$p))); } } /** * 非文化资产删除挂牌(全选) */ public function alldel(){ $p = input('p'); $ids = input('id/a'); if(empty($ids)){ $this -> error("请选择待删除的数据",url('Ask/index',array('p'=>$p))); } if(is_array($ids)){ $where = 'id in('.implode(',',$ids).')'; }else{ $where = 'id='.$ids; } $rst=Db::name($this->table)->where($where)->delete(); if($rst!==false){ $this->success("删除成功",url('Ask/index',array('p'=>$p))); }else{ $this -> error("删除失败!",url('Ask/index',array('p'=>$p))); } } public function marrow(){ $id=input('x'); $find=Db::name($this->table)->where(array('id'=>$id))->find(); $msg='否'; $state=0; if($find){ $status=$find['marrow']; $state=$status==1?0:1; if($status==0){ $msg='是'; } $statedata = array('marrow'=>$state); $query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } public function state(){ $id=input('x'); $find=Db::name($this->table)->where(array('id'=>$id))->find(); $msg='关闭'; $state=0; if($find){ $status=$find['status']; $state=$status==1?0:1; if($status==0){ $msg='开启'; } $statedata = array('status'=>$state); $query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } public function open(){ $id=input('x'); $find=Db::name($this->table)->where(array('id'=>$id))->find(); $msg='禁止'; $state=0; if($find){ $status=$find['open']; $state=$status==1?0:1; if($status==0){ $msg='开启'; } $statedata = array('open'=>$state); $query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } public function top(){ $id=input('x'); $find=Db::name($this->table)->where(array('id'=>$id))->find(); $msg='否'; $state=0; if($find){ $status=$find['top']; $state=$status==1?0:1; if($status==0){ $msg='是'; } $statedata=array('top'=>$state); $query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } public function statelog(){ $id=input('x'); $find=Db::name($this->tablelog)->where(array('id'=>$id))->find(); $msg='关闭'; $state=0; if($find){ $status=$find['status']; $state=$status==1?0:1; if($status==0){ $msg='开启'; } $statedata = array('status'=>$state); $query=Db::name($this->tablelog)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } public function toplog(){ $id=input('x'); $find=Db::name($this->tablelog)->where(array('id'=>$id))->find(); $msg='否'; $state=0; if($find){ $status=$find['top']; $state=$status==1?0:1; if($status==0){ $msg='是'; } $statedata=array('top'=>$state); $query=Db::name($this->tablelog)->where(array('id'=>$id))->setField($statedata); } $this->success($msg,'',$state); } }