作者 lyh

gx数据

... ... @@ -37,6 +37,8 @@ class AiBlogTask extends Command
*/
protected $signature = 'save_ai_blog';
public $updateProject = [];//需更新的列表
/**
* The console command description.
*
... ... @@ -45,16 +47,14 @@ class AiBlogTask extends Command
protected $description = '查询ai_blog是否已经生成';
public function handle(){
$aiBlogTaskModel = new AiBlogTaskModel();
while (true){
$list = $aiBlogTaskModel->formatQuery(['status'=>1,'type'=>2])->inRandomOrder()->limit(1000)->get();
if(empty($list)){
//获取任务id
$task_id = $this->getTaskId();
if(empty($task_id)){
sleep(300);
continue;
}
$list = $list->toArray();
$updateProject = [];
foreach ($list as $item){
$aiBlogTaskModel = new AiBlogTaskModel();
$item = $aiBlogTaskModel->read(['id'=>$task_id]);
echo '开始->任务id:' . $item['task_id'] . PHP_EOL . date('Y-m-d H:i:s');
//获取配置
$aiSettingInfo = $this->getSetting($item['project_id']);
... ... @@ -64,6 +64,11 @@ class AiBlogTask extends Command
$aiBlogService->task_id = $item['task_id'];
$result = $aiBlogService->getDetail();
if(!isset($result['status'])){
if($item['sort'] <= 5){
$aiBlogTaskModel->edit(['sort'=>$item['sort'] + 1],['id'=>$item['id']]);
}else{
$aiBlogTaskModel->edit(['status'=>9],['id'=>$item['id']]);
}
echo json_encode($result,true).PHP_EOL;
continue;
}
... ... @@ -80,8 +85,8 @@ class AiBlogTask extends Command
$aiBlogTaskModel->edit(['status'=>2],['id'=>$item['id']]);
continue;
}
if (!in_array($result['data']['author_id'], $updateProject[$item['project_id']] ?? [])) {
$updateProject[$item['project_id']][] = $result['data']['author_id'];
if (!in_array($result['data']['author_id'], $this->updateProject[$item['project_id']] ?? [])) {
$this->updateProject[$item['project_id']][] = $result['data']['author_id'];
}
//拿到返回的路由查看是否重复
$route = RouteMap::setRoute($result['data']['url'], RouteMap::SOURCE_AI_BLOG, $aiBlogInfo['id'], $item['project_id']);
... ... @@ -93,13 +98,37 @@ class AiBlogTask extends Command
$aiBlogTaskModel->edit(['status'=>2],['id'=>$item['id']]);
echo '结束->任务id:' . $item['task_id'] . PHP_EOL . date('Y-m-d H:i:s');
}
//TODO::更新列表页及作者
$this->updateProject($updateProject);
}
return true;
}
/**
* @remark :获取任务id
* @name :getTaskId
* @author :lyh
* @method :post
* @time :2025/3/19 16:16
*/
public function getTaskId()
{
$task_id = Redis::rpop('ai_blog_task');
if (empty($task_id)) {
if(!empty($this->updateProject)){
$this->updateProject($this->updateProject);
$this->updateProject = [];
}
$aiBlogTaskModel = new AiBlogTaskModel();
$ids = $aiBlogTaskModel->formatQuery(['status'=>1,'type'=>2])->limit(1000)->pluck('id');
if(!empty($ids)){
foreach ($ids as $id) {
Redis::lpush('ai_blog_task', $id);
}
}
$task_id = Redis::rpop('ai_blog_task');
}
return $task_id;
}
/**
* @remark :更新项目作者页面及列表页
* @name :updateProject
* @author :lyh
... ...
<?php
/**
* @remark :
* @name :ImportCustomModule.php
* @author :lyh
* @method :post
* @time :2024/12/9 11:35
*/
namespace App\Console\Commands\CustomModule;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\CustomModule\CustomModuleContent;
use App\Models\CustomModule\CustomModuleExtentContent;
use App\Models\RouteMap\RouteMap;
use App\Services\ProjectServer;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
class ImportCustomModule extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'import_custom_module';
/**
* The console command description.
*
* @var string
*/
protected $description = '特殊项目导入扩展模块及扩展数据';
/**
* @remark :导入
* @name :handle
* @author :lyh
* @method :post
* @time :2024/12/9 11:36
*/
public function handle(){
echo date('Y-m-d H:i:s') . 'project_id:' . PHP_EOL;
ProjectServer::useProject(2837);
$this->import_module_content();
DB::disconnect('custom_mysql');
}
/**
* @remark :导入扩展模块 (保留)
* @name :ceshis
* @author :lyh
* @method :post
* @time :2024/12/6 17:02
*/
public function import_module_content(){
$data = 'MBR10100CT,Rectifier/Schottky Barrier Rectifier,TO-220AB,100,5*2,common cathode,100,0.85,10,2500,175,-,Active,https://v6-file.globalso.com/upload/p/2837/files/MBR10100CT.pdf
MBR2060BCT,Rectifier/Schottky Barrier Rectifier,ITO-220AB,60,10*2,common cathode,150,0.75,50,5000,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/MBR2060BCT.pdf
MBR20150DCT,Rectifier/Schottky Barrier Rectifier,TO-263(D2PAK),150,10*2,common cathode,150,0.88,5,1500,175,-,Active,https://v6-file.globalso.com/upload/p/2837/files/MBR20150DCT.pdf
MUR2060CT,Rectifier/High Efficient Rectifier,TO-220AB,600,10*2,common cathode,150,1.7,1,500,150,50,Active,https://v6-file.globalso.com/upload/p/2837/files/MUR2060CT.pdf
MUR2040FCT,Rectifier/High Efficient Rectifier,ITO-220AB,400,10*2,common cathode,150,1.3,1,500,150,50,Active,https://v6-file.globalso.com/upload/p/2837/files/MUR2040FCT.pdf
DSEK20S04B,Rectifier/Ultra fast soft Recovery Rectifier,TO-252(DPAK),400,10*2,common cathode,125,1.25,2,500,175,35,Active,https://v6-file.globalso.com/upload/p/2837/files/DSEK20S04B.pdf
DSEK30S06D,Rectifier/Ultra fast soft Recovery Rectifier,TO-263(D2PAK),600,15*2,common cathode,150,1.7,2,500,175,35,Active,https://v6-file.globalso.com/upload/p/2837/files/DSEK30S06D.pdf
DSEK60H06P,Rectifier/Ultra fast soft Recovery Rectifier,TO-247AD,600,30*2,common cathode,300,1.7,5,500,175,60,Active,https://v6-file.globalso.com/upload/p/2837/files/DSEK60H06P.pdf
GBU410,Rectifier/Bridge Rectifier,GBU,1000,4,-,125,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBU410.pdf
GBU1510,Rectifier/Bridge Rectifier,GBU,1000,15,-,250,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBU1510.pdf
GBJ2510,Rectifier/Bridge Rectifier,GBJ,1000,25,-,300,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBJ2510.pdf
GBU1504H,Rectifier/High Efficient Bridge Rectifier,GBU,400,15,-,150,1.3,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBU1504H.pdf
GBU1506H,Rectifier/High Efficient Bridge Rectifier,GBU,400,15,-,150,1.7,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBU1506H.pdf
GBJ2504H,Rectifier/High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.3,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBJ2504H.pdf
GBJ2506H,Rectifier/High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.7,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/GBJ2506H.pdf
1N4007,Rectifier/Standard Recovery Rectifier,DO-41,1000,1,-,50,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/1N4007.pdf
1N5399,Rectifier/Standard Recovery Rectifier,DO-15,1000,1.5,-,75,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/1N5399.pdf
1N5408,Rectifier/Standard Recovery Rectifier,DO-27,1000,3,-,100,1,1,500,150,-,Active,https://v6-file.globalso.com/upload/p/2837/files/1N5408.pdf
RS1M,Rectifier/Fast Recovery Rectifier,SMA,1000,1,-,50,1.3,1,500,150,500,Active,https://v6-file.globalso.com/upload/p/2837/files/RS1M.pdf
RS2M,Rectifier/Fast Recovery Rectifier,SMB,1000,2,-,75,1.3,1,500,150,500,Active,https://v6-file.globalso.com/upload/p/2837/files/RS2M.pdf
RS3M,Rectifier/Fast Recovery Rectifier,SMC,1000,3,-,100,1.3,1,500,150,500,Active,https://v6-file.globalso.com/upload/p/2837/files/RS3M.pdf
SF28,Rectifier/Super fast Recovery Rectifier,DO-15,600,2,-,60,1.7,1,500,150,35,Active,https://v6-file.globalso.com/upload/p/2837/files/SF28.pdf
SF56G,Rectifier/Super fast Recovery Rectifier,DO-27,400,5,-,125,1.3,1,500,150,35,Active,https://v6-file.globalso.com/upload/p/2837/files/SF56G.pdf
DSE1006,Rectifier/Super fast Recovery Rectifier,TO-220AC,600,10,Single Positive,150,1.7,1,500,150,35,Active,https://v6-file.globalso.com/upload/p/2837/files/DSE1006.pdf
DSE1504F,Rectifier/Super fast Recovery Rectifier,ITO-220AC,400,15,Single Positive,150,1.4,1,500,150,35,Active,https://v6-file.globalso.com/upload/p/2837/files/DSE1504F.pdf';
$array = explode("\n", $data);
foreach ($array as $values){
$array1 = explode(',',$values);
$contentData = [
'name'=>$array1[0],
'route'=>'',
'project_id'=>2837,
'operator_id'=>6393,
'module_id'=>2,
];
$customModuleCategoryModel = new CustomModuleCategory();
if(!empty($array1[1])){
$cate_ids = '';
$cate_arr = explode('/',$array1[1]);
foreach ($cate_arr as $cateV){
$catInfo = $customModuleCategoryModel->read(['name'=>$cateV]);
if($catInfo !== false){
$cate_ids = $cate_ids.','.$catInfo['id'];
}
}
$contentData['category_id'] = empty($cate_ids) ? '' : $cate_ids.',';
}else{
$catInfo = $customModuleCategoryModel->read(['name'=>$array1[1]]);
if($catInfo !== false){
$contentData['category_id'] = ','.$catInfo['id'].',';
}
}
$customModuleContentModel = new CustomModuleContent();
$contentId = $customModuleContentModel->addReturnId($contentData);
$route = RouteMap::setRoute($array1[0],RouteMap::SOURCE_MODULE,$contentId,2837);
$customModuleContentModel->edit(['route'=>$route],['id'=>$contentId]);
$pd_extended_field_arr = [
[
'key'=>'pd_extended_field_1',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[2],
'content_id'=>$contentId,
'module_id'=>2,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_2',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[3],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_3',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[4],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_4',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[5],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_5',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[6],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_6',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[7],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_7',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[8],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_8',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[9],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_9',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[10],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_10',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[11],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_11',
'type'=>1,
'project_id'=>2837,
'values'=>$array1[12],
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
[
'key'=>'pd_extended_field_12',
'type'=>4,
'project_id'=>2837,
'values'=>json_encode([['url'=>$array1[13]]]),
'module_id'=>2,
'content_id'=>$contentId,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
],
];
$extendContentModel = new CustomModuleExtentContent();
$extendContentModel->insert($pd_extended_field_arr);
}
}
}