Demo.php 12.3 KB
<?php
/**
 * Created by PhpStorm.
 * User: zhl
 * Date: 2023/2/7
 * Time: 17:58
 */
namespace App\Console\Commands\Test;


use App\Helper\Arr;
use App\Helper\Translate;
use App\Models\Blog\Blog;
use App\Models\Blog\BlogCategory;
use App\Models\Com\KeywordVideoTask;
use App\Models\Com\KeywordVideoTaskLog;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\CustomModule\CustomModuleContent;
use App\Models\CustomModule\CustomModuleExtentContent;
use App\Models\Devops\ServerConfig;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp;
use App\Models\ExtentModule\ExtensionModuleValue;
use App\Models\File\File;
use App\Models\File\File as FileModel;
use App\Models\File\Image;
use App\Models\File\Image as ImageModel;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\Product\Keyword;
use App\Models\Product\KeywordRelated;
use App\Models\Product\Product;
use App\Models\Project\DeployOptimize;
use App\Models\Project\MinorLanguages;
use App\Models\Project\Project;
use App\Models\Purchaser\Purchaser;
use App\Models\Purchaser\PurchaserInfo;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BCustomTemplate;
use App\Models\Template\BTemplateCom;
use App\Services\AmazonS3Service;
use App\Services\ProjectServer;
use App\Utils\EncryptUtils;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;


class Demo extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'demo';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'demo';

    public function handle(){

            echo date('Y-m-d H:i:s') . 'project_id:' . PHP_EOL;
            ProjectServer::useProject(2837);
            $this->ceshi();
            DB::disconnect('custom_mysql');

        echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
    }

    public function ceshi(){
        $data = 'MBR10100CT,Schottky Barrier Rectifier,TO-220AB,100,5*2,common cathode,100,0.85,10,2500,175,-,Active
MBR2060BCT,Schottky Barrier Rectifier,ITO-220AB,60,10*2,common cathode,150,0.75,50,5000,150,-,Active
MBR20150DCT,Schottky Barrier Rectifier,TO-263(D2PAK),150,10*2,common cathode,150,0.88,5,1500,175,-,Active
MUR2060CT,High Efficient Rectifier,TO-220AB,600,10*2,common cathode,150,1.7,1,500,150,50,Active
MUR2040FCT,High Efficient Rectifier,ITO-220AB,400,10*2,common cathode,150,1.3,1,500,150,50,Active
DSEK20S04B,Ultra fast soft Recovery Rectifier,TO-252(DPAK),400,10*2,common cathode,125,1.25,2,500,175,35,Active
DSEK30S06D,Ultra fast soft Recovery Rectifier,TO-263(D2PAK),600,15*2,common cathode,150,1.7,2,500,175,35,Active
DSEK60H06P,Ultra fast soft Recovery Rectifier,TO-247AD,600,30*2,common cathode,300,1.7,5,500,175,60,Active
GBU410,Bridge Rectifier,GBU,1000,4,-,125,1,1,500,150,-,Active
GBU1510,Bridge Rectifier,GBU,1000,15,-,250,1,1,500,150,-,Active
GBJ2510,Bridge Rectifier,GBJ,1000,25,-,300,1,1,500,150,-,Active
GBU1504H,High Efficient Bridge Rectifier,GBU,400,15,-,150,1.3,1,500,150,-,Active
GBU1506H,High Efficient Bridge Rectifier,GBU,400,15,-,150,1.7,1,500,150,-,Active
GBJ2504H,High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.3,1,500,150,-,Active
GBJ2506H,High Efficient Bridge Rectifier,GBJ,600,25,-,250,1.7,1,500,150,-,Active
1N4007,Standard Recovery Rectifier,DO-41,1000,1,-,50,1,1,500,150,-,Active
1N5399,Standard Recovery Rectifier,DO-15,1000,1.5,-,75,1,1,500,150,-,Active
1N5408,Standard Recovery Rectifier,DO-27,1000,3,-,100,1,1,500,150,-,Active
RS1M,Fast Recovery Rectifier,SMA,1000,1,-,50,1.3,1,500,150,500,Active
RS2M,Fast Recovery Rectifier,SMB,1000,2,-,75,1.3,1,500,150,500,Active
RS3M,Fast Recovery Rectifier,SMC,1000,3,-,100,1.3,1,500,150,500,Active
SF28,Super fast Recovery Rectifier,DO-15,600,2,-,60,1.7,1,500,150,35,Active
SF56G,Super fast Recovery Rectifier,DO-27,400,5,-,125,1.3,1,500,150,35,Active
DSE1006,Super fast Recovery Rectifier,TO-220AC,600,10,Single Positive,150,1.7,1,500,150,35,Active
DSE1504F,Super fast Recovery Rectifier,ITO-220AC,400,15,Single Positive,150,1.4,1,500,150,35,Active';
        $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,
            ];
            $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'),
                ],
            ];
            $extendContentModel = new CustomModuleExtentContent();
            $extendContentModel->insert($pd_extended_field_arr);
        }
    }

    /**
     * @remark :更新产品
     * @name   :getProduct
     * @author :lyh
     * @method :post
     * @time   :2024/11/27 15:40
     */
    public function getProduct(){
        $productModel = new Product();
        $lists = $productModel->list(['status'=>['!=',3]]);
        if(!empty($lists)){
            foreach ($lists as $v){
                if(!empty($v['keyword_video_id'])){
                    foreach ($v['keyword_video_id'] as $val){
                        $keywordRelaModel = new KeywordRelated();
                        echo date('Y-m-d H:i:s') . 'keyword_id :'.$val . 'product_id :'.$v['id'] . PHP_EOL;
                        $keywordRelaModel->edit(['type'=>2],['keyword_id'=>$val,'product_id'=>$v['id']]);
                    }
                }
            }
        }
    }

    /**
     * @remark :复制表及结构
     * @name   :copyProduct
     * @author :lyh
     * @method :post
     * @time   :2024/11/27 16:09
     */
    public function copyProduct(){
        $tableName = 'gl_product';
        $copyTableName = 'gl_product_c';
        if (Schema::connection('custom_mysql')->hasTable($copyTableName)) {
            DB::connection('custom_mysql')->statement("DROP TABLE {$copyTableName}");
        }
        // 创建新表并复制数据
        DB::connection('custom_mysql')->statement("CREATE TABLE {$copyTableName} LIKE {$tableName}");
        DB::connection('custom_mysql')->statement("INSERT INTO {$copyTableName} SELECT * FROM {$tableName}");
    }

    /**
     * @remark :保存供应商详情
     * @name   :savePurchaserInfo
     * @author :lyh
     * @method :post
     * @time   :2024/5/29 16:38
     */
    public function savePurchaserInfo(){
        $purchaserModel = new Purchaser();
        $list = $purchaserModel->list();
        foreach ($list as $val){
            $project_id = $val['project_id'];
            $keyword = $val['keyword'];
            $data = json_decode($val['data'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
            $purchaserInfoModel = new PurchaserInfo();
            if(!empty($data)){
                foreach ($data as $k =>$v){
                    $v['project_id'] = $project_id;
                    $v['keyword'] = $keyword;
                    $v['email'] = json_encode($v['email'] ?? [],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
                    $v['mobile'] = json_encode($v['mobile'] ?? [],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
                    $v['social_media'] = json_encode($v['social_media'] ?? [],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
                    $v['image'] = str_replace('admin.hagro.cn','fob.ai.cc',$v['image'] ?? '');
                    $param = $v;
                    $info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer_id'=>$v['buyer_id'] ?? '','project_id'=>$project_id],['id']);

                    if($info === false){
                        echo date('Y-m-d H:i:s') . '执行新增 :' . PHP_EOL;
                        $purchaserInfoModel->add($param);
                    }else{
                        echo date('Y-m-d H:i:s') . '数据已存在 :'.$info['id'] . PHP_EOL;
                    }
                }
            }
        }
        return true;
    }
}