正在显示
7 个修改的文件
包含
48 行增加
和
9 行删除
| @@ -18,6 +18,7 @@ class ProcessRecordsLogic extends BaseLogic | @@ -18,6 +18,7 @@ class ProcessRecordsLogic extends BaseLogic | ||
| 18 | public function getInfo($project_id) | 18 | public function getInfo($project_id) |
| 19 | { | 19 | { |
| 20 | $data = $this->model->select(['project_id', 'record', 'remark'])->where('project_id', $project_id)->first(); | 20 | $data = $this->model->select(['project_id', 'record', 'remark'])->where('project_id', $project_id)->first(); |
| 21 | + $project = ProjectLogic::instance()->getInfo($project_id); | ||
| 21 | if(!$data){ | 22 | if(!$data){ |
| 22 | $data = [ | 23 | $data = [ |
| 23 | 'project_id' => $project_id, | 24 | 'project_id' => $project_id, |
| @@ -27,6 +28,12 @@ class ProcessRecordsLogic extends BaseLogic | @@ -27,6 +28,12 @@ class ProcessRecordsLogic extends BaseLogic | ||
| 27 | }else{ | 28 | }else{ |
| 28 | $data = $data->toArray(); | 29 | $data = $data->toArray(); |
| 29 | } | 30 | } |
| 31 | + $data['project_company'] = $project['company'] ?? ''; | ||
| 32 | + $data['project_plan'] = $project['deploy_build']['plan'][0] ?? ''; | ||
| 33 | + $data['project_service_duration'] = $project['deploy_build']['service_duration'] ?? ''; | ||
| 34 | + $data['domain'] = $project['deploy_optimize']['domain'] ?? ''; | ||
| 35 | + $data['test_domain'] = $project['deploy_build']['test_domain'] ?? ''; | ||
| 36 | + $data['login_mobile'] = $project['deploy_build']['login_mobile'] ?? ''; | ||
| 30 | $data['data_source'] = [ | 37 | $data['data_source'] = [ |
| 31 | [ | 38 | [ |
| 32 | 'type' => '基础资料', | 39 | 'type' => '基础资料', |
| @@ -7,14 +7,18 @@ use App\Helper\Arr; | @@ -7,14 +7,18 @@ use App\Helper\Arr; | ||
| 7 | use App\Helper\FormGlobalsoApi; | 7 | use App\Helper\FormGlobalsoApi; |
| 8 | use App\Http\Logic\Aside\BaseLogic; | 8 | use App\Http\Logic\Aside\BaseLogic; |
| 9 | use App\Http\Logic\Aside\Manage\ManageLogic; | 9 | use App\Http\Logic\Aside\Manage\ManageLogic; |
| 10 | +use App\Models\Blog\Blog; | ||
| 10 | use App\Models\Channel\Channel; | 11 | use App\Models\Channel\Channel; |
| 11 | use App\Models\Channel\User; | 12 | use App\Models\Channel\User; |
| 12 | use App\Models\Channel\Zone; | 13 | use App\Models\Channel\Zone; |
| 13 | use App\Models\Inquiry\InquirySet; | 14 | use App\Models\Inquiry\InquirySet; |
| 15 | +use App\Models\News\News; | ||
| 16 | +use App\Models\Product\Product; | ||
| 14 | use App\Models\Project\DeployBuild; | 17 | use App\Models\Project\DeployBuild; |
| 15 | use App\Models\Project\DeployOptimize; | 18 | use App\Models\Project\DeployOptimize; |
| 16 | use App\Models\Project\Payment; | 19 | use App\Models\Project\Payment; |
| 17 | use App\Models\Project\Project; | 20 | use App\Models\Project\Project; |
| 21 | +use App\Models\Task\Task; | ||
| 18 | use Illuminate\Support\Facades\Cache; | 22 | use Illuminate\Support\Facades\Cache; |
| 19 | use Illuminate\Support\Facades\DB; | 23 | use Illuminate\Support\Facades\DB; |
| 20 | 24 | ||
| @@ -57,12 +61,12 @@ class ProjectLogic extends BaseLogic | @@ -57,12 +61,12 @@ class ProjectLogic extends BaseLogic | ||
| 57 | 'test_domain' => $item['deploy_build']['test_domain'] ?? 0, | 61 | 'test_domain' => $item['deploy_build']['test_domain'] ?? 0, |
| 58 | 'domain' => $item['deploy_optimize']['domain'] ?? 0, | 62 | 'domain' => $item['deploy_optimize']['domain'] ?? 0, |
| 59 | 'created_at' => date('Y年m月d日', strtotime($item['created_at'])), | 63 | 'created_at' => date('Y年m月d日', strtotime($item['created_at'])), |
| 60 | - 'autologin_url' => '', | ||
| 61 | - 'product_num' => 0, | ||
| 62 | - 'keyword_num' => 0, | ||
| 63 | - 'article_num' => 0, | ||
| 64 | - 'task_finish_num' => 0, | ||
| 65 | - 'task_pending_num' => 0, | 64 | + 'autologin_url' => '', //TODO |
| 65 | + 'product_num' => Product::getNumByProjectId($item['id']), | ||
| 66 | + 'keyword_num' => $item['deploy_build']['keyword_num'] ?? 0, | ||
| 67 | + 'article_num' => Blog::getNumByProjectId($item['id']) + News::getNumByProjectId($item['id']), | ||
| 68 | + 'task_finish_num' => Task::getNumByProjectId($item['id'], Task::STATUS_DOWN), | ||
| 69 | + 'task_pending_num' => Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]), | ||
| 66 | ]; | 70 | ]; |
| 67 | } | 71 | } |
| 68 | return $list; | 72 | return $list; |
| @@ -13,4 +13,10 @@ class Blog extends Base | @@ -13,4 +13,10 @@ class Blog extends Base | ||
| 13 | public function user(){ | 13 | public function user(){ |
| 14 | return $this->hasMany(User::class,'operator_id','id'); | 14 | return $this->hasMany(User::class,'operator_id','id'); |
| 15 | } | 15 | } |
| 16 | + | ||
| 17 | + public static function getNumByProjectId($project_id){ | ||
| 18 | + return self::where('project_id', $project_id)->where('status', 1)->count(); | ||
| 19 | + } | ||
| 16 | } | 20 | } |
| 21 | + | ||
| 22 | + |
| @@ -9,4 +9,8 @@ class News extends Base | @@ -9,4 +9,8 @@ class News extends Base | ||
| 9 | protected $table = 'gl_news'; | 9 | protected $table = 'gl_news'; |
| 10 | //连接数据库 | 10 | //连接数据库 |
| 11 | // protected $connection = 'custom_mysql'; | 11 | // protected $connection = 'custom_mysql'; |
| 12 | + | ||
| 13 | + public static function getNumByProjectId($project_id){ | ||
| 14 | + return self::where('project_id', $project_id)->where('status', 1)->count(); | ||
| 15 | + } | ||
| 12 | } | 16 | } |
| @@ -141,4 +141,8 @@ class Product extends Base | @@ -141,4 +141,8 @@ class Product extends Base | ||
| 141 | return RouteMap::getRoute(RouteMap::SOURCE_PRODUCT, $this->id, $this->project_id); | 141 | return RouteMap::getRoute(RouteMap::SOURCE_PRODUCT, $this->id, $this->project_id); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | + public function getNumByProjectId($project_id){ | ||
| 145 | + return self::where('project_id', $project_id)->where('status', self::STATUS_ON)->count(); | ||
| 146 | + } | ||
| 147 | + | ||
| 144 | } | 148 | } |
| @@ -22,10 +22,11 @@ class DeployBuild extends Base | @@ -22,10 +22,11 @@ class DeployBuild extends Base | ||
| 22 | return Arr::setToArr($value, 'trim'); | 22 | return Arr::setToArr($value, 'trim'); |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | - public function getTestDomainAttribute(){ | 25 | + public function getTestDomainAttribute(): string |
| 26 | + { | ||
| 26 | $hashids = new Hashids('test_domain', 4, 'abcdefghjkmnpqrstuvwxyz1234567890'); | 27 | $hashids = new Hashids('test_domain', 4, 'abcdefghjkmnpqrstuvwxyz1234567890'); |
| 27 | $code = $hashids->encode($this->project_id); | 28 | $code = $hashids->encode($this->project_id); |
| 28 | - return $code . '.test.com'; | 29 | + return 'https://' . $code . '.test.com'; |
| 29 | } | 30 | } |
| 30 | 31 | ||
| 31 | public static function clearCache($row){ | 32 | public static function clearCache($row){ |
| @@ -31,7 +31,7 @@ class Task extends Base | @@ -31,7 +31,7 @@ class Task extends Base | ||
| 31 | return ''; | 31 | return ''; |
| 32 | } | 32 | } |
| 33 | $project = ProjectLogic::instance()->getCacheInfo($this->project_id); | 33 | $project = ProjectLogic::instance()->getCacheInfo($this->project_id); |
| 34 | - return $project['title'] ?? ''; | 34 | + return $project['company'] ?? ''; |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | public function getStatusTextAttribute(){ | 37 | public function getStatusTextAttribute(){ |
| @@ -68,4 +68,17 @@ class Task extends Base | @@ -68,4 +68,17 @@ class Task extends Base | ||
| 68 | return $this->hasMany(TaskFollow::class,'task_id','id'); | 68 | return $this->hasMany(TaskFollow::class,'task_id','id'); |
| 69 | 69 | ||
| 70 | } | 70 | } |
| 71 | + | ||
| 72 | + public static function getNumByProjectId($project_id, $status = ''){ | ||
| 73 | + return self::where('project_id', $project_id) | ||
| 74 | + ->where(function ($query) use($status){ | ||
| 75 | + if($status){ | ||
| 76 | + if(is_array($status)){ | ||
| 77 | + $query->whereIn('status', $status); | ||
| 78 | + }else{ | ||
| 79 | + $query->where('status', $status); | ||
| 80 | + } | ||
| 81 | + } | ||
| 82 | + })->count(); | ||
| 83 | + } | ||
| 71 | } | 84 | } |
-
请 注册 或 登录 后发表评论