正在显示
11 个修改的文件
包含
100 行增加
和
20 行删除
| @@ -57,7 +57,7 @@ class Count extends Command | @@ -57,7 +57,7 @@ class Count extends Command | ||
| 57 | //服务达标天数 | 57 | //服务达标天数 |
| 58 | $arr['compliance_day'] = $this->compliance_day($v['test_domain']); | 58 | $arr['compliance_day'] = $this->compliance_day($v['test_domain']); |
| 59 | //剩余服务时常 | 59 | //剩余服务时常 |
| 60 | - $arr['service_day'] = ((int)$v['service_duration'] - (int)$arr['compliance_day']) < 0 ?? 0; | 60 | + $arr['service_day'] = ((int)$v['service_duration'] - (int)$arr['compliance_day']) > 0 ? ((int)$v['service_duration'] - (int)$arr['compliance_day']) : 0; |
| 61 | //项目id | 61 | //项目id |
| 62 | $arr['project_id'] = $v['project_id']; | 62 | $arr['project_id'] = $v['project_id']; |
| 63 | $arr['created_at'] = date('Y-m-d H:i:s'); | 63 | $arr['created_at'] = date('Y-m-d H:i:s'); |
| @@ -24,7 +24,7 @@ class InquiryMonthlyCount extends Command | @@ -24,7 +24,7 @@ class InquiryMonthlyCount extends Command | ||
| 24 | * | 24 | * |
| 25 | * @var string | 25 | * @var string |
| 26 | */ | 26 | */ |
| 27 | - protected $description = '月报告统计'; | 27 | + protected $description = '询盘月报告统计'; |
| 28 | 28 | ||
| 29 | /** | 29 | /** |
| 30 | * @remark :询盘月报告 | 30 | * @remark :询盘月报告 |
| @@ -38,7 +38,7 @@ class ProjectController extends BaseController | @@ -38,7 +38,7 @@ class ProjectController extends BaseController | ||
| 38 | //搜索类型 | 38 | //搜索类型 |
| 39 | if(!empty($this->param['type'])){ | 39 | if(!empty($this->param['type'])){ |
| 40 | if($this->param['type'] == 3){//推广中 | 40 | if($this->param['type'] == 3){//推广中 |
| 41 | - $map[] = ['type', '>' ,$this->param['type']]; | 41 | + $map[] = ['type', 'in' ,[4,6]]; |
| 42 | }elseif($this->param['type'] == 2){//建站完成 | 42 | }elseif($this->param['type'] == 2){//建站完成 |
| 43 | $map[] = ['type', 'in', [2,3]]; | 43 | $map[] = ['type', 'in', [2,3]]; |
| 44 | }elseif($this->param['type'] == 1){//建站中 | 44 | }elseif($this->param['type'] == 1){//建站中 |
| @@ -11,10 +11,16 @@ namespace App\Http\Controllers\Aside\Project; | @@ -11,10 +11,16 @@ namespace App\Http\Controllers\Aside\Project; | ||
| 11 | 11 | ||
| 12 | use App\Enums\Common\Code; | 12 | use App\Enums\Common\Code; |
| 13 | use App\Http\Controllers\Aside\BaseController; | 13 | use App\Http\Controllers\Aside\BaseController; |
| 14 | +use App\Http\Logic\Aside\Manage\ManageLogic; | ||
| 14 | use App\Http\Logic\Aside\Project\ProjectLogic; | 15 | use App\Http\Logic\Aside\Project\ProjectLogic; |
| 15 | use App\Http\Logic\Aside\Project\RenewLogic; | 16 | use App\Http\Logic\Aside\Project\RenewLogic; |
| 17 | +use App\Models\ASide\APublicModel; | ||
| 18 | +use App\Models\Channel\Channel; | ||
| 16 | use App\Models\HomeCount\Count; | 19 | use App\Models\HomeCount\Count; |
| 20 | +use App\Models\Manage\Manage; | ||
| 17 | use App\Models\Project\DeployOptimize; | 21 | use App\Models\Project\DeployOptimize; |
| 22 | +use App\Models\Project\Project; | ||
| 23 | +use App\Models\Task\Task; | ||
| 18 | use Carbon\Carbon; | 24 | use Carbon\Carbon; |
| 19 | 25 | ||
| 20 | class RenewProjectController extends BaseController | 26 | class RenewProjectController extends BaseController |
| @@ -80,4 +86,67 @@ class RenewProjectController extends BaseController | @@ -80,4 +86,67 @@ class RenewProjectController extends BaseController | ||
| 80 | $info = $logic->renewRead(); | 86 | $info = $logic->renewRead(); |
| 81 | $this->response('success',Code::SUCCESS,$info); | 87 | $this->response('success',Code::SUCCESS,$info); |
| 82 | } | 88 | } |
| 89 | + | ||
| 90 | + /** | ||
| 91 | + * @remark :未续费项目列表 | ||
| 92 | + * @name :notHaveRenewItems | ||
| 93 | + * @author :lyh | ||
| 94 | + * @method :post | ||
| 95 | + * @time :2023/8/18 14:33 | ||
| 96 | + */ | ||
| 97 | + public function notHaveRenewItems(Project $project){ | ||
| 98 | + $lists = $project->with('payment')->with('deploy_build') | ||
| 99 | + ->with('deploy_optimize')->with('online_check') | ||
| 100 | + ->with('project_after')->paginate($this->row, ['*'], 'page', $this->page); | ||
| 101 | + if(!empty($lists)){ | ||
| 102 | + $lists = $lists->toArray(); | ||
| 103 | + foreach ($lists['list'] as $k=>$item){ | ||
| 104 | + $item = $this->handleParam($item); | ||
| 105 | + $lists['list'][$k] = $item; | ||
| 106 | + } | ||
| 107 | + } | ||
| 108 | + $this->response('success',Code::SUCCESS,$lists); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + /** | ||
| 112 | + * @remark :参数处理 | ||
| 113 | + * @name :handleParam | ||
| 114 | + * @author :lyh | ||
| 115 | + * @method :post | ||
| 116 | + * @time :2023/8/18 14:44 | ||
| 117 | + */ | ||
| 118 | + public function handleParam(&$item){ | ||
| 119 | + $manageModel = new Manage(); | ||
| 120 | + $item = [ | ||
| 121 | + 'id' => $item['id'], | ||
| 122 | + 'title' => $item['title'], | ||
| 123 | + 'channel' => Channel::getChannelText($item['channel']['user_id'] ?? 0), | ||
| 124 | + 'key' => $item['deploy_build']['keyword_num'] ?? 0, | ||
| 125 | + 'day' => $item['deploy_build']['service_duration'] ?? 0, | ||
| 126 | + 'amount' => $item['payment']['amount'] ?? 0, | ||
| 127 | + 'build_leader' => $manageModel->getName($item['deploy_build']['leader_mid']), //组长 | ||
| 128 | + 'build_manager' => $manageModel->getName($item['deploy_build']['manager_mid']), //项目经理 | ||
| 129 | + 'build_designer' => $manageModel->getName($item['deploy_build']['designer_mid']), //设计师 | ||
| 130 | + 'build_tech' => $manageModel->getName($item['deploy_build']['tech_mid']), //技术助理 | ||
| 131 | + 'optimize_manager' => $manageModel->getName($item['deploy_optimize']['manager_mid']), //优化服务经理 | ||
| 132 | + 'optimize_optimist' => $manageModel->getName($item['deploy_optimize']['optimist_mid']), //优化师 | ||
| 133 | + 'optimize_assist' => $manageModel->getName($item['deploy_optimize']['assist_mid']), //优化助理 | ||
| 134 | + 'optimize_tech' => $manageModel->getName($item['deploy_optimize']['tech_mid']), //售后技术 | ||
| 135 | + 'type' => $item['type'], | ||
| 136 | + 'test_domain' => $item['deploy_build']['test_domain'] ?? 0, | ||
| 137 | + 'plan' =>Project::planMap()[$item['deploy_build']['plan']], | ||
| 138 | + 'domain' => $item['deploy_optimize']['domain'] ?? 0, | ||
| 139 | + 'created_at' => date('Y年m月d日', strtotime($item['created_at'])), | ||
| 140 | + 'autologin_code' => $this->getAutoLoginCode($item['id']), | ||
| 141 | + 'product_num' => APublicModel::getProductNumByProjectId($item['id']), | ||
| 142 | + 'keyword_num' => $item['deploy_build']['keyword_num'] ?? 0, | ||
| 143 | + 'article_num' => APublicModel::getBlogNumByProjectId($item['id']) + APublicModel::getNewsNumByProjectId($item['id']), | ||
| 144 | + 'task_finish_num' => Task::getNumByProjectId($item['id'], Task::STATUS_DOWN), | ||
| 145 | + 'task_pending_num' => Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]), | ||
| 146 | + 'optimist_status'=>$item['online_check']['optimist_status'] ?? 0, | ||
| 147 | + 'qa_status'=>$item['online_check']['qa_status'] ?? 0, | ||
| 148 | + 'service_day'=>$item['deploy_build']['service_duration'], | ||
| 149 | + ]; | ||
| 150 | + return $item; | ||
| 151 | + } | ||
| 83 | } | 152 | } |
| @@ -56,7 +56,7 @@ class RankDataController extends BaseController | @@ -56,7 +56,7 @@ class RankDataController extends BaseController | ||
| 56 | */ | 56 | */ |
| 57 | public function speed(ProjectLogic $projectLogic, GoogleSpeedApi $googleSpeedApi){ | 57 | public function speed(ProjectLogic $projectLogic, GoogleSpeedApi $googleSpeedApi){ |
| 58 | $project_id = $this->user['project_id']; | 58 | $project_id = $this->user['project_id']; |
| 59 | - $project = $projectLogic->getInfo($project_id); | 59 | + $project = $projectLogic->getProjectInfo($project_id); |
| 60 | $domain = $project['deploy_optimize']['domain'] ?? ''; | 60 | $domain = $project['deploy_optimize']['domain'] ?? ''; |
| 61 | $data = $googleSpeedApi->run($domain); | 61 | $data = $googleSpeedApi->run($domain); |
| 62 | if($data){ | 62 | if($data){ |
| @@ -126,7 +126,7 @@ class RankDataController extends BaseController | @@ -126,7 +126,7 @@ class RankDataController extends BaseController | ||
| 126 | */ | 126 | */ |
| 127 | public function export_history(RankDataLogic $logic, ProjectLogic $projectLogic, QuanqiusouApi $quanqiusouApi){ | 127 | public function export_history(RankDataLogic $logic, ProjectLogic $projectLogic, QuanqiusouApi $quanqiusouApi){ |
| 128 | $project_id = $this->user['project_id']; | 128 | $project_id = $this->user['project_id']; |
| 129 | - $project = $projectLogic->getInfo($project_id); | 129 | + $project = $projectLogic->getProjectInfo($project_id); |
| 130 | $lang = $this->request['lang'] ??''; | 130 | $lang = $this->request['lang'] ??''; |
| 131 | $data = $quanqiusouApi->getHistoryCount($project['deploy_optimize']['api_no'], $lang); | 131 | $data = $quanqiusouApi->getHistoryCount($project['deploy_optimize']['api_no'], $lang); |
| 132 | if($lang){ | 132 | if($lang){ |
| @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Project; | @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Project; | ||
| 5 | 5 | ||
| 6 | use App\Http\Logic\Aside\BaseLogic; | 6 | use App\Http\Logic\Aside\BaseLogic; |
| 7 | use App\Models\Project\OnlineCheck; | 7 | use App\Models\Project\OnlineCheck; |
| 8 | +use App\Models\Project\Project; | ||
| 8 | 9 | ||
| 9 | class OnlineCheckLogic extends BaseLogic | 10 | class OnlineCheckLogic extends BaseLogic |
| 10 | { | 11 | { |
| @@ -67,6 +68,9 @@ class OnlineCheckLogic extends BaseLogic | @@ -67,6 +68,9 @@ class OnlineCheckLogic extends BaseLogic | ||
| 67 | if($rs === false){ | 68 | if($rs === false){ |
| 68 | $this->fail('error'); | 69 | $this->fail('error'); |
| 69 | } | 70 | } |
| 71 | + //提交审核修改状态为审核中 | ||
| 72 | + $projectModel = new Project(); | ||
| 73 | + $projectModel->edit(['status'=>$projectModel::STATUS_ONE],['id'=>$this->param['id']]); | ||
| 70 | } | 74 | } |
| 71 | return $this->success(); | 75 | return $this->success(); |
| 72 | } | 76 | } |
| @@ -96,12 +96,6 @@ class ProjectLogic extends BaseLogic | @@ -96,12 +96,6 @@ class ProjectLogic extends BaseLogic | ||
| 96 | return $encrypt->authcode(json_encode(['project_id' => $project_id]), 'ENCODE', 'autologin', 3600); | 96 | return $encrypt->authcode(json_encode(['project_id' => $project_id]), 'ENCODE', 'autologin', 3600); |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | - public function getInfo($id) | ||
| 100 | - { | ||
| 101 | - parent::setWith(['payment', 'deploy_build', 'deploy_optimize', 'online_check']); //删除缓存要添加带with的cache_key | ||
| 102 | - return parent::getInfo($id); | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | /** | 99 | /** |
| 106 | * @remark :获取当前数据详情 | 100 | * @remark :获取当前数据详情 |
| 107 | * @name :getProjectInfo | 101 | * @name :getProjectInfo |
| @@ -204,7 +198,6 @@ class ProjectLogic extends BaseLogic | @@ -204,7 +198,6 @@ class ProjectLogic extends BaseLogic | ||
| 204 | $code = $hashids->encode($data['project_id']); | 198 | $code = $hashids->encode($data['project_id']); |
| 205 | $data['test_domain'] = 'v6-' . $code . '.globalso.site';; | 199 | $data['test_domain'] = 'v6-' . $code . '.globalso.site';; |
| 206 | $data['id'] = DeployBuild::where('project_id', $param['id'])->value('id'); | 200 | $data['id'] = DeployBuild::where('project_id', $param['id'])->value('id'); |
| 207 | -// Arr::forget($data, ['test_domain', 'plan']); | ||
| 208 | return (new DeployBuildLogic)->save($data); | 201 | return (new DeployBuildLogic)->save($data); |
| 209 | } | 202 | } |
| 210 | 203 | ||
| @@ -221,7 +214,6 @@ class ProjectLogic extends BaseLogic | @@ -221,7 +214,6 @@ class ProjectLogic extends BaseLogic | ||
| 221 | $data['minor_keywords'] = json_encode($data['minor_keywords']) ?? ''; | 214 | $data['minor_keywords'] = json_encode($data['minor_keywords']) ?? ''; |
| 222 | $data['project_id'] = $param['id']; | 215 | $data['project_id'] = $param['id']; |
| 223 | $data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id'); | 216 | $data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id'); |
| 224 | -// Arr::forget($data, ['api_no']); | ||
| 225 | return (new DeployOptimizeLogic)->save($data); | 217 | return (new DeployOptimizeLogic)->save($data); |
| 226 | } | 218 | } |
| 227 | /** | 219 | /** |
| @@ -260,14 +252,12 @@ class ProjectLogic extends BaseLogic | @@ -260,14 +252,12 @@ class ProjectLogic extends BaseLogic | ||
| 260 | public function saveInquirySet($param) | 252 | public function saveInquirySet($param) |
| 261 | { | 253 | { |
| 262 | $project = $this->getCacheInfo($param['project_id']); | 254 | $project = $this->getCacheInfo($param['project_id']); |
| 263 | - | ||
| 264 | //同步到接口 | 255 | //同步到接口 |
| 265 | $domain = parse_url($project['deploy_optimize']['domain'])['host']; | 256 | $domain = parse_url($project['deploy_optimize']['domain'])['host']; |
| 266 | $emails = Arr::arrToSet($param['emails']??'', 'trim'); | 257 | $emails = Arr::arrToSet($param['emails']??'', 'trim'); |
| 267 | $phones = Arr::arrToSet($param['phones']??'', 'trim'); | 258 | $phones = Arr::arrToSet($param['phones']??'', 'trim'); |
| 268 | - $form_globalso_api = new FormGlobalsoApi(); | ||
| 269 | - $res = $form_globalso_api->setInquiry($domain, $emails, $phones); | ||
| 270 | - | 259 | + $form_global_api = new FormGlobalsoApi(); |
| 260 | + $res = $form_global_api->setInquiry($domain, $emails, $phones); | ||
| 271 | if (!$res) { | 261 | if (!$res) { |
| 272 | $this->fail('保存失败'); | 262 | $this->fail('保存失败'); |
| 273 | } | 263 | } |
| @@ -52,7 +52,7 @@ class InquiryLogic extends BaseLogic | @@ -52,7 +52,7 @@ class InquiryLogic extends BaseLogic | ||
| 52 | 52 | ||
| 53 | public function getInfo($id) | 53 | public function getInfo($id) |
| 54 | { | 54 | { |
| 55 | - $project = (new ProjectLogic())->getInfo($this->user['project_id']); | 55 | + $project = (new ProjectLogic())->getProjectInfo($this->user['project_id']); |
| 56 | $domain = $project['deploy_optimize']['domain'] ?: ''; | 56 | $domain = $project['deploy_optimize']['domain'] ?: ''; |
| 57 | //修改状态为已读 | 57 | //修改状态为已读 |
| 58 | if($this->request['read_status']){ | 58 | if($this->request['read_status']){ |
| @@ -68,7 +68,7 @@ class InquiryLogic extends BaseLogic | @@ -68,7 +68,7 @@ class InquiryLogic extends BaseLogic | ||
| 68 | 68 | ||
| 69 | public function delete($ids, $map = []) | 69 | public function delete($ids, $map = []) |
| 70 | { | 70 | { |
| 71 | - $project = (new ProjectLogic())->getInfo($this->user['project_id']); | 71 | + $project = (new ProjectLogic())->getProjectInfo($this->user['project_id']); |
| 72 | $domain = $project['deploy_optimize']['domain'] ?: ''; | 72 | $domain = $project['deploy_optimize']['domain'] ?: ''; |
| 73 | $ids = array_filter(Arr::splitFilterToArray($ids), 'intval'); | 73 | $ids = array_filter(Arr::splitFilterToArray($ids), 'intval'); |
| 74 | if(!$ids){ | 74 | if(!$ids){ |
| @@ -32,7 +32,7 @@ class RankDataLogic extends BaseLogic | @@ -32,7 +32,7 @@ class RankDataLogic extends BaseLogic | ||
| 32 | $project_id = $this->user['project_id']; | 32 | $project_id = $this->user['project_id']; |
| 33 | 33 | ||
| 34 | //查数据 | 34 | //查数据 |
| 35 | - $project = (new ProjectLogic())->getInfo($project_id); | 35 | + $project = (new ProjectLogic())->getProjectInfo($project_id); |
| 36 | $domain_info = (new DomainInfoLogic)->getDomainInfo($project_id); | 36 | $domain_info = (new DomainInfoLogic)->getDomainInfo($project_id); |
| 37 | $rank = RankData::where('project_id', $project_id)->first(); | 37 | $rank = RankData::where('project_id', $project_id)->first(); |
| 38 | $rank_week = RankWeek::where('project_id', $project_id)->first(); | 38 | $rank_week = RankWeek::where('project_id', $project_id)->first(); |
| @@ -25,4 +25,20 @@ class Manage extends Base | @@ -25,4 +25,20 @@ class Manage extends Base | ||
| 25 | self::STATUS_DISABLE => '正常', | 25 | self::STATUS_DISABLE => '正常', |
| 26 | ]; | 26 | ]; |
| 27 | } | 27 | } |
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * @remark :获取用户名称 | ||
| 31 | + * @name :getName | ||
| 32 | + * @author :lyh | ||
| 33 | + * @method :post | ||
| 34 | + * @time :2023/8/18 14:41 | ||
| 35 | + */ | ||
| 36 | + public function getName($id){ | ||
| 37 | + $name = ''; | ||
| 38 | + $info = $this->read(['id'=>$id]); | ||
| 39 | + if($info !== false){ | ||
| 40 | + $name = $info['name']; | ||
| 41 | + } | ||
| 42 | + return $name; | ||
| 43 | + } | ||
| 28 | } | 44 | } |
-
请 注册 或 登录 后发表评论