| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | <?phpnamespace app\api\controller;use app\common\controller\Api;use think\Db;/** * 打招呼 */class Greet extends Api{    // 无需登录的接口,*表示全部    protected $noNeedLogin = [];    // 无需鉴权的接口,*表示全部    protected $noNeedRight = [];    //常用语,系统的    public function get_greet_sys(){        $where = [];        if($this->auth->gender == 0){            $where['gender'] = ['IN',[0,2]];        }else{            $where['gender'] = ['IN',[1,2]];        }        $list = Db::name('greet_sys')->field('id,title')->where($where)->order('weigh desc')->select();        $this->success(1,$list);    }    //我的打招呼列表,自己看所有的    public function get_greet(){        $type = input('type',1);        $list = Db::name('user_greet')->where('user_id',$this->auth->id)->where('type',$type)->select();        $list = list_domain_image($list,['image']);        $this->success(1,$list);    }    //我的打招呼列表,对外的已过审的    public function get_greet_checked(){        $type = input('type',1);        $list = Db::name('user_greet')->where('user_id',$this->auth->id)->where('type',$type)->where('status',1)->select();        $list = list_domain_image($list,['image']);        $this->success(1,$list);    }    //添加打招呼    public function add_greet(){        if($this->auth->gender == 1 && $this->auth->idcard_status != 1){            $this->error('请先完成实名认证');        }        if($this->auth->gender == 0 && $this->auth->real_status != 1){            $this->error('请先完成真人认证');        }        $type = input('type',1);        $title = input('title','');        $image = input('image','');        if($type == 1){            $image = '';        }else{            $title = '';        }        $data = [            'user_id' => $this->auth->id,            'type' => $type,            'title' => $title,            'image' => $image,            'status' => 0,        ];        Db::name('user_greet')->insertGetId($data);        $this->success('添加成功,等待审核');    }    //删除招呼    public function del_greet(){        $id = input('id',0);        Db::name('user_greet')->where('id',$id)->where('user_id',$this->auth->id)->delete();        $this->success();    }    //一键搭讪    public function once_greet(){        if($this->auth->gender == 1){            $today = strtotime(date('Y-m-d'));            $end = $today + 86399;            $apiLimitTime = $end - time();            $times = config('site.man_dashan_times') ?: 50;            $rs = $this->apiLimit($times,$apiLimitTime*1000);            if(!$rs){                $this->error('今日搭讪次数已用完');            }            $where['gender'] = ['IN',[1,2]];            $chat = Db::name('greet_sys')->field('id,title')->where($where)->orderRaw('rand()')->find();            $result = [                'chat' => !empty($chat) ? $chat['title'] : '',                'image' => '',            ];        }else{            if($this->auth->real_status != 1){                $this->error('请先完成真人认证');            }            $type1 = Db::name('user_greet')->where('user_id',$this->auth->id)->where('status',1)->where('type',1)->orderRaw('rand()')->find();            $type2 = Db::name('user_greet')->where('user_id',$this->auth->id)->where('status',1)->where('type',2)->orderRaw('rand()')->find();            $type2 = info_domain_image($type2,['image']);            if(empty($type1)){                //未设置搭讪语,强制不让搭讪                //$type2 = [];            }            $result = [                'chat' => !empty($type1) ? $type1['title'] : '',                'image' => !empty($type2) ? $type2['image'] : '',            ];        }        $this->success(1,$result);    }}
 |