field('lid,name,image,images,pay_price,renew_price,pay_coin,renew_coin,day,power_ids') ->where('delete_time', 0) ->select(); //爵位特权 $power_count = db::name('vs_nobility_power') ->field('id,name,image') ->where('delete_time', 0) ->count(); $return = []; foreach ($nobility_list as $key => $value) { $power_ids = explode(',', $value['power_ids']); $return[$key]['name'] = $value['name']; $return[$key]['image'] = $value['image']; $return[$key]['pay_price'] = $value['pay_price']; $power_list = db::name('vs_nobility_power') ->field('id,name,image') ->whereIn('id', $power_ids) ->where('delete_time', 0) ->select(); $return[$key]['power']['power_count'] = $power_count; $return[$key]['power']['this_power_count'] = count($power_list); $return[$key]['power']['count_str'] = $power_count."/".count($power_list); $return[$key]['power']['list'] = $power_list; } return ['code' => 1, 'msg' => '成功', 'data' => $return]; } //爵位详情 public static function getNobilityInfo($user_id,$lid){ $nobility_info = db::name('vs_nobility') ->field('lid,name,image,images,pay_price,renew_price,pay_coin,renew_coin,day,power_ids') ->where('delete_time', 0) ->where('lid', $lid) ->find(); $user_info = db::name('user') ->field('id,nickname,avatar') ->where('delete_time', 0) ->where('id', $user_id) ->find(); $user_nobility_info = db::name('vs_user_nobility') ->field('id,user_id,lid,end_time') ->where('delete_time', 0) ->where('user_id', $user_id) ->find(); $return = []; $return['user_info'] = $user_info; $return['nobility_info']['name'] = $nobility_info['name']; $return['nobility_info']['image'] = $nobility_info['image']; if ($user_nobility_info) { if($user_nobility_info['lid'] == $lid){ $return['nobility_info']['status'] = 1; //去续费 }else{ $return['nobility_info']['status'] = 2; //去升级 } }else{ $return['nobility_info']['status'] = 0; //去开通 } $return['nobility_info']['end_time'] = $user_nobility_info['end_time']??0; $return['nobility_power_list'] = []; //爵位列表 $nobility_list = db::name('vs_nobility') ->field('lid,name,power_ids') ->where('delete_time', 0) ->select(); //权限列表 $power_list = db::name('vs_nobility_power') ->field('id,name,image') ->where('delete_time', 0) ->select(); foreach ($power_list as $key => $value) { $return['nobility_power_list'][$key] = $value; foreach ($nobility_list as $k => $v) { $power_ids = explode(',', $v['power_ids']); unset($v['power_ids']); if (in_array($value['id'], $power_ids)) { $v['status'] = 1; //是 }else{ $v['status'] = 0; //否 } $return['nobility_power_list'][$key]['nobility_list'][$k] = $v; } } return ['code' => 1, 'msg' => '成功', 'data' => $return]; } }