• PHP后台评论 接口


    /**
    * 添加评论
    * content 评论内容
    * addtime 评论时间
    * uid 评论作品
    */
    public function padd(){
    $param=input('param.');
    $param['pid']=session('tid');
    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }

    $data=db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid']]);
    if($data){
    return json(['code'=>1,'message'=>'评论成功']);
    }else{
    return json(['code'=>2,'message'=>'评论失败']);
    }
    }

    /**
    * 评论展示
    * uid comments表
    * page 页数
    * num 条数
    */
    public function comment(){
    $param=input('param.');
    $param['pid']=session('tid');//用户id
    if(empty($param['page'])){
    $param['page']=1;
    }

    if(empty($param['num'])){
    $param['num']=5;
    }
    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }

    $data=db('comments')->where('uid',$param['uid'])->page($param['page'],$param['num'])->select();

    $commentslike=db('commentslike');
    $people=db('people');
    foreach ($data as $k=>$value) {
    //查看评论点赞表的状态
    $state=$commentslike->where(['pid'=>$param['pid'],'uid'=>$param['uid'],'cid'=>$value['data']])->value('state');
    if(empty($state)){
    $state = '还未点赞';
    }
    $data[$k]['state']=$state;

    //获取评论人的手机号
    $people=$people->where('id',$value['pid'])->value('tel');
    $data[$k]['tel']=$people;


    //把二级评论添加到数组数据中
    if($value['rpid'] !== 0){
    // $r_pid = $commentslike->where(['id'=>$value['rpid']])->value('pid');
    $r_tel = $people->where('id',$value['rpid'])->value('tel');
    $data[$k]['r_tel'] = $r_tel;
    }else{
    $data[$k]['r_tel'] = '';
    }

    }
    return json(['code'=>1,'data'=>$data]);
    }

    /**
    * 评论点赞
    * uid 作品id
    */
    public function commentslike(){
    $param=input('param.');
    $param['pid']=session::get('tid');

    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }
    //判断该作品有没有评论
    $comments=db('comments')->where('uid',$param['uid'])->select();
    if(!empty($comments)){
    //判断他有没有点赞
    $data=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->find();
    if(empty($data)){
    $like=db('commentslike')->insertGetId(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id'],$param['state']=>'点赞']);
    if($like){
    return json(['code'=>1,'message'=>'点赞成功']);
    }else{
    return json(['code'=>1,'message'=>'点赞失败']);
    }
    }else{
    if($data['state']=='取消点赞'){
    $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'点赞']);
    }elseif($data['state']=='点赞'){
    $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'取消点赞']);
    }
    }

    }else{
    return json(['code'=>2,'message'=>'此作品还未评论']);
    }
    }

    /**
    * 回复评论
    * uid 作品id
    * content 回复内容
    * cid 这条评论的id
    * uid 作品id pid 评论人id
    */
    public function reply(){
    $param['pid'] = session('tid');
    $param = input('param.');
    //被评论的id $param['cid']
    $data = db('comments')->where(['id'=>$param['rid']])->find();
    if($data['rid'] !== 0){
    $param['rid'] = $data['rid'];//被回复人的pid.
    }
    $param['rid'] = $data['id'];//被回复人的pid.

    $param['rpid'] = $data['pid'];

    //评论内容 $param['content']
    //作品id $param['uid']
    $param['addtime'] = date('Y-m-d H:i:s');
    $id = db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid'],'rid'=>$param['rid']]);
    if($id){
    return json(['code'=>1,'messgae'=>'回复成功']);
    }else{
    return json(['code'=>2,'message'=>'回复失败']);
    }
    }


    /**
    * 查看二级评论
    * uid 作品id
    * rid 这条评论的id
    */
    public function GetRCommtens($value='')
    {
    $data = db('comments')->where(['rid'=>$param['rid']])->select();
    }

  • 相关阅读:
    FFT加速多项式乘法C语言版(基2FFT)
    springboot2中@ConfigurationProperties装载yml文件的时候调取出现值为null的解决办法
    LeetCode27-移除元素
    dom4j在解析xml文件的时候将" "解析成空格的解决办法
    LeetCode17- 电话号码的字母组合
    LeetCode19- 删除链表的倒数第N个节点
    LeetCode14- 最长公共前缀
    LeetCode20- 有效的括号
    LeetCode21- 合并两个有序链表
    MySQL单表百万数据记录分页性能优化
  • 原文地址:https://www.cnblogs.com/mcll/p/9262774.html
Copyright © 2020-2023  润新知