Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6
正在显示
4 个修改的文件
包含
121 行增加
和
5 行删除
| @@ -197,11 +197,11 @@ class countProject extends Command | @@ -197,11 +197,11 @@ class countProject extends Command | ||
| 197 | public function countAll(){ | 197 | public function countAll(){ |
| 198 | $projectModel = new Project(); | 198 | $projectModel = new Project(); |
| 199 | $data['count'] = $projectModel->counts(['deleted_at'=>0]);//所有项目总数 | 199 | $data['count'] = $projectModel->counts(['deleted_at'=>0]);//所有项目总数 |
| 200 | - $data['go_online_count'] = $projectModel->counts(['uptime'=>['!=',null],'deleted_at'=>0]);//上线项目总数 | ||
| 201 | - $data['promotion_web_count'] = $projectModel->counts(['type'=>3,'deleted_at'=>0]);//推广项目总数 | ||
| 202 | - $data['create_web_count'] = $projectModel->counts(['type'=>2,'deleted_at'=>0]);//建站项目总数 | ||
| 203 | - $data['no_go_oline_count'] = $projectModel->counts(['uptime'=>null,'deleted_at'=>0]);//未上线项目数量 | ||
| 204 | - $data['delete_project_count'] = $projectModel->counts(['deleted_at'=>1]);//删除项目数量 | 200 | + $data['go_online_count'] = $projectModel->counts(['uptime'=>['!=',null],'delete_status'=>0]);//上线项目总数 |
| 201 | + $data['promotion_web_count'] = $projectModel->counts(['type'=>3,'delete_status'=>0]);//推广项目总数 | ||
| 202 | + $data['create_web_count'] = $projectModel->counts(['type'=>2,'delete_status'=>0]);//建站项目总数 | ||
| 203 | + $data['no_go_oline_count'] = $projectModel->counts(['uptime'=>null,'delete_status'=>0]);//未上线项目数量 | ||
| 204 | + $data['delete_project_count'] = $projectModel->counts(['delete_status'=>1]);//删除项目数量 | ||
| 205 | $min_info = $projectModel->select('*') | 205 | $min_info = $projectModel->select('*') |
| 206 | ->selectRaw('DATEDIFF(STR_TO_DATE(uptime, "%Y-%m-%d"), STR_TO_DATE(created_at, "%Y-%m-%d")) AS diff') | 206 | ->selectRaw('DATEDIFF(STR_TO_DATE(uptime, "%Y-%m-%d"), STR_TO_DATE(created_at, "%Y-%m-%d")) AS diff') |
| 207 | ->whereNotNull('uptime') // 确保 uptime 字段不为空 | 207 | ->whereNotNull('uptime') // 确保 uptime 字段不为空 |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Controllers\Aside\PackDir; | ||
| 4 | + | ||
| 5 | +use App\Enums\Common\Code; | ||
| 6 | +use App\Http\Controllers\Aside\BaseController; | ||
| 7 | +use App\Models\Devops\Servers; | ||
| 8 | +use App\Models\Devops\ServersIp; | ||
| 9 | +use App\Models\Domain\DomainInfo; | ||
| 10 | +use App\Models\Manage\Manage; | ||
| 11 | +use App\Models\PackDir\SitePackTask; | ||
| 12 | +use App\Models\Project\Project; | ||
| 13 | + | ||
| 14 | +class PackDirController extends BaseController | ||
| 15 | +{ | ||
| 16 | + /** | ||
| 17 | + * 获取打包静态页面任务列表 | ||
| 18 | + * @author Akun | ||
| 19 | + * @date 2024/10/08 16:12 | ||
| 20 | + */ | ||
| 21 | + public function getTaskLists() | ||
| 22 | + { | ||
| 23 | + $autoModule = new SitePackTask(); | ||
| 24 | + $lists = $autoModule->lists($this->map, $this->page, $this->row); | ||
| 25 | + if (!empty($lists)) { | ||
| 26 | + $projectModel = new Project(); | ||
| 27 | + $manageModel = new Manage(); | ||
| 28 | + $serverModel = new Servers(); | ||
| 29 | + $domainModel = new DomainInfo(); | ||
| 30 | + foreach ($lists['list'] as $k => $v) { | ||
| 31 | + $lists['list'][$k]['operator_name'] = $manageModel->getName($v['user_id']); | ||
| 32 | + $lists['list'][$k]['project_name'] = $projectModel->getProjectName($v['project_id']); | ||
| 33 | + | ||
| 34 | + $download_url = ''; | ||
| 35 | + if ($v['status'] == 2) { | ||
| 36 | + $server_info = $serverModel->read(['id' => $v['server_id']], ['init_domain']); | ||
| 37 | + $domain_info = $domainModel->read(['project_id' => $v['project_id']], ['domain']); | ||
| 38 | + if ($server_info && $domain_info) { | ||
| 39 | + $download_url = 'https://' . $server_info['init_domain'] . '/pack_sites/' . $domain_info['domain'] . '.zip'; | ||
| 40 | + } | ||
| 41 | + } | ||
| 42 | + $lists['list'][$k]['download_url'] = $download_url; | ||
| 43 | + } | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + $this->response('success', Code::SUCCESS, $lists); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 添加静态页面打包任务 | ||
| 51 | + * @throws \App\Exceptions\AsideGlobalException | ||
| 52 | + * @author Akun | ||
| 53 | + * @date 2024/10/08 16:39 | ||
| 54 | + */ | ||
| 55 | + public function saveTask() | ||
| 56 | + { | ||
| 57 | + $this->request->validate([ | ||
| 58 | + 'project_id' => 'required', | ||
| 59 | + ], [ | ||
| 60 | + 'server_id.required' => '项目不能为空' | ||
| 61 | + ]); | ||
| 62 | + | ||
| 63 | + $domainModel = new DomainInfo(); | ||
| 64 | + $domain_info = $domainModel->read(['project_id' => $this->param['project_id']], ['domain']); | ||
| 65 | + if (!$domain_info) { | ||
| 66 | + $this->fail('项目未上线,无法打包静态页面'); | ||
| 67 | + } | ||
| 68 | + $projectModel = new Project(); | ||
| 69 | + $project_info = $projectModel->read(['id' => $this->param['project_id']], ['serve_id']); | ||
| 70 | + if (!$project_info) { | ||
| 71 | + $this->fail('未查询到项目所属服务器信息'); | ||
| 72 | + } | ||
| 73 | + $serverIpModel = new ServersIp(); | ||
| 74 | + $server_ip_info = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id']); | ||
| 75 | + if (!$server_ip_info) { | ||
| 76 | + $this->fail('未查询到项目所属服务器信息'); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + $data = [ | ||
| 80 | + 'user_id' => $this->uid, | ||
| 81 | + 'project_id' => $this->param['project_id'], | ||
| 82 | + 'server_id' => $server_ip_info['servers_id'] | ||
| 83 | + ]; | ||
| 84 | + $model = new SitePackTask(); | ||
| 85 | + $pack_info = $model->read(array_merge($data, ['status' => ['in', [SitePackTask::STATUS_UN, SitePackTask::STATUS_ING]]])); | ||
| 86 | + if ($pack_info) { | ||
| 87 | + $this->fail('当前项目已有打包任务进行中,请勿重复提交'); | ||
| 88 | + } | ||
| 89 | + $model->add($data); | ||
| 90 | + | ||
| 91 | + $this->response('success'); | ||
| 92 | + } | ||
| 93 | +} |
app/Models/PackDir/SitePackTask.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Models\PackDir; | ||
| 4 | + | ||
| 5 | +use App\Models\Base; | ||
| 6 | + | ||
| 7 | +class SitePackTask extends Base | ||
| 8 | +{ | ||
| 9 | + protected $table = 'gl_site_pack_task'; | ||
| 10 | + | ||
| 11 | + const STATUS_UN = 0; | ||
| 12 | + const STATUS_ING = 1; | ||
| 13 | + const STATUS_SUC = 2; | ||
| 14 | + const STATUS_FAL = 3; | ||
| 15 | + const STATUS_EXP = 4; | ||
| 16 | +} |
| @@ -473,6 +473,13 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -473,6 +473,13 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 473 | Route::any('/saveTask', [Aside\AutoPull\AutoPullController::class, 'saveTask'])->name('admin.auto_pull_saveTask'); | 473 | Route::any('/saveTask', [Aside\AutoPull\AutoPullController::class, 'saveTask'])->name('admin.auto_pull_saveTask'); |
| 474 | Route::any('/taskMap', [Aside\AutoPull\AutoPullController::class, 'taskMap'])->name('admin.auto_pull_taskMap'); | 474 | Route::any('/taskMap', [Aside\AutoPull\AutoPullController::class, 'taskMap'])->name('admin.auto_pull_taskMap'); |
| 475 | }); | 475 | }); |
| 476 | + /** | ||
| 477 | + * 打包静态页面模块 | ||
| 478 | + */ | ||
| 479 | + Route::prefix('pack_dir')->group(function () { | ||
| 480 | + Route::any('/', [Aside\PackDir\PackDirController::class, 'getTaskLists'])->name('admin.pack_dir_getTaskLists'); | ||
| 481 | + Route::any('/saveTask', [Aside\PackDir\PackDirController::class, 'saveTask'])->name('admin.pack_dir_saveTask'); | ||
| 482 | + }); | ||
| 476 | }); | 483 | }); |
| 477 | 484 | ||
| 478 | //无需登录验证的路由组 | 485 | //无需登录验证的路由组 |
-
请 注册 或 登录 后发表评论