作者 刘锟

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into develop

... ... @@ -53,7 +53,7 @@ class RankData extends BaseCommands
}
foreach ($list as $item){
try {
(new RankDataLogic())->syncRankData($item['api_no']);
(new RankDataLogic())->syncRankData($item['api_no'], $site_res);
}catch (\Exception $e){
LogUtils::info('rank_data error:' . $e->getMessage());
$error++;
... ...
... ... @@ -152,4 +152,49 @@ class ATemplateController extends BaseController
$aTemplateLogic->setTemplate();
$this->response('success');
}
/**
* 提供列表给提单后台, 路由没有任何中间件
* @param ATemplateLogic $aTemplateLogic
*/
public function getTemplateList(ATemplateLogic $aTemplateLogic)
{
// 验证来源
$referer = request()->header('referer');
$referer = parse_url($referer, PHP_URL_HOST);
if (empty($referer) || false == in_array($referer, ['oa.cmer.com', 'quanqiusou.cn', 'zgjoa.globalso.com'])) {
$this->response('非法请求',Code::SYSTEM_ERROR, []);
}
$lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order);
$result = [];
if(!empty($lists) && !empty($lists['list'])){
foreach ($lists['list'] as $k => $v){
$result[] = [
'id' => $v['id'],
'name' => 'name',
'status' => 'status',
'image_link' => getImageUrl($v['image']),
'created_at' => $v['created_at']
];
}
}
$this->response('success',Code::SUCCESS,$result);
}
/**
* 提供模板内容给提单后台, 路由没有任何中间件
* @param ATemplateLogic $aTemplateLogic
*/
public function getTemplateDetail(ATemplateLogic $aTemplateLogic)
{
// 验证来源
$referer = request()->header('referer');
$referer = parse_url($referer, PHP_URL_HOST);
if (empty($referer) || false == in_array($referer, ['oa.cmer.com', 'quanqiusou.cn', 'zgjoa.globalso.com'])) {
$this->response('非法请求',Code::SYSTEM_ERROR, []);
}
$this->read($aTemplateLogic);
}
}
... ...
... ... @@ -9,6 +9,7 @@ use App\Helper\QuanqiusouApi;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Logic\Bside\RankData\RankDataLogic;
use App\Models\Domain\DomainInfo;
use App\Models\RankData\RankData;
use App\Models\RankData\Speed as GoogleSpeedModel;
use App\Services\BatchExportService;
... ... @@ -58,7 +59,7 @@ class RankDataController extends BaseController
public function speed(ProjectLogic $projectLogic, GoogleSpeedApi $googleSpeedApi){
$project_id = $this->user['project_id'];
$project = $projectLogic->getProjectInfo($project_id);
$domain = $project['deploy_optimize']['domain'] ?? '';
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$data = $googleSpeedApi->run($domain);
if($data){
$model = GoogleSpeedModel::where('project_id', $project_id)->first();
... ...
... ... @@ -19,7 +19,7 @@ class DomainInfoLogic extends BaseLogic
public function getDomainInfo($project_id)
{
$project = app(ProjectLogic::class)->getInfo($project_id);
$domain = $project['deploy_optimize']['domain'] ?? '';
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new \App\Models\Domain\DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$info = $this->model->where('project_id', $project_id)->first();
//不存在或时间过期了 重新获取信息
$expiration_date = $info['domain_info']['expiration_date'] ?? '';
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Domain\DomainInfo;
use App\Models\Project\ProcessRecords;
use App\Models\Project\Project;
... ... @@ -30,7 +31,7 @@ class ProcessRecordsLogic extends BaseLogic
$data['project_company'] = $project['company'] ?? '';
$data['project_plan'] = Project::planMap()[$project['deploy_build']['plan']];
$data['project_service_duration'] = $project['deploy_build']['service_duration'] ?? '';
$data['domain'] = $project['deploy_optimize']['domain'] ?? '';
$data['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');;
$data['test_domain'] = $project['deploy_build']['test_domain'] ?? '';
$data['login_mobile'] = $project['deploy_build']['login_mobile'] ?? '';
$data['data_source'] = [
... ...
... ... @@ -408,7 +408,7 @@ class ProjectLogic extends BaseLogic
{
$project = $this->getCacheInfo($param['project_id']);
//同步到接口
$domain = parse_url($project['deploy_optimize']['domain'])['host'];
$domain = parse_url((!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ''))['host'];
$emails = Arr::arrToSet($param['emails']??'', 'trim');
$phones = Arr::arrToSet($param['phones']??'', 'trim');
$form_global_api = new FormGlobalsoApi();
... ...
... ... @@ -52,7 +52,9 @@ class BlogCategoryLogic extends BaseLogic
//验证参数是否可编辑
$this->verifyParamEdit($this->param['id'],$this->param['pid']);
//查看路由是否更新
$id = $this->editCategoryRoute($this->param['id'],$this->param['alias']);
$id = $this->editCategoryRoute($this->param['id'],
isset($this->param['alias']) ?? RouteMap::setRoute(isset($this->param['alias']) ? $this->param['alias'] : $this->param['name'],
RouteMap::SOURCE_BLOG_CATE, $this->param['id'], $this->user['project_id']));
$this->param['operator_id'] = $this->user['id'];
$this->edit($this->param,['id'=>$this->param['id']]);
}else{
... ... @@ -68,7 +70,7 @@ class BlogCategoryLogic extends BaseLogic
DB::commit();
}catch (\Exception $e){
DB::rollBack();
$this->fail('error');
$this->fail('系统错误,请联系管理');
}
//通知更新
$this->updateNotify(['project_id'=>$this->user['project_id'], 'type'=>RouteMap::SOURCE_BLOG_CATE, 'route'=>$route]);
... ...
... ... @@ -7,6 +7,7 @@ use App\Helper\FormGlobalsoApi;
use App\Helper\Translate;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Domain\DomainInfo;
/**
* Class InquiryLogic
... ... @@ -31,7 +32,8 @@ class InquiryLogic extends BaseLogic
$search = $this->request['search'] ?: '';
$page = $this->request['page'] ?: 1;
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = $project['deploy_optimize']['domain'] ?? '';
$domain = (!empty(
$project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$list = $this->form_globalso_api->getInquiryList($domain, $search, $page, $page_size);
//处理格式 免得前端又改
$data = [
... ... @@ -54,7 +56,7 @@ class InquiryLogic extends BaseLogic
public function getInfo($id)
{
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = $project['deploy_optimize']['domain'] ?: '';
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
//修改状态为已读
if($this->request['read_status']){
$this->form_globalso_api->saveInquiryRead($domain, $id);
... ... @@ -70,7 +72,7 @@ class InquiryLogic extends BaseLogic
public function delete($ids, $map = [])
{
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = $project['deploy_optimize']['domain'] ?: '';
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$ids = array_filter(Arr::splitFilterToArray($ids), 'intval');
if(!$ids){
$this->fail('ID不能为空');
... ...
... ... @@ -59,15 +59,16 @@ class NewsCategoryLogic extends BaseLogic
*/
public function newsCategorySave(){
//验证名称是否存在
$this->verifyParamName($this->param['name']);
DB::beginTransaction();
try {
// $this->verifyParamName($this->param['name']);
// DB::beginTransaction();
// try {
if(isset($this->param['id']) && !empty($this->param['id'])){
//验证是否可编辑
$this->verifyEditParam($this->param['id'],$this->param['pid']);
$this->param['operator_id'] = $this->user['id'];
//查看路由是否更新
$id = $this->editCategoryRoute($this->param['id'],$this->param['alias']);
$id = $this->editCategoryRoute($this->param['id'],$this->param['alias'] ?? RouteMap::setRoute(isset($this->param['alias']) ? $this->param['alias'] : $this->param['name'],
RouteMap::SOURCE_NEWS_CATE, $this->param['id'], $this->user['project_id']));
$this->edit($this->param,['id'=>$this->param['id']]);
}else{
$this->param = $this->addParamProcessing($this->param);
... ... @@ -77,11 +78,11 @@ class NewsCategoryLogic extends BaseLogic
}
$route = RouteMap::setRoute(isset($this->param['alias']) ? $this->param['alias'] : $this->param['name'], RouteMap::SOURCE_NEWS_CATE, $id, $this->user['project_id']);
$this->model->edit(['alias'=>$route],['id'=>$id]);
DB::commit();
}catch (\Exception $e){
DB::rollBack();
$this->fail('error');
}
// DB::commit();
// }catch (\Exception $e){
// DB::rollBack();
// $this->fail('error');
// }
//更新通知记录表
$this->updateNotify(['project_id'=>$this->user['project_id'], 'type'=>RouteMap::SOURCE_NEWS_CATE, 'route'=>$route]);
return $this->success();
... ...
... ... @@ -53,7 +53,7 @@ class ProductLogic extends BaseLogic
DB::commit();
}catch (\Exception $e){
DB::rollBack();
$this->fail('保存失败');
$this->fail('系统错误请联系管理员');
}
//通知更新
$this->updateNotify(['project_id'=>$this->user['project_id'], 'type'=>RouteMap::SOURCE_PRODUCT, 'route'=>$route]);
... ...
... ... @@ -9,6 +9,7 @@ use App\Helper\Translate;
use App\Http\Logic\Aside\Project\DomainInfoLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Domain\DomainInfo;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Project;
... ... @@ -59,7 +60,7 @@ class RankDataLogic extends BaseLogic
//项目信息
$data['project'] = [
'company' => $project['company'],
'domain' => $project['deploy_optimize']['domain'] ?? '',
'domain' => (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ''),
'domain_info' => ($domain_info['domain_info']['creation_date'] ?? '') . ' - ' . ($domain_info['domain_info']['expiration_date'] ?? ''),
'cert_info' => ($domain_info['ssl']['start_time'] ?? '') . ' - ' . ($domain_info['ssl']['end_time'] ?? ''),
'plan' => Project::planMap()[$project['deploy_build']['plan']],
... ... @@ -144,7 +145,7 @@ class RankDataLogic extends BaseLogic
$project_id = $this->user['project_id'];
$project = app(ProjectLogic::class)->getInfo($project_id);
$api_no = $project['deploy_optimize']['api_no'] ?? '';
$domain = $project['deploy_optimize']['domain'] ?? '';
$domain = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$domain_arr = parse_url($domain);
$domain = $domain_arr['host'] ?? $domain_arr['path'];
//复制站点域名
... ... @@ -356,7 +357,7 @@ class RankDataLogic extends BaseLogic
* @author zbj
* @date 2023/9/20
*/
public function syncRankData($api_no){
public function syncRankData($api_no, $site_res){
$project_id = DeployOptimize::where('api_no', $api_no)->value('project_id');
$project = Project::find($project_id);
if(!$project){
... ...
... ... @@ -164,8 +164,7 @@ class UserLoginLogic
$info['aicc'] = $project['aicc'] ?? '';
$info['hagro'] = $project['hagro'] ?? '';
$info['plan'] = Project::planMap()[$project['deploy_build']['plan']];
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ?
((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
//保存项目缓存
Cache::put('user-'.$info['project_id'],$project,$minutes = null);
return $this->success($info);
... ... @@ -188,8 +187,7 @@ class UserLoginLogic
$info['aicc'] = $project['aicc'] ?? '';
$info['hagro'] = $project['hagro'] ?? '';
$info['plan'] = Project::planMap()[$project['deploy_build']['plan']];
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ?
((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
//保存项目缓存
Cache::put('user-'.$info['project_id'],$project,$minutes = null);
return $this->success($info);
... ...
... ... @@ -328,6 +328,9 @@ Route::group([], function () {
Route::any('/getProjectByChannel', [Aside\Project\ProjectController::class, 'getProjectByChannel'])->name('admin.getProjectByChannel');//获取渠道商的项目
// 提供接口 同步人事信息到5.0后台
Route::any('/get_hr_list', [Aside\Manage\HrController::class , 'getHrList'])->name('admin.get_hr_list');
// 提供模板 提单后台查看
Route::any('get_template_list', [Aside\Template\ATemplateController::class, 'getTemplateList'])->name('admin.get_template_list');
Route::any('get_template_detail', [Aside\Template\ATemplateController::class, 'getTemplateDetail'])->name('admin.get_template_detail');
});
... ...