| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 | <?php/** * @copyright   Copyright (c) 2017 https://www.sapixx.com All rights reserved. * @license     Licensed (http://www.apache.org/licenses/LICENSE-2.0). * @author      pillar<ltmn@qq.com> * 信息管理 */namespace app\allwin\controller\info;use app\allwin\controller\Common;use app\allwin\model\AllwinInfo;use app\allwin\model\AllwinInfoReply;use think\facade\Request;use think\helper\Time;use util\Util;class index extends Common{    public function initialize(){        parent::initialize();        $this->assign('pathMaps',[['name'=>'信息管理','url'=>url("info.index/index")]]);    }    /**     * 列表     */    public function index(int $types = 0){        $condition  = [];        $time      = Request::param('time/d',0);        $starttime = Request::param('starttime/s');        $endtime   = Request::param('endtime/s');        if($time){            switch ($time) {                case 2:                    list($start, $end) = Time::yesterday();                    break;                case 30:                    list($start, $end) = Time::month();                    break;                case 60:                    list($start, $end) = Time::lastMonth();                    break;                default:                    list($start, $end) = Time::today();                    break;            }            $condition[] = ['create_time','>=',$start];            $condition[] = ['create_time','<=',$end];        }else{            if($starttime){                $condition[] = ['create_time','>=',strtotime($starttime)];            }            if($endtime){                $condition[] = ['create_time','<=',strtotime($endtime)];            }        }        $view['top_num']   = AllwinInfo::where($this->mini_program)->where($condition)->sum("is_top");        $view['views_num'] = AllwinInfo::where($this->mini_program)->where($condition)->sum("views");        $view['lock_num']  = AllwinInfo::where($this->mini_program)->where($condition)->where(['is_lock' => 1])->sum("is_lock");        $condition[] = ['is_lock','=',$types];        $lists = AllwinInfo::where($this->mini_program)->where($condition)->order('is_top desc,sort desc,id desc')->paginate(20,false,['query' => ['types' => $types,'starttime' => $starttime,'endtime' => $endtime,'time'=>$time]]);         $view['types']     = $types;        foreach ($lists as $key => $value) {            $lists[$key]['howday'] = Util::ftime($value['create_time']);            $lists[$key]['images'] = json_decode($value['images'],true);        }        $view['lists']      = $lists;        $view['time']       = $time;        $view['starttime']  = $starttime;        $view['endtime']    = $endtime;        return view()->assign($view);    }   /**     * 查看回复     * @param integer $id 用户ID     */    public function reply(int $id){        $info = AllwinInfo::where($this->mini_program)->where(['id'=> $id])->find();        if(empty($info)){            return $this->error('没有内容');        }        $info['images']      = empty($info['images']) ? [] :json_decode($info['images']);        $info['create_time'] = Util::ftime($info['create_time']);        $view['info']        = $info;        $view['reply']       = $info->comments()->order('id desc')->paginate(10,false,['query'=>['id' => $id]]);        $view['fields']      = json_decode($info->fields,true);        if($info->is_get){            $view['tabs'] = [                ['name' =>'信息内容','url' =>url('info.index/reply',['id' => $id]),'action' => 1],                ['name' =>'订单列表','url' =>url('info.order/index',['infoid' => $id])],            ];        }        return view()->assign($view);    }      //删除    public function delete(){        $id = input('get.id/d');        $result = AllwinInfo::where($this->mini_program)->where(['id' => $id])->delete();        if($result){            AllwinInfoReply::where($this->mini_program)->where(['info_id' => $id])->delete();            return json(['code'=>200,'msg'=>'操作成功']);        }else{            return json(['code'=>403,'msg'=>'删除失败,请查看是否包含子链接']);        }     }    /**     * 锁定     * @param integer $id 用户ID     */    public function islock(int $id){        $result = AllwinInfo::lock($id,$this->member_miniapp_id);        if(!$result){            return json(['code'=>0,'message'=>'操作失败']);        }else{            return json(['code'=>200,'message'=>'操作成功']);        }    }    /**     * 指定     * @param integer $id 用户ID     */    public function isTop(int $id){        $result = AllwinInfo::Top($id);        if(!$result){            return json(['code'=>0,'message'=>'操作失败']);        }else{            return json(['code'=>200,'message'=>'操作成功']);        }    }     //删除    public function delReply(){        $id = input('get.id/d');        $result = AllwinInfoReply::where($this->mini_program)->where(['id' => $id])->delete();        if($result){            return json(['code'=>200,'msg'=>'操作成功']);        }else{            return json(['code'=>403,'msg'=>'删除失败']);        }     }    /**     * 锁定     * @param integer $id 用户ID     */    public function islockReply(int $id){        $result = AllwinInfoReply::lock($id);        if(!$result){            return json(['code'=>0,'message'=>'操作失败']);        }else{            return json(['code'=>200,'message'=>'操作成功']);        }    }    }
 |