Files
yusheng-php/application/api/model/UserZone.php
2025-08-11 17:49:11 +08:00

700 lines
28 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\api\model;
use think\Db;
use think\Log;
use think\Model;
class UserZone extends Model
{
//发布(动态)
public function publish_zone($uid, $images, $content,$topic_id = '',$room_id = '',$ip = '')
{
// $images_data = explode(',', json_decode($images));
if (empty($content)) {
return ['code' => 0, 'msg' => '发布内容和图片不能为空', 'data' => null];
}
//维禁判断
if(!empty($content)) {
$result = model('Tencent')->content_moderation('Text', $content);
if($result['code'] != 1) {
return ['code' => 0, 'msg' => '内容存在违禁词!', 'data' => null];
}
}
$data = [];
$data['user_id'] = $uid;
$data['images'] = $images;
$data['content'] = $content;
$data['show_status'] = 1; ///1:显示 0不显示
$data['topic_id'] = $topic_id;
$data['room_id'] = $room_id;
$data['ip'] = $ip;
$data['createtime'] = time();
$reslut = $this->save($data);
//获取上一步的id
$did = $this->id;
if ($reslut) {
//$topic_id 有值
if (isset($topic_id)) {
$top = explode(',', $topic_id);
foreach ($top as $kk){
//插入关联表
$datad = [];
$datad['zone_id'] = $did;
$datad['topic_id'] = $kk;
$res = db::name('user_zone_topic')->insert($datad);
}
}
//判断是不是第一次发布
$count = db::name('user_zone')->where('user_id' , $uid)->count();
if($count <= 1){
//首次发布动态【完成任务】
model('DailyTasks')->tasks_complete($uid,12);
}
//发布的是几张 图片
$count_images = count(explode(',', $images));
if($count_images == 9){
$first = db::name('vs_user_zone_manjiujiang')->where('user_id' , $uid)->find();
if(!$first){
//发布动态头图上传满九张【完成任务】第一次给奖励
model('DailyTasks')->tasks_complete($uid,13);
db::name('vs_user_zone_manjiujiang')->insert(['user_id' => $uid, 'createtime' =>time()]);
}
}
//注册后累计发布M条动态奖励X金币 【完成任务】
model('DailyTasks')->tasks_complete($uid,16);
return ['code' => 1, 'msg' => '发布成功', 'data' => null];
} else {
return ['code' => 0, 'msg' => '发布失败', 'data' => null];
}
}
//获取动态列表
public function get_zone_list($uid, $page, $page_limit,$topic_id = 0)
{
$page = intval($page);
$page_limit = $page_limit < 10 ? $page_limit : 15;
$map = [];
if($topic_id){
//查询引用话题的动态ID
$topic_id = db::name('user_zone_topic')->where('topic_id' , $topic_id)->field('zone_id')->select();
$topic_id = array_map(function($item){
return $item['zone_id'];
},$topic_id);
$map['a.id'] = ['in',$topic_id];
}
$map['a.show_status'] = 1;//1:显示 0不显示
$map['a.is_delete'] = 1;//是否删除 1否2是
$map['b.status'] = ['<>',0];//是否注销 1正常2禁止登录0注销
$order_string = 'a.createtime desc'; //排序规则
$list = db::name('user_zone')->alias('a')->join('fa_user b', 'a.user_id = b.id','left')
->where($map)
->field('a.id,a.user_id,a.images,a.content,a.like_num,a.comment_num,a.is_recommend,b.nickname,b.sex,b.avatar,b.user_code,a.room_id,a.ip,a.createtime,a.topic_id')
->order($order_string)->page($page, $page_limit)->select();
foreach ($list as $k => &$v) {
//头像装扮
$v['dress'] = model('Decorate')->user_decorate_detail($v['user_id'],1);
$v['title'] = [];
if(isset($v['topic_id'])){
$top = explode(',', $v['topic_id']);
foreach ($top as $kk){
$title = db::name('topic')->where(['id' => $kk])->find();
if(isset($title)){
$title['topic_id'] = $title['id'];
$title['count'] = db::name('user_zone_topic')->where('topic_id',$kk)->count();
}
$v['title'][] =$title;
}
}
//房间分享到动态
if($v['room_id']){
//查询房主此时是否在聊天室
$room_id = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->value('room_id');
if ($room_id) {
$room = db::name('vs_room')->where(['id' => $room_id, 'room_status' => 1])->field('id,room_name,room_number,room_cover,room_intro,today_hot_value as hot_value,type_id')->find();
$v['room_id'] = $room['id'];
$v['room_cover'] = $room['room_cover'];
$v['room_type'] = db::name('vs_room_type')->where(['id' => $room['type_id'], 'status' => 1])->field('type_name');
$v['room_intro'] = $room['intro'];
$v['hot_value'] = $room['hot_value'];
$v['room_number'] = $room['room_number'];
$v['room_name'] = $room['room_name'];
} else {
$v['room_id'] = 0;
}
//分享出去的URL
$v['share_url'] = get_system_config_value('web_site').'/api/Share/zone_detail?id='.$v['id'];
}else{
$v['is_like'] = 0; //是否点赞is_room
$praise = db::name('user_zone_like')->where(['zone_id' => $v['id'], 'user_id' => $uid,'delete_time' => 0])->find();
if (!empty($praise)) {
$v['is_like'] = 1;
}
$v['room_id'] = 0; //是否在聊天室
//判断是否在聊天室
$room_id = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->order('id desc')->value('room_id');
if (isset($room_id)) {
$v['room_id'] = $room_id;
}
$v['rewards_num'] = 0;//打赏
$rewards = db::name('user_zone_rewards')->where('zone_id' , $v['id'])->field('sum(gift_price_total) as rewards_num')->find();
if (isset($rewards)) {
$v['rewards_num'] = $rewards['rewards_num']??0;
}
//分享出去的URL
$v['share_url'] = get_system_config_value('web_url').'/share/index.html?id='.$v['id'];
}
}
//根据 is_recommend = 1推荐 排序 推荐的拍前面
$top = array_filter((array)$list, function($item) { return $item['is_recommend'] == 1; });
$untop = array_filter((array)$list, function($item) { return $item['is_recommend'] != 1; });
$list = array_merge($top, $untop);
return ['code' => 1, 'msg' => '获取成功', 'data' => $list];
}
//动态详情
public function get_zone_info($zid,$uid=0)
{
$map = [];
$map['a.id'] = $zid;
$map['a.show_status'] = 1;//1:显示 0不显示
$map['a.is_delete'] =1;//是否删除 1否2是
$model = Db::name('UserZone')->alias('a')->join('fa_user b', 'a.user_id = b.id');
$model = $model->where($map);
$info = $model->field('a.id,a.user_id,a.images,a.content,a.like_num,a.read_num,a.comment_num,a.is_recommend,a.createtime,a.ip,b.nickname,b.sex,b.avatar,b.user_code,a.topic_id')->find();
if (empty($info)) {
return ['code' => 0, 'msg' => '动态不存在', 'data' => null];
}
$info['title'] = [];
if(isset($info['topic_id'])){
$top = explode(',', $info['topic_id']);
foreach ($top as $kk){
$title = db::name('topic')->where(['id' => $kk])->find();
if(isset($title)){
$title['topic_id'] = $title['id'];
$title['count'] = db::name('user_zone_topic')->where('topic_id',$kk)->count();
}
$info['title'][] =$title;
}
}
$info['is_like'] = 0; //是否点赞
if(isset($uid) && $uid > 0){
$praise = db::name('user_zone_like')->where(['zone_id' => $info['id'], 'user_id' => $uid,'delete_time' => 0])->find();
if (!empty($praise)) {
$info['is_like'] = 1;
}
}
//点赞列表
$info['like_list'] = [];
$praise_list = db::name('user_zone_like')->alias('a')->join('fa_user b', 'a.user_id = b.id')
->field('a.user_id,b.nickname,b.sex,b.avatar,b.birthday')
->where(['a.zone_id' => $zid,'a.delete_time' => 0])
->limit(3)
->select();
if (!empty($praise_list)) {
foreach ($praise_list as $k => &$v) {
if ($v['birthday']) {
$v['age'] = getAge($v['birthday']);
$v['constellation'] = get_user_constellation($v['birthday']);
}else{
$v['age'] = 0;
$v['constellation'] = '';
}
}
$info['like_list'] = $praise_list;
}
$info['room_id'] = "0";
//判断是否在聊天室
$rid = db::name('vs_room_visitor')->where(['user_id' => $info['user_id'], 'is_delete' => 1])->order('id desc')->value('room_id');
if ($rid) {
$info['room_id'] = $rid;
}
//打赏列表
$info['rewards_list'] = [];
$info['rewards_num'] = 0;//打赏金额
$rewards = db::name('user_zone_rewards')->where(['zone_id' => $info['id']])->field('sum(gift_price_total) as rewards_num')->find();
if ($rewards) {
$info['rewards_num'] = $rewards['rewards_num']??0;
$rewards_list = db::name('user_zone_rewards')->alias('a')->join('fa_user b', 'a.user_id = b.id')
->where(['a.zone_id' => $zid])->field('a.user_id,a.gift_price_total,b.nickname,b.avatar')
->order('a.gift_price_total desc')
->select();
if (!empty($rewards_list)) {
foreach ($rewards_list as $k => &$v) {
$v['room_id'] = 0; //是否在聊天室
$rrid = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->value('room_id');
if ($rrid) {
$v['room_id'] = $rrid;
}
}
$info['rewards_list'] = $rewards_list;
}
}
//评论数量
// $info['comment_num'] = db::name('user_zone_comment')->where(['zone_id' => $zid])->count();
$info['comment_list'] = [];
$comment_list = db::name('user_zone_comment')->alias('a')->join('fa_user b', 'a.user_id = b.id')
->where(['a.zone_id' => $zid,'a.is_delete' => 1,'pid' => 0,'is_show' => 1])
->field('a.id,a.user_id,a.content,a.createtime,b.nickname,b.avatar,b.sex,b.birthday')
->order('a.createtime desc')
->limit(3)
->select();
if (!empty($comment_list)) {
foreach ($comment_list as $k => &$v) {
//时间戳转换为日期格式
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
if ($v['birthday']) {
$v['age'] = getAge($v['birthday']);
$v['constellation'] = get_user_constellation($v['birthday']);
}else{
$v['age'] = 0;
$v['constellation'] = '';
}
}
$info['comment_list'] = $comment_list;
}
//分享出去的URL
$info['share_url'] = get_system_config_value('web_url').'/share/index.html?id='.$zid;
return ['code' => 1, 'msg' => '获取成功', 'data' => $info];
}
//(动态)评论
public function comment_zone($uid, $zid, $content,$pid, $reply_to)
{
$info = db::name('user_zone')->find($zid);
if (empty($info)) {
return ['code' => 0, 'msg' => "评论的动态不存在", 'data' => null];
}
Db::startTrans();
$data = [];
$data['zone_id'] = $zid;
$data['user_id'] = $uid;
$data['pid'] = $pid;
$data['reply_to'] = $reply_to;
$data['content'] = $content;
// $data['praise_num'] = 0;
$data['is_show'] = 1;
$data['createtime'] = time();
$reslut = db::name('user_zone_comment')->insert($data);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试,', 'data' => null];
}
//评论別人的帖子- 每天第一条奖励【完成任务】
if($info['user_id'] != $uid){
//今天的第一条评论奖励
$first_comment = db::name('user_zone_comment')->where(['user_id' => $uid, 'createtime' => ['between', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]]])->count();
if ($first_comment ==1) {
model('DailyTasks')->tasks_complete($uid,5);
}
}
//增加评论数量
$reslut = db::name('user_zone')->where('id', $zid)->setInc('comment_num', 1);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试。', 'data' => null];
}
//提醒说说动态发布人有人评论
$user_info=db::name('user')->where('id',$uid)->find();
$content = $user_info['nickname'] . "评论了您的动态";
// model('api/user_message')->send_message($info['user_id'], 4,$info['zid'], "我的动态", $content);
Db::commit();
return ['code' => 1, 'msg' => "评论成功", 'data' => null];
}
/**
* 获取评论及其回复
*/
public function getCommentsWithReplies($zid, $page, $page_limit)
{
// 获取顶级评论
$page = intval($page);
$page_limit = $page_limit < 30 ? $page_limit : 30;
$map = [];
$map['a.is_show'] = 1;
$map['a.zone_id'] = $zid;
$map['a.pid'] = 0;
$map['a.is_delete'] = 1;//是否删除 1否2是
$order_string = 'a.createtime desc'; //排序规则
$model = Db::name('user_zone_comment')->alias('a')->join('fa_user b', 'a.user_id = b.id');
$model = $model->where($map);
$list = $model->field('a.id,a.zone_id,a.content,a.createtime,a.user_id,b.nickname,b.avatar')
->order($order_string)->page($page, $page_limit)->select();
if ($list) {
$commentIds = array_column($list, 'id');
foreach ($list as $k => &$v) {
//判断评论用户是否是作者
$v['is_author'] = 0;
$uid = Db::name('user_zone')->where('id', $zid)->value('user_id');
if (isset($uid) && $v['user_id'] == $uid) {
$v['is_author'] = 1;
}
}
// 获取这些评论的回复
$replies = Db::name('user_zone_comment')->alias('a')->join('fa_user b', 'a.user_id = b.id')
->whereIn('a.pid', $commentIds)
->where('a.is_show', 1)
->where('a.is_delete', 1)
->field('a.id,a.reply_to,a.zone_id,a.content,a.createtime,a.user_id,b.nickname,b.avatar,a.pid')
->order('a.createtime', 'asc')
->select();
if($replies){
foreach ($replies as $k => &$vv) {
//判断评论用户是否是作者
$vv['is_author'] = 0;
$uidd = Db::name('user_zone')->where('id', $zid)->value('user_id');
if (isset($uidd) && $vv['user_id'] == $uidd) {
$vv['is_author'] = 1;
}
$vv['reply_to_user'] = "";
if(isset($vv['reply_to'])){
$vv['reply_to_user'] = Db::name('user')->where('id',$vv['reply_to'])->value('nickname');
}
}
// 将回复按父评论ID分组
$replyGroups = [];
foreach ($replies as $reply) {
$replyGroups[$reply['pid']][] = $reply;
}
}
// 将回复关联到对应的评论
foreach ($list as &$comment) {
$comment['replies'] = $replyGroups[$comment['id']] ?? [];
}
}
return ['code' => 1, 'msg' => '获取成功', 'data' => $list];
}
/**
* 获取评论总数
*/
public function getCommentCount($zid)
{
return Db::name('user_zone_comment')->where(['zone_id'=> $zid,'is_show' => 1, 'is_delete' => 1])->count();
}
//点赞 取消点赞
public function praise_zone($uid, $zid)
{
//第一条点赞奖励 【任务废弃】
// $first_praise = db::name('user_zone_like')->where('user_id',$uid)->find();
// if(empty($first_praise)){
// $kay = get_system_config_value('task_like_others_for_the_first_time');
// model('DailyTasks')->daily_tasks_complete($uid,$kay);
// }
$map['user_id'] = $uid;
$map['zone_id'] = $zid;
$info = db::name('user_zone_like')->where($map)->find();
if (!empty($info)) {
if ($info['delete_time'] == 0) {
$del1 = db::name('user_zone')->where('id',$zid)->setDec('like_num');
$del = db::name('user_zone_like')->where($map)->update(['delete_time' => time()]);
if (!$del || !$del1) {
return ['code' => 0, 'msg' => '请重试!', 'data' => null];
}
return ['code' => 1, 'msg' => '取消点赞成功', 'data' => null];
}else{
$add1 = db::name('user_zone')->where('id',$zid)->setInc('like_num');
$add = db::name('user_zone_like')->where($map)->update(['delete_time' => 0]);
if (!$add || !$add1) {
return ['code' => 0, 'msg' => '请重试!', 'data' => null];
}
return ['code' => 1, 'msg' => '点赞成功', 'data' => null];
}
}else{
Db::startTrans();
$data = [];
$data['user_id'] = $uid;
$data['zone_id'] = $zid;
$data['createtime'] = time();
$reslut = db::name('user_zone_like')->insert($data);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试!', 'data' => null];
}
//增加点赞数量
$reslut = db::name('user_zone')->where('id', $zid)->setInc('like_num');
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试!!', 'data' => null];
}
Db::commit();
return ['code' => 1, 'msg' => "点赞成功", 'data' => null];
}
}
//点赞列表
public function get_like_list($zid, $page, $page_limit)
{
$page = intval($page);
$page_limit = $page_limit < 30 ? $page_limit : 30;
$praise_list = db::name('user_zone_like')->alias('a')->join('fa_user b', 'a.user_id = b.id')
->field('a.user_id,b.nickname,b.sex,b.avatar,b.birthday')
->where('a.zone_id' , $zid)
->where('a.delete_time', 0)
->page($page, $page_limit)
->select();
if (!empty($praise_list)) {
foreach ($praise_list as $k => &$v) {
if ($v['birthday']) {
$v['age'] = getAge($v['birthday']);
$v['constellation'] = get_user_constellation($v['birthday']);
}else{
$v['age'] = 0;
$v['constellation'] = '';
}
}
}
return $praise_list;
}
//引用话题的动态
public function get_zone_topic_list($uid,$topic_id, $page, $page_limit)
{
$list = $this->get_zone_list($uid, $page, $page_limit,$topic_id);
return $list['data'];
}
//用户主页的动态列表
/*
* @param $uid 当前用户id
* @param $from_id 访问id 要看谁的ID
*/
public function get_user_zone_list($uid ,$from_id,$page=1, $page_limit=0)
{
$page = intval($page);
$page_limit = $page_limit < 30 ? $page_limit : 30;
$map = [];
$map['user_id'] = $from_id;
$map['show_status'] = 1;//1:显示
$map['is_delete'] =1;//是否删除 1否2是
$order_string = 'createtime desc'; //排序规则
$model = Db::name('user_zone');
$list = $model->where($map)
->field('id,images,content,like_num,comment_num,user_id,createtime,topic_id')
->order($order_string)->page($page, $page_limit)->select();
foreach ($list as $k => &$v) {
$v['is_like'] = 0; //是否点赞
$praise = db::name('user_zone_like')->where(['zone_id' => $v['id'], 'user_id' => $uid])->find();
if (!empty($praise)) {
$v['is_like'] = 1;
}
$v['rewards_num'] = 0;
$rewards = db::name('user_zone_rewards')->where(['zone_id' => $v['id']])->field('sum(gift_price_total) as rewards_num')->find();
if ($rewards) {
$v['rewards_num'] = $rewards['rewards_num']??0;
}
$v['avatar'] = db::name('user')->where('id', $v['user_id'])->value('avatar');
$v['nickname'] = db::name('user')->where('id', $v['user_id'])->value('nickname');
$v['sex'] = db::name('user')->where('id', $v['user_id'])->value('sex');
//头像装扮
$v['dress'] = model('Decorate')->user_decorate_detail($v['user_id'],1);
$v['title'] = [];
if(isset($v['topic_id'])){
$top = explode(',', $v['topic_id']);
foreach ($top as $kk){
$title = db::name('topic')->where(['id' => $kk])->find();
if(isset($title)){
$title['topic_id'] = $title['id'];
$title['count'] = db::name('user_zone_topic')->where('topic_id',$kk)->count();
}
$v['title'][] =$title;
}
}
}
return $list;
}
//删除动态
public function delete_zone($uid, $zid)
{
$map['user_id'] = $uid;
$map['id'] = $zid;
$map['is_delete'] = 1;
$zone_info = db::name('user_zone')->where($map)->find();
if (empty($zone_info)) {
return ['code' => 0, 'msg' => '信息不存在', 'data' => null];
}
$data = [];
$data['is_delete'] = 2;
$data['delete_time'] = time();
$reslut = db::name('user_zone')->where('id', $zid)->update($data);
if ($reslut) {
return ['code' => 1, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 0, 'msg' => '删除失败', 'data' => null];
}
}
//删除评论
public function delete_zone_comment($uid,$cid)
{
$map = [];
$map['user_id'] = $uid;
$map['id'] = $cid;
$map['is_delete'] =1;
$comment_info = db::name('user_zone_comment')->where($map)->find();
if (empty($comment_info)) {
return ['code' => 0, 'msg'=> '评论不存在', 'data' => null];
}
$data = [];
$data['is_delete'] = 2;
$data['updatetime'] = time();
//开启事务
Db::startTrans();
try {
$reslut = db::name('user_zone_comment')->where('id', $cid)->update($data);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试!', 'data' => null];
}
//删除评论的回复
$dd = db::name('user_zone_comment')->where('pid', $cid)->find();
if($dd){
$reslut1 = db::name('user_zone_comment')->where('pid', $cid)->update(['is_delete' => 2,'updatetime' => time()]);
if (!$reslut1) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试!!', 'data' => null];
}
}
//减少评论数量
$num = db::name('user_zone_comment')->where('pid', $cid)->count();
if($num > 0){
$num = $num + 1;
}else{
$num = 1;
}
$reslut2 = db::name('user_zone')->where('id', $comment_info['zone_id'])->setDec('comment_num', $num);
if (!$reslut2) {
Db::rollback();
return ['code' => 0, 'msg' => '请重试!!', 'data' => null];
}
Db::commit();
return ['code' => 1, 'msg' => '删除成功', 'data' => null];
}
catch (\Exception $e) {
Db::rollback();
return ['code' => 0, 'msg' => "请重试.", 'data' => null];
}
}
//扩列
public function expand_zone($uid, $type, $page, $page_limit)
{
$page = intval($page);
$page_limit = $page_limit < 30 ? $page_limit : 30;
if($type){
$map['a.sex'] = $type;
}else{
$map['a.sex'] = ['in', [1, 2]];
}
$map['a.status'] = 1;
//查询用户信息
$user_info = db::name('user')->alias('a')->join('fa_user_data b', 'a.id = b.user_id')
->where($map)->field('a.id as user_id,a.sex,a.nickname,a.avatar,a.birthday,a.address_ip as loginip,b.home_bgimages')
->order('a.id desc')
->page($page, $page_limit)
->select();
if($user_info){
foreach ($user_info as &$v){
if($v['loginip'] == null){
$v['loginip'] = '未知';
}else{
//获取字符串的长度和 判断字符串里面是否有,
if((mb_strlen($v['loginip'], 'utf-8') > 8 && mb_strpos($v['loginip'], ',') !== false)){
$ipd = explode(',', $v['loginip']);
$v['loginip'] = $ipd[0].' · '.$ipd[1];//省·市
}else{
$v['loginip'] = '未知';
}
}
$v['room_id'] = 0;
//是否在房间
$is_room = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->order('id desc')->value('room_id');
if ($is_room) {
$v['room_id'] = $is_room;
}
//用户等级标
$v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标
$v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标
}
}
return $user_info;
}
//相互关注的用户
public function mutual_follow($uid, $page, $page_limit)
{
$page = intval($page);
$page_limit = $page_limit < 30 ? $page_limit : 30;
$map = [];
$map['a.user_id'] = $uid;//我关注的
$map['a.type'] = 1;
$model = Db::name('user_follow')->alias('a')->join('fa_user b', 'a.follow_id = b.id');
$list = $model->where($map)
->field('b.id as user_id,b.nickname,b.avatar,b.sex')
->order('a.id desc')
->page($page, $page_limit)
->select();
$user_list = [];
if($list){
foreach ($list as &$v){
//我关注的是否关注我了
$is_follow = db::name('user_follow')->where(['user_id' => $v['id'], 'follow_id' => $uid, 'type' => 1])->find();
if($is_follow){
$i = 0;
$user_list[$i]['user_id'] = $v['user_id'];
$user_list[$i]['nickname'] = $v['nickname'];
$user_list[$i]['avatar'] = $v['avatar'];
$user_list[$i]['sex'] = $v['sex'];
$i++;
}
}
}
return $user_list??[];
}
}