作者 刘锟

update

  1 +<?php
  2 +
  3 +namespace App\Console\Commands\Sync;
  4 +
  5 +use Illuminate\Console\Command;
  6 +use Illuminate\Support\Facades\DB;
  7 +use App\Models\SyncSubmitTask\SyncSubmitTask;
  8 +
  9 +/**
  10 + * 渠道信息
  11 + * Class ChannelInfo
  12 + * @package App\Console\Commands
  13 + * @author zbj
  14 + * @date 2023/6/27
  15 + */
  16 +class SyncChinaLog extends Command
  17 +{
  18 + /**
  19 + * The name and signature of the console command.
  20 + *
  21 + * @var string
  22 + */
  23 + protected $signature = 'sync_china_log';
  24 +
  25 + /**
  26 + * The console command description.
  27 + *
  28 + * @var string
  29 + */
  30 + protected $description = '同步国内数据库访问及询盘';
  31 +
  32 + /**
  33 + * Create a new command instance.
  34 + *
  35 + * @return void
  36 + */
  37 + public function __construct()
  38 + {
  39 + parent::__construct();
  40 + }
  41 +
  42 + public function handle()
  43 + {
  44 + $list = DB::connection('mysql_sh')->table('gl_sync_submit_task')->where('status', 0)->limit(30)->get();
  45 + $insert = [];
  46 + $ids = [];
  47 + foreach ($list as $item) {
  48 + $ids[] = $item->id;
  49 + $insert[] = [
  50 + 'type' => $item->type,
  51 + 'data' => $item->data,
  52 + 'created_at' => $item->created_at,
  53 + 'updated_at' => $item->updated_at,
  54 + ];
  55 + }
  56 +
  57 + DB::connection('mysql_sh')->table('gl_sync_submit_task')->whereIn('id', $ids)->update(['status' => 1]);
  58 +
  59 + SyncSubmitTask::insert($insert);
  60 + }
  61 +}
@@ -170,6 +170,26 @@ return [ @@ -170,6 +170,26 @@ return [
170 'prefix_indexes' => true, 170 'prefix_indexes' => true,
171 ], 171 ],
172 172
  173 +
  174 + 'mysql_sh' => [
  175 + 'driver' => 'mysql',
  176 + 'url' => env('DATABASE_URL'),
  177 + 'host' => env('DB_SH_HOST', '127.0.0.1'),
  178 + 'port' => env('DB_SH_PORT', '3306'),
  179 + 'database' => env('DB_SH_DATABASE', 'forge'),
  180 + 'username' => env('DB_SH_USERNAME', 'forge'),
  181 + 'password' => env('DB_SH_PASSWORD', ''),
  182 + 'unix_socket' => env('DB_SOCKET', ''),
  183 + 'charset' => 'utf8mb4',
  184 + 'collation' => 'utf8mb4_unicode_ci',
  185 + 'prefix' => '',
  186 + 'prefix_indexes' => true,
  187 + 'strict' => true,
  188 + 'engine' => null,
  189 + 'options' => extension_loaded('pdo_mysql') ? array_filter([
  190 + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
  191 + ]) : [],
  192 + ],
173 ], 193 ],
174 194
175 /* 195 /*