作者 lyh

gx

... ... @@ -57,7 +57,7 @@ class Count extends Command
//服务达标天数
$arr['compliance_day'] = $this->compliance_day($v['test_domain']);
//剩余服务时常
$arr['service_day'] = ((int)$v['service_duration'] - (int)$arr['compliance_day']) < 0 ?? 0;
$arr['service_day'] = ((int)$v['service_duration'] - (int)$arr['compliance_day']) > 0 ? ((int)$v['service_duration'] - (int)$arr['compliance_day']) : 0;
//项目id
$arr['project_id'] = $v['project_id'];
$arr['created_at'] = date('Y-m-d H:i:s');
... ...
... ... @@ -24,7 +24,7 @@ class InquiryMonthlyCount extends Command
*
* @var string
*/
protected $description = '月报告统计';
protected $description = '询盘月报告统计';
/**
* @remark :询盘月报告
... ...
... ... @@ -38,7 +38,7 @@ class ProjectController extends BaseController
//搜索类型
if(!empty($this->param['type'])){
if($this->param['type'] == 3){//推广中
$map[] = ['type', '>' ,$this->param['type']];
$map[] = ['type', 'in' ,[4,6]];
}elseif($this->param['type'] == 2){//建站完成
$map[] = ['type', 'in', [2,3]];
}elseif($this->param['type'] == 1){//建站中
... ...
... ... @@ -11,10 +11,16 @@ namespace App\Http\Controllers\Aside\Project;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Manage\ManageLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Logic\Aside\Project\RenewLogic;
use App\Models\ASide\APublicModel;
use App\Models\Channel\Channel;
use App\Models\HomeCount\Count;
use App\Models\Manage\Manage;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Project;
use App\Models\Task\Task;
use Carbon\Carbon;
class RenewProjectController extends BaseController
... ... @@ -80,4 +86,67 @@ class RenewProjectController extends BaseController
$info = $logic->renewRead();
$this->response('success',Code::SUCCESS,$info);
}
/**
* @remark :未续费项目列表
* @name :notHaveRenewItems
* @author :lyh
* @method :post
* @time :2023/8/18 14:33
*/
public function notHaveRenewItems(Project $project){
$lists = $project->with('payment')->with('deploy_build')
->with('deploy_optimize')->with('online_check')
->with('project_after')->paginate($this->row, ['*'], 'page', $this->page);
if(!empty($lists)){
$lists = $lists->toArray();
foreach ($lists['list'] as $k=>$item){
$item = $this->handleParam($item);
$lists['list'][$k] = $item;
}
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :参数处理
* @name :handleParam
* @author :lyh
* @method :post
* @time :2023/8/18 14:44
*/
public function handleParam(&$item){
$manageModel = new Manage();
$item = [
'id' => $item['id'],
'title' => $item['title'],
'channel' => Channel::getChannelText($item['channel']['user_id'] ?? 0),
'key' => $item['deploy_build']['keyword_num'] ?? 0,
'day' => $item['deploy_build']['service_duration'] ?? 0,
'amount' => $item['payment']['amount'] ?? 0,
'build_leader' => $manageModel->getName($item['deploy_build']['leader_mid']), //组长
'build_manager' => $manageModel->getName($item['deploy_build']['manager_mid']), //项目经理
'build_designer' => $manageModel->getName($item['deploy_build']['designer_mid']), //设计师
'build_tech' => $manageModel->getName($item['deploy_build']['tech_mid']), //技术助理
'optimize_manager' => $manageModel->getName($item['deploy_optimize']['manager_mid']), //优化服务经理
'optimize_optimist' => $manageModel->getName($item['deploy_optimize']['optimist_mid']), //优化师
'optimize_assist' => $manageModel->getName($item['deploy_optimize']['assist_mid']), //优化助理
'optimize_tech' => $manageModel->getName($item['deploy_optimize']['tech_mid']), //售后技术
'type' => $item['type'],
'test_domain' => $item['deploy_build']['test_domain'] ?? 0,
'plan' =>Project::planMap()[$item['deploy_build']['plan']],
'domain' => $item['deploy_optimize']['domain'] ?? 0,
'created_at' => date('Y年m月d日', strtotime($item['created_at'])),
'autologin_code' => $this->getAutoLoginCode($item['id']),
'product_num' => APublicModel::getProductNumByProjectId($item['id']),
'keyword_num' => $item['deploy_build']['keyword_num'] ?? 0,
'article_num' => APublicModel::getBlogNumByProjectId($item['id']) + APublicModel::getNewsNumByProjectId($item['id']),
'task_finish_num' => Task::getNumByProjectId($item['id'], Task::STATUS_DOWN),
'task_pending_num' => Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]),
'optimist_status'=>$item['online_check']['optimist_status'] ?? 0,
'qa_status'=>$item['online_check']['qa_status'] ?? 0,
'service_day'=>$item['deploy_build']['service_duration'],
];
return $item;
}
}
... ...
... ... @@ -56,7 +56,7 @@ class RankDataController extends BaseController
*/
public function speed(ProjectLogic $projectLogic, GoogleSpeedApi $googleSpeedApi){
$project_id = $this->user['project_id'];
$project = $projectLogic->getInfo($project_id);
$project = $projectLogic->getProjectInfo($project_id);
$domain = $project['deploy_optimize']['domain'] ?? '';
$data = $googleSpeedApi->run($domain);
if($data){
... ... @@ -126,7 +126,7 @@ class RankDataController extends BaseController
*/
public function export_history(RankDataLogic $logic, ProjectLogic $projectLogic, QuanqiusouApi $quanqiusouApi){
$project_id = $this->user['project_id'];
$project = $projectLogic->getInfo($project_id);
$project = $projectLogic->getProjectInfo($project_id);
$lang = $this->request['lang'] ??'';
$data = $quanqiusouApi->getHistoryCount($project['deploy_optimize']['api_no'], $lang);
if($lang){
... ...
... ... @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Project\OnlineCheck;
use App\Models\Project\Project;
class OnlineCheckLogic extends BaseLogic
{
... ... @@ -67,6 +68,9 @@ class OnlineCheckLogic extends BaseLogic
if($rs === false){
$this->fail('error');
}
//提交审核修改状态为审核中
$projectModel = new Project();
$projectModel->edit(['status'=>$projectModel::STATUS_ONE],['id'=>$this->param['id']]);
}
return $this->success();
}
... ...
... ... @@ -96,12 +96,6 @@ class ProjectLogic extends BaseLogic
return $encrypt->authcode(json_encode(['project_id' => $project_id]), 'ENCODE', 'autologin', 3600);
}
public function getInfo($id)
{
parent::setWith(['payment', 'deploy_build', 'deploy_optimize', 'online_check']); //删除缓存要添加带with的cache_key
return parent::getInfo($id);
}
/**
* @remark :获取当前数据详情
* @name :getProjectInfo
... ... @@ -204,7 +198,6 @@ class ProjectLogic extends BaseLogic
$code = $hashids->encode($data['project_id']);
$data['test_domain'] = 'v6-' . $code . '.globalso.site';;
$data['id'] = DeployBuild::where('project_id', $param['id'])->value('id');
// Arr::forget($data, ['test_domain', 'plan']);
return (new DeployBuildLogic)->save($data);
}
... ... @@ -221,7 +214,6 @@ class ProjectLogic extends BaseLogic
$data['minor_keywords'] = json_encode($data['minor_keywords']) ?? '';
$data['project_id'] = $param['id'];
$data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id');
// Arr::forget($data, ['api_no']);
return (new DeployOptimizeLogic)->save($data);
}
/**
... ... @@ -260,14 +252,12 @@ class ProjectLogic extends BaseLogic
public function saveInquirySet($param)
{
$project = $this->getCacheInfo($param['project_id']);
//同步到接口
$domain = parse_url($project['deploy_optimize']['domain'])['host'];
$emails = Arr::arrToSet($param['emails']??'', 'trim');
$phones = Arr::arrToSet($param['phones']??'', 'trim');
$form_globalso_api = new FormGlobalsoApi();
$res = $form_globalso_api->setInquiry($domain, $emails, $phones);
$form_global_api = new FormGlobalsoApi();
$res = $form_global_api->setInquiry($domain, $emails, $phones);
if (!$res) {
$this->fail('保存失败');
}
... ...
... ... @@ -52,7 +52,7 @@ class InquiryLogic extends BaseLogic
public function getInfo($id)
{
$project = (new ProjectLogic())->getInfo($this->user['project_id']);
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = $project['deploy_optimize']['domain'] ?: '';
//修改状态为已读
if($this->request['read_status']){
... ... @@ -68,7 +68,7 @@ class InquiryLogic extends BaseLogic
public function delete($ids, $map = [])
{
$project = (new ProjectLogic())->getInfo($this->user['project_id']);
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = $project['deploy_optimize']['domain'] ?: '';
$ids = array_filter(Arr::splitFilterToArray($ids), 'intval');
if(!$ids){
... ...
... ... @@ -32,7 +32,7 @@ class RankDataLogic extends BaseLogic
$project_id = $this->user['project_id'];
//查数据
$project = (new ProjectLogic())->getInfo($project_id);
$project = (new ProjectLogic())->getProjectInfo($project_id);
$domain_info = (new DomainInfoLogic)->getDomainInfo($project_id);
$rank = RankData::where('project_id', $project_id)->first();
$rank_week = RankWeek::where('project_id', $project_id)->first();
... ...
... ... @@ -25,4 +25,20 @@ class Manage extends Base
self::STATUS_DISABLE => '正常',
];
}
/**
* @remark :获取用户名称
* @name :getName
* @author :lyh
* @method :post
* @time :2023/8/18 14:41
*/
public function getName($id){
$name = '';
$info = $this->read(['id'=>$id]);
if($info !== false){
$name = $info['name'];
}
return $name;
}
}
... ...
... ... @@ -16,6 +16,7 @@ class Project extends Base
const DATABASE_NAME_FIX = 'gl_data_';
const STATUS_ONE = 1;//审核通过
/**
* 星级客户
* @return string[]
... ...