|
...
|
...
|
@@ -11,6 +11,7 @@ namespace App\Console\Commands\Suppliers; |
|
|
|
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Models\Project\DeployBuild;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Purchaser\Purchaser;
|
|
|
|
use App\Models\Purchaser\PurchaserInfo;
|
|
|
|
use App\Services\ProjectServer;
|
|
...
|
...
|
@@ -33,6 +34,10 @@ class RecommendedSuppliers extends Command |
|
|
|
*/
|
|
|
|
protected $description = '推荐供应商';
|
|
|
|
|
|
|
|
public $deployBuildModel;
|
|
|
|
|
|
|
|
public $projectModel;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a new command instance.
|
|
|
|
*
|
|
...
|
...
|
@@ -40,7 +45,7 @@ class RecommendedSuppliers extends Command |
|
|
|
*/
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
parent::__construct();
|
|
|
|
$this->deployBuildModel = new DeployBuild();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
...
|
...
|
@@ -49,15 +54,42 @@ class RecommendedSuppliers extends Command |
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$projectModel = new DeployBuild();
|
|
|
|
$project_list = $projectModel->list(['is_supplier'=>1]);//TODO::已开启推荐供应商
|
|
|
|
$project_list = $this->deployBuildModel->list(['is_supplier'=>1]);//TODO::已开启推荐供应商
|
|
|
|
foreach ($project_list as $v){
|
|
|
|
echo date('Y-m-d H:i:s') . 'project_id:'.$v['project_id'] . PHP_EOL;
|
|
|
|
ProjectServer::useProject($v['project_id']);
|
|
|
|
$title = $this->getKeywords($v['project_id']);
|
|
|
|
echo date('Y-m-d H:i:s') . '开始:'.$v['project_id'] . PHP_EOL;
|
|
|
|
$this->savePurchaser($v['project_id'],$title);
|
|
|
|
DB::disconnect('custom_mysql');
|
|
|
|
$result = $this->countPurchaser($v);
|
|
|
|
if($result !== false){
|
|
|
|
ProjectServer::useProject($v['project_id']);
|
|
|
|
$title = $this->getKeywords($v['project_id']);
|
|
|
|
echo date('Y-m-d H:i:s') . '开始:'.$v['project_id'] . PHP_EOL;
|
|
|
|
$this->savePurchaser($v['project_id'],$title);
|
|
|
|
DB::disconnect('custom_mysql');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :当前项目拥有的
|
|
|
|
* @name :countPurchaser
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/3/10 16:29
|
|
|
|
* @param :is_purchaser_count;1->开启后已达到上线关闭过 0->未关闭过
|
|
|
|
* @param :plan(1->专业版 2->标准版 3->商务版 10->旗舰版)
|
|
|
|
*/
|
|
|
|
public function countPurchaser($v){
|
|
|
|
if($v['is_purchaser_count'] == 0){
|
|
|
|
$purchaserInfoModel = new PurchaserInfo();
|
|
|
|
$count = $purchaserInfoModel->counts(['project_id'=>$v['project_id']]);
|
|
|
|
//获取项目版本
|
|
|
|
$plan = [10=>300, 1=>500, 2=>800, 3=>1200];
|
|
|
|
$total_number = $plan[$v['plan']] ?? 100;
|
|
|
|
if($count > $total_number){
|
|
|
|
//更新数量上限字段,下面的不执行
|
|
|
|
$this->deployBuildModel->edit(['is_purchaser_count'=>1,'is_supplier'=>0],['project_id'=>$v['project_id']]);
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
...
|
...
|
|