|
@@ -43,4 +43,42 @@ class UrlsService extends BaseService
|
|
}
|
|
}
|
|
return $this->urlsLogModel->findOneBy($map, $fields);
|
|
return $this->urlsLogModel->findOneBy($map, $fields);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取短地址详情
|
|
|
|
+ */
|
|
|
|
+ public function getShortUrlHits($urls)
|
|
|
|
+ {
|
|
|
|
+ $map = [];
|
|
|
|
+ $keys = $this->getKeyByUrls($urls);
|
|
|
|
+ if (is_array($urls)) {
|
|
|
|
+ $map['key'] = ['in', $keys];
|
|
|
|
+ } else {
|
|
|
|
+ $map['key'] = $keys;
|
|
|
|
+ }
|
|
|
|
+ $list = $this->findBy($map, '`key`,hits,uv');
|
|
|
|
+ if (is_array($urls)) {
|
|
|
|
+ return $list;
|
|
|
|
+ } else {
|
|
|
|
+ return $list[0] ?? [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取url对应的key
|
|
|
|
+ */
|
|
|
|
+ public function getKeyByUrls($urls)
|
|
|
|
+ {
|
|
|
|
+ $keys = [];
|
|
|
|
+ if (is_array($urls)) {
|
|
|
|
+ foreach ($urls as $url) {
|
|
|
|
+ $pathInfo = parse_url($url);
|
|
|
|
+ $keys[] = trim($pathInfo['path'], '/');
|
|
|
|
+ }
|
|
|
|
+ return $keys;
|
|
|
|
+ } else {
|
|
|
|
+ $pathInfo = parse_url($urls);
|
|
|
|
+ return trim($pathInfo['path'], '/');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|