作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

... ... @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Api\BaseController;
use App\Models\Ticket\Project5Cate;
use App\Models\WorkOrder\TicketProject;
use Illuminate\Support\Facades\Http;
class Project5CateController extends BaseController
{
... ... @@ -26,12 +27,14 @@ class Project5CateController extends BaseController
public function getProject5Cate(){
$this->request->validate([
'post_id'=>'required',
'type'=>'required',
],[
'post_id.required' => 'post_id不能为空',
'type.required' => '类型不能为空',
]);
//查询是否有值
$project5CateModel = new Project5Cate();
$cateInfo = $project5CateModel->read(['project_id' => $this->param['post_id'],'updated_at'=>['>', date('Y-m-d H:i:s', strtotime('-48 hours'))]]);
$cateInfo = $project5CateModel->read(['project_id' => $this->param['post_id'],'type'=>$this->param['type'],'updated_at'=>['>', date('Y-m-d H:i:s', strtotime('-48 hours'))]]);
if($cateInfo !== false){
$resultData = $cateInfo['text'];
$this->response('success', Code::SUCCESS, $resultData);
... ... @@ -42,18 +45,72 @@ class Project5CateController extends BaseController
if($projectInfo === false){
$this->response('当前项目不存在或数据未同步',Code::SYSTEM_ERROR);
}
$url = $projectInfo['website'].'/wp-admin/admin-ajax.php?action=get_products_category';
//todo::目前写死
$projectInfo['website'] = 'https://devmark.globalso.com/';
$action = $project5CateModel->getCateTypeAction($this->param['type']);
if(empty($action)){
$this->response('未知请求',Code::SYSTEM_ERROR);
}
$url = $projectInfo['website'].'wp-admin/admin-ajax.php?action='.$action;
$data = http_get($url);
if($data && $data['status'] == 200){
$resultData = $data['data'];
$saveData = [
'project_id' => $projectInfo['post_id'],
'domain' => $projectInfo['domain'],
'domain' => $projectInfo['website'],
'text'=>json_encode($data['data']),
'type' => $this->param['type'],
];
$project5CateModel->addReturnId($saveData);
$this->response('success', Code::SUCCESS,$resultData);
}
$this->response('success',Code::SUCCESS,$url);
}
/**
* @remark :新增分类
* @name :addProject5Cate
* @author :lyh
* @method :post
* @time :2025/11/8 10:25
*/
public function addProject5Cate()
{
$this->request->validate([
'post_id'=>'required',
'type'=>'required',
'name'=>'required',
'parent'=>'required',
],[
'post_id.required' => 'post_id不能为空',
'type.required' => '类型不能为空',
'name.required' => '名称不能为空',
'parent.required' => '上级ID不能为空',
]);
//获取域名
$ticketProjectMdoel = new TicketProject();
$projectInfo = $ticketProjectMdoel->read(['post_id' => $this->param['post_id']]);
if($projectInfo === false){
$this->response('当前项目不存在或数据未同步',Code::SYSTEM_ERROR);
}
$project5CateModel = new Project5Cate();
//todo::目前写死,上线放开
$projectInfo['website'] = 'https://devmark.globalso.com/';
$action = $project5CateModel->saveCateTypeAction($this->param['type']);
$url = $projectInfo['website'].'wp-admin/admin-ajax.php?action='.$action;
if(empty($action)){
$this->response('未知请求',Code::SYSTEM_ERROR);
}
$response = Http::withHeaders([])->asForm()->post($url, [
'name' => $this->param['name'],
'parent' => $this->param['parent'] ?? 0,
]);
if ($response->successful()) {
$result = $response->json(); // 获取 JSON 响应体
if($result && $result['status'] == 200){
$this->response('success');
}
}
$this->response('请求失败',Code::SYSTEM_ERROR);
}
}
... ...
... ... @@ -61,11 +61,11 @@ class GeoLogic extends BaseLogic
}
//负责人集合
$geo_manage_list = $geoConfModel->geoManage();
// geo配置管理员,已经移除管理员列表,补充管理员信息
if ($geo_conf && isset($geo_conf['manager_id']) && empty($geo_manage_list[$geo_conf['manager_id']])) {
$manage = ManageHr::where(['id' => $geo_conf['manager_id']])->pluck('name', 'id')->toArray();
$geo_manage_list = array_merge($geo_manage_list, $manage);
}
// // geo配置管理员,已经移除管理员列表,补充管理员信息
// if ($geo_conf && isset($geo_conf['manager_id']) && empty($geo_manage_list[$geo_conf['manager_id']])) {
// $manage = ManageHr::where(['id' => $geo_conf['manager_id']])->pluck('name', 'id')->toArray();
// $geo_manage_list = array_merge($geo_manage_list, $manage);
// }
$result = [
'project_geo_conf' => $project_geo_conf,
'geo_conf' => $geo_conf,
... ...
... ... @@ -563,7 +563,7 @@ class RankDataLogic extends BaseLogic
$without_project_ids = []; //不用处理排名的项目
$without_extension_project_ids = [658]; //是否达标只统计主词的
$extension_project_ids = [354]; //扩展词也到达标的
$compliance_project_ids = [2163,257,823,1750,497,1006,2663]; //直接达标处理的
$compliance_project_ids = [2163,257,823,1750,497,1006,2663,255]; //直接达标处理的
$ceaseProjectId = [354, 378, 649, 1226, 1283, 1703, 1893, 2066, 2250,2193,2399,1685, 3931,2273,3647,1934];//暂停的项目
$uptimeProjectId = [1434,1812,276,2414,2974];//按上线时间统计的项目
//一个项目多个api_no
... ...
... ... @@ -39,7 +39,7 @@ class GeoConf extends Base
return $optimize;
}
// 没有搜索条件时使用缓存
$key = 'geo_manage_list_' . date('Ymd');
$key = 'geo_manage_list';
$optimize = Cache::get($key);
if (empty($optimize)) {
$optimize = ManageHr::where(function($query) {
... ...
... ... @@ -29,4 +29,35 @@ class Project5Cate extends Base
}
return $value;
}
/**
* @remark :请求的方法
* @name :getCateType
* @author :lyh
* @method :post
* @time :2025/11/8 10:22
*/
public function getCateTypeAction($type = '')
{
$data = [
1 => 'get_products_category',
3 => 'get_news_category',
];
if(!empty($type)){
return $data[$type];
}
return '';
}
public function saveCateTypeAction($type = '')
{
$data = [
1 => 'add_products_category',
3 => 'add_news_category',
];
if(!empty($type)){
return $data[$type];
}
return '';
}
}
... ...
... ... @@ -111,6 +111,8 @@ Route::prefix('ticket_upload')->group(function () {
Route::any('/getLayoutDesignInfo', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getLayoutDesignInfo'])->name('ticket_upload.getLayoutDesignInfo');
//5.0获取分类
Route::any('/getProject5Cate', [\App\Http\Controllers\Api\WorkOrder\Project5CateController::class, 'getProject5Cate'])->name('ticket_upload.getProject5Cate');
Route::any('/addProject5Cate', [\App\Http\Controllers\Api\WorkOrder\Project5CateController::class, 'addProject5Cate'])->name('ticket_upload.addProject5Cate');
});
//geo设置
Route::prefix('geo')->group(function () {
... ...