|
...
|
...
|
@@ -12,6 +12,7 @@ use App\Http\Logic\Bside\User\UserLoginLogic; |
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Product\Category;
|
|
|
|
use App\Models\Product\CategoryRelated;
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Models\Product\Product;
|
|
|
|
use App\Models\Project\OnlineCheck;
|
|
|
|
use App\Models\Project\Project;
|
|
...
|
...
|
@@ -151,11 +152,7 @@ class PrivateController extends BaseController |
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :模拟登录返回token
|
|
|
|
* @name :getToken
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/3/29 16:19
|
|
|
|
* 模拟登录返回token
|
|
|
|
*/
|
|
|
|
public function getAutoToken(){
|
|
|
|
$this->request->validate([
|
|
...
|
...
|
@@ -201,4 +198,96 @@ class PrivateController extends BaseController |
|
|
|
$product_route = Product::where(['status' => Product::STATUS_ON])->whereNotIn('id', $feature_product)->pluck('route')->toArray();
|
|
|
|
return $this->success($product_route);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取项目信息---站群服务
|
|
|
|
* @param Request $request
|
|
|
|
* @return false|string
|
|
|
|
*/
|
|
|
|
public function getProjectByDomain(Request $request)
|
|
|
|
{
|
|
|
|
$domain = trim($request->input('domain'));
|
|
|
|
if (empty($domain)) {
|
|
|
|
return $this->error('非法参数!');
|
|
|
|
}
|
|
|
|
|
|
|
|
$project = Project::getProjectByDomain($domain);
|
|
|
|
if (empty($project)) {
|
|
|
|
return $this->error('未找到当前域名对应的项目!');
|
|
|
|
}
|
|
|
|
$optimize = $project->optimize;
|
|
|
|
$keyword = $project->project_keyword;
|
|
|
|
$keywords = explode("\r\n", $keyword ? $keyword->main_keyword : []);
|
|
|
|
$result = [
|
|
|
|
'company' => $project->company,
|
|
|
|
'company_en_name' => $optimize ? $optimize->company_en_name : '',
|
|
|
|
'company_en_description' => $optimize ? $optimize->company_en_description : '',
|
|
|
|
'keywords' => $keywords
|
|
|
|
];
|
|
|
|
return $this->success($result);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取产品信息---站群服务
|
|
|
|
* @param Request $request
|
|
|
|
* @return false|string
|
|
|
|
*/
|
|
|
|
public function getProjectProduct(Request $request)
|
|
|
|
{
|
|
|
|
$domain = trim($request->input('domain'));
|
|
|
|
$page_size = intval($request->input('page_size', 20));
|
|
|
|
if (empty($domain)) {
|
|
|
|
return $this->error('非法参数!');
|
|
|
|
}
|
|
|
|
|
|
|
|
$project = Project::getProjectByDomain($domain);
|
|
|
|
if (empty($project)) {
|
|
|
|
return $this->error('未找到当前域名对应的项目!');
|
|
|
|
}
|
|
|
|
ProjectServer::useProject($project->id);
|
|
|
|
$products = Product::with('category')->where(['status' => Product::STATUS_ON])->paginate($page_size);
|
|
|
|
|
|
|
|
// $products_ids = $products->pluck('id')->toArray();
|
|
|
|
// $category_ids = CategoryRelated::whereIn('product_id', $products_ids)->pluck('cate_id')->toArray();
|
|
|
|
// $category = Category::whereIn('id', $category_ids)->pluck('title', 'id')->toArray();
|
|
|
|
|
|
|
|
$keyword_id = $products->pluck('keyword_id')->toArray();
|
|
|
|
$keyword_ids = array_reduce($keyword_id, 'array_merge', array());
|
|
|
|
$keyword = Keyword::whereIn('id', $keyword_ids)->pluck('title', 'id')->toArray();
|
|
|
|
|
|
|
|
$result = [];
|
|
|
|
foreach ($products as $product) {
|
|
|
|
$product_keyword = [];
|
|
|
|
foreach ($product->keyword_id as $k_id) {
|
|
|
|
array_push($product_keyword, $keyword[$k_id]);
|
|
|
|
}
|
|
|
|
$product_category = $product->category->pluck('title')->toArray();
|
|
|
|
$result[] = [
|
|
|
|
'title' => $product->title,
|
|
|
|
'thumb' => $product->thumb,
|
|
|
|
'gallery' => $product->gallery,
|
|
|
|
'intro' => $product->intro,
|
|
|
|
'content' => $product->content,
|
|
|
|
'category' => $product_category,
|
|
|
|
'keyword' => $product_keyword,
|
|
|
|
'route' => $product->route
|
|
|
|
];
|
|
|
|
}
|
|
|
|
return $this->success($result);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取上线项目 --- 监控服务
|
|
|
|
* @param Request $request
|
|
|
|
* @return false|string
|
|
|
|
*/
|
|
|
|
public function getProjectOnline(Request $request)
|
|
|
|
{
|
|
|
|
$page_size = intval($request->input('page_size', 20));
|
|
|
|
$projects = Project::select(['id', 'title', 'company', 'type', 'finish_remain_day', 'remain_day'])->whereIn('type', [2, 3, 4, 6])->where('delete_status', 0)->paginate($page_size);
|
|
|
|
foreach ($projects as $project) {
|
|
|
|
$project->domain = $project->domainInfo ? $project->domainInfo->domain : '';
|
|
|
|
}
|
|
|
|
return $this->success($projects);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|