永不落伍 发表于 2017-12-15 14:48:58

没有无缘无故的荣耀-------赵兴壮 come on

//是否只查mx  $mx_on_switch = I("post.mx_on_switch");
  //mx模糊查询
  $mx_vague_check = I("post.mx_vague_check");
  //邮箱品牌
  $mail_brand = I("post.mail_brand");
  //智能客服品牌
  $contacttool_brand = I('post.contacttool_brand');
  //域名注册人
  $people = I("post.people");
  //注册机构
  $registrar = I("post.registrar");
  //是否只查标题
  $mx_switch_title = I("post.mx_switch_title");
  //网站标题
  $wwwtitle = I("post.wwwtitle");
  $province = I("post.province");
  

  $filter = [];
  if (!empty($mail_brand)) {
  $filter['mx.brand_id'] = ($mail_brand);
  }
  if (!empty($contacttool_brand)) {
  $filter['contacttool.brand_id'] = ($contacttool_brand);
  }
  if ($mx_switch_title == 20 || empty($province)) {
  $filter["wwwtitle"] = ['$ne' => 'null'];
  }
  //网站标题
  if (!empty($wwwtitle)) {
  $filter['wwwtitle'] = new \MongoDB\BSON\Regex(".*{$wwwtitle}.*", '');
  }
  //只带mx的查询
  if ($mx_on_switch == 20 || empty($province)) {
  $filter["mx"] = ['$exists' => true];
  }
  //mx模糊查询
  if (!empty($mx_vague_check)) {
  $filter["mx.mx"] = new \MongoDB\BSON\Regex(".*{$mx_vague_check}.*", '');
  }
  

  //如果没有传递省份
  if (empty($province)) {
  $province = "shandong";
  }
  try {
  $options_base = ['connectTimeoutMS' => 500000, 'socketTimeoutMS' => 500000];
  $manager = new \MongoDB\Driver\Manager(C('mongodb_auth_url'), $options_base);
  $coll = C('default_db') . '.' . $province;
  $options = [
  "skip" => $page,
  "limit" => $rows,
  'projection' => ['createdate' => 0,
  'expiresdate' => 0,
  'registrant_city' => 0,
  'registrant_street' => 0,
  'registrant_state' => 0,
  'updatedate' => 0,
  'whoisserver_id' => 0,
  'registrar_name_id' => 0,
  'id' => 0,
  ],
  ];
  //查询记录总的数量
  $commands = [
  'count' => $province,
  'query' => $filter
  ];
  $command = new \MongoDB\Driver\Command($commands);
  $cursor = $manager->executeCommand('mxmanage', $command);
  $info = $cursor->toArray();
  $count = $info->n;
  $query = new \MongoDB\Driver\Query($filter, $options);
  $rows = $manager->executeQuery($coll, $query);
  $info = [];
  foreach ($rows as $document) {
  $doc = (array)$document;
  $doc['_id'] = (string)$doc['_id'];
  $doc['mail_brand_name'] = $doc['mx']->brand_name;
  $doc['mail_mx'] = $doc['mx']->mx ?: '';
  $doc['contacttool_brand_name'] = $doc['contacttool']->brand_name;
  $doc['mx_changetime'] = !$doc['mx_changetime'] ? '' : ('Y-m-d H:i', $doc['mx_changetime']);
  $doc['contacttool_changetime'] = !$doc['contacttool_changetime'] ? '' : ('Y-m-d H:i', $doc['contacttool_changetime']);
  unset($doc['mx']);
  unset($doc['contacttool']);
  $info[] = $doc;
  }
  } catch (\MongoDB\Driver\Exception $e) {
  echo $e->getMessage(), "\n";
  exit;
  }
  return json_encode(array("total" => $count, "rows" => $info));
页: [1]
查看完整版本: 没有无缘无故的荣耀-------赵兴壮 come on