帮我完善 把 黑名单以内的 不查询的逻辑 /** * 查询首页对象列表new *@param String[字符串] fangchan_status 房产 *@param String[字符串] cheliang_status 车辆 *@param String[字符串] age 年龄区间18 - 100 *@param String[字符串] xueli_id 学历管理ID *@param String[字符串] yueshouru_id 月收入管理ID *@param String[字符串] hukou_address_city 市 *@param String[字符串] gongzuo_address_city 市 *@param String[字符串] laojia_address_city 市 *@create_time 2025-11-06 16:46:52 */ public function get_user_new_end($data = [], $user = [], $member_id = 0) { $member_id = ltrim('m14666', 'm'); $return_data = []; if (isset($data['hash']) && isset($data['alias']) && isset($data['data'])) { $data = $data['data']; } Db::startTrans(); try { // 查询会员列表 $where = []; $where[] = ['id', '=', \app\comfunction\service\User::get_token_user_id($user)]; $query_0 = Db::table('lb_user') ->where($where) ->value('is_vip'); if($query_0 == 1){ // 设置变量会员列表 $select_limit_num = member_config_com('user.vip_home_num'); } else{ // 设置变量会员列表 $select_limit_num = member_config_com('user.user_home_num'); } // 多表查询会员列表&择偶要求&月收入管理&学历管理 $whereUser = []; $whereUser[] = ['user.status', '=', 1]; $whereUser[] = ['user.is_del', '=', 0]; if($data['user_id']){ //不查询自己 并且只查询反性别 $whereUser[] = ['user.id', 'neq', $data['user_id']]; $gender = Db::name('user')->where('id',$data['user_id'])->value('gender'); $whereUser[] = ['user.gender', 'neq', $gender]; // dump($whereUser);die; } if (!empty($data['height'])) { $value_arr = explode(' - ', $data['height']); $whereUser[] = ['user.shengao', '>=', $value_arr[0] ]; $whereUser[] = ['user.shengao', '<=', $value_arr[1] ]; } if (!empty($data['fangchan_status'])) { $whereUser[] = ['user.fangchan_status', '=', $data['fangchan_status']]; } if (!empty($data['cheliang_status'])) { $whereUser[] = ['user.cheliang_status', '=', $data['cheliang_status']]; } if (isset($data['age'])) { $value_arr = explode(' - ', $data['age']); $whereUser[] = ['user.age', '>=', $value_arr[0] ]; $whereUser[] = ['user.age', '<=', $value_arr[1] ]; } if (!empty($data['xueli_id'])) { $whereUser[] = ['user.xueli_id', '=', $data['xueli_id']]; //可能传来的是数据库可能是 1,2,3 } if (!empty($data['yueshouru_id'])) { $whereUser[] = ['user.yueshouru_id', '=', $data['yueshouru_id']]; } if (!empty($data['hukou_address_city'])) { $whereUser[] = ['user.hukou_address_city', '=', $data['hukou_address_city']]; } if (!empty($data['gongzuo_address_city'])) { $whereUser[] = ['user.gongzuo_address_city', '=', $data['gongzuo_address_city']]; } if (!empty($data['laojia_address_city'])) { $whereUser[] = ['user.laojia_address_city', '=', $data['laojia_address_city']]; } $whereZeouyaoqiu = []; if (!empty($data['qiwang_jiehun_status'])) { $whereZeouyaoqiu[] = ['zeouyaoqiu.jiehun_status', '=', $data['qiwang_jiehun_status']]; } // 这是拉黑表的逻辑 现在要把 黑名单以内的 不能查询出 // $info = Db::name("grass_forbidden")->where([ // 'user_id'=>$user_id, // 'forbidden_user_id'=>$data['forbidden_user_id'], // ])->find(); $list_rows = $select_limit_num; $query_6 = Db::table('lb_user') ->alias('user') ->join('lb_zeouyaoqiu zeouyaoqiu', 'zeouyaoqiu.user_id = user.id', 'left') ->join('lb_yueshouru yueshouru', 'yueshouru.aid = user.yueshouru_id', 'left') ->join('lb_xueli xueli', 'xueli.aid = user.xueli_id', 'left') ->where($whereUser) ->where($whereZeouyaoqiu) ->field("user.id,user.birthday,user.nickname,user.avatar,user.mobile,user.gender,user.is_vip,user.zhaopian,user.shengao,user.tizhong,user.gongzuo_address,user.zhiye,user.fangchan_status,user.cheliang_status,user.jieshao as miaoshu,user.is_zhongshen,user.age") ->field("yueshouru.income_name as yueshouru_name") ->field("xueli.academic_degree_name as xueli_name") ->order('user.id desc') ->limit($list_rows) ->select(); foreach ($query_6 as $key_1761275340425 => &$value_1761275340425) { // 设置变量会员列表 $is_collect = 0; if(!empty($data['user_id'])){ // 查询收藏列表 $where = []; $where[] = ['shoucang_user_id', '=', $value_1761275340425['id']]; if (isset($data['user_id'])) { $where[] = ['user_id', '=', $data['user_id']]; } $query_10 = Db::table('lb_user_shoucang') ->where($where) ->find(); if(!empty($query_10)){ // 设置变量会员列表 $is_collect = 1; } } // 设置变量会员列表 $is_jiesuo = 0; if(!empty($data['user_id'])){ // 查询解锁记录 $where = []; $where[] = ['to_user_id', '=', $value_1761275340425['id']]; if (isset($data['user_id'])) { $where[] = ['user_id', '=', $data['user_id']]; } $query_17 = Db::table('lb_user_jiesuo_log') ->where($where) ->find(); if(!empty($query_17)){ // 设置变量会员列表 $is_jiesuo = 1; } } // 扩展对象会员列表 $value_1761275340425['age'] = get_age($value_1761275340425['birthday']); if($value_1761275340425['gongzuo_address']){ $value_1761275340425['gongzuo_address_province_name'] = \app\comfunction\service\Address::transferAreaName($value_1761275340425['gongzuo_address'],','); $value_1761275340425['gongzuo_address_province_name'] = explode(',',$value_1761275340425['gongzuo_address_province_name'])[0]; }else{ $value_1761275340425['gongzuo_address_province_name'] = ''; } $value_1761275340425['gongzuo_address'] = \app\comfunction\service\Address::transferAreaName($value_1761275340425['gongzuo_address']); $value_1761275340425['fangchan_status_name'] = \app\comfunction\service\Tools::transferProperty($value_1761275340425['fangchan_status'],'user','fangchan_status',14666); $value_1761275340425['cheliang_status_name'] = \app\comfunction\service\Tools::transferProperty($value_1761275340425['cheliang_status'],'user','cheliang_status',14666); // if($value_1761275340425['gender'] == 1){ // // 设置变量会员列表 // $avatar_moren = member_config_com('moren_man'); // }elseif($value_1761275340425['gender'] == 2){ // // 设置变量会员列表 // $avatar_moren = member_config_com('moren_women'); // } // // 设置变量会员列表 // $avatar_moren_img = get_file_url($avatar_moren,0,0); // // dump($avatar_moren_img); // $value_1761275340425['avatar'] = $avatar_moren_img; $value_1761275340425['gender'] = \app\comfunction\service\Tools::transferProperty($value_1761275340425['gender'],'user','gender',14666); $value_1761275340425['is_collect'] = $is_collect; // var_dump($value_1761275340425['zhaopian']);die; $value_1761275340425['zhaopian'] = get_files_url($value_1761275340425['zhaopian']); if(!empty($value_1761275340425['zhaopian'])){ $value_1761275340425['avatar'] = $value_1761275340425['zhaopian'][0]; } if($value_1761275340425['id'] == $data['user_id']){ $is_jiesuo = 1; } $value_1761275340425['is_jiesuo'] = $is_jiesuo; } $return_data = $query_6; Db::commit(); } catch (\Exception $e){ Db::rollback(); $msg = $e->getMessage(); $code = $e->getCode(); return ApiReturn::r($code, [], $msg); } return ApiReturn::r(1, $return_data, lang('首页获取对象列表成功')); }
最新发布